Communications of the ACM
Test-Case Calculation through Abstraction
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Test Case Generation by OCL Mutation and Constraint Solving
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Formal Aspects of Computing
Conformance Testing of Hybrid Systems with Qualitative Reasoning Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Test Case Generation by Contract Mutation in Spec#
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated Conformance Verification of Hybrid Systems
QSIC '10 Proceedings of the 2010 10th International Conference on Quality Software
Efficient Mutation Killers in Action
ICST '11 Proceedings of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
An Analysis and Survey of the Development of Mutation Testing
IEEE Transactions on Software Engineering
From faults via test purposes to test cases: on the fault-based testing of concurrent systems
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Connectors as designs: Modeling, refinement and test case generation
Science of Computer Programming
Towards Symbolic Model-Based Mutation Testing: Pitfalls in Expressing Semantics as Constraints
ICST '12 Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
Hi-index | 0.00 |
In this paper we give an overview of our work on combining model-based testing and mutation testing. Model-based testing is a black-box testing technique that avoids the labour of manually writing hundreds of test cases, but instead advocates the capturing of the expected behaviour in a model of the system-under-test. The test cases are automatically generated from this model. The technique is receiving growing interest in the embedded-systems domain, where models are the rule rather than the exception. Mutation testing is a technique for assessing and improving a test suite. A number of faulty versions of a program-under-test are produced by injecting bugs into its source code. These faulty programs are called mutants. A tester analyses if his test suite can "kill" all mutants. We say that a test kills a mutant if it is able to distinguish it from the original. The tester improves his test suite until all faulty mutants get killed. In model-based mutation testing, we combine the central ideas of model-based testing and mutation testing: we inject bugs in a model and generate a test suite that will kill these bugs. In this paper, we discuss its scientific foundations and tools. The foundations include semantics and conformance relations; the supporting tools involve model checkers, constraint solvers and SMT solvers.