The Science of Programming
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Reo: a channel-based coordination model for component composition
Mathematical Structures in Computer Science
International Journal on Software Tools for Technology Transfer (STTT) - Special section on high-level test of complex systems
Test Case Generation by OCL Mutation and Constraint Solving
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Practical Model-Based Testing: A Tools Approach
Practical Model-Based Testing: A Tools Approach
Formal Aspects of Computing
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
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
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
A taxonomy of model-based testing approaches
Software Testing, Verification & Reliability
Efficient Refinement Checking for Model-Based Mutation Testing
QSIC '12 Proceedings of the 2012 12th International Conference on Quality Software
Hi-index | 0.00 |
In this talk I will discuss the combination of 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 talk, I will discuss its scientific foundations, tools, and results. The foundations include semantics and conformance relations; the supporting tools involve model checkers, constraint solvers and SMT solvers; our experimental results are taken from two European projects on embedded-systems. I will conclude with a proposal how model-based mutation testing can be integrated into an agile, iterative development process.