Abstract

Many test case prioritization (TCP) studies based on regression testing using a code-based development approach have appeared. However, few studies on model-based mutation testing have explored what kind of fault seeding is appropriate or how much the code-based results differ. In this paper, as automatic seeding for the mutation generation, several mutation operators were employed for the UML statechart. Here, we suggest mutation testing employing the model-based development approach and a new TCP method based on an alternating variable method (AVM). We statistically compare the average percentage of the fault detection (APFD) results of the new method to other TCP methods such as a greedy algorithm for code coverage or fault exposure possibility. Finally, in empirical studies, the model-based TCP results for a power window switch module, a body control module, and a passive entry and start system are derived; these are real industrial challenges in the automotive industry.

Highlights

  • Model-based development approaches are required because software is becoming increasingly complex

  • Test cases were generated from a unified modeling language (UML) model for the power-window switch (PWS) module; iterative test execution was optimized via prioritization of the test suite

  • We used a total of five existing code-based test case prioritization (TCP) methods for model-based mutation testing

Read more

Summary

Introduction

Model-based development approaches are required because software is becoming increasingly complex. These results showed that mutation operators were more efficient to generate test cases based on mutation testing within a given time Such TCP techniques have been used to compare algorithms that derive objective functions including the average probability of fault detection (APFD), or average probability of fault detection with cost (APFDc); these are traditional measures. The previous TCP was code-based; it is necessary to validate that the same objective functions can be used for model-based mutation testing featuring automatic fault seeding using mutation operators. We compare a TCP method based on model-based development approaches with traditional code-based results for mutation testing. With our research questions in mind, we generate test cases to kill mutants generated by the mutation operators and compare the model-based and code-based results of TCP using APFD as the objective function.

Background
The Model-Based Development Approach
Test Case Optimization
Test Case minimization
Test Case Selection
Test Case Prioritization
Mutation Testing
Search Techniques
Model-Based Mutation Testing
Model-Based Test Data Generation
State Chart-Based Mutation Operators
Mutation Method
The Triangle Classification Example
Empirical Studies
Power-Window Switch Module
Body Control Module
Passive Entry Passive Start System
Results
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call