Investigations of the software testing coupling effect
ACM Transactions on Software Engineering and Methodology (TOSEM)
Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
An experimental evaluation of data flow and mutation testing
Software—Practice & Experience
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
Computer
Self-Testable Components: From Pragmatic Tests to Design-for-Testability Methodology
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Efficient Strategies for Integration and Regression Testing of OO Systems
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Exploring Cost and Reliability Tradeoffs in Architectural Alternatives Using a Genetic Algorithm
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Investigating the use of analysis contracts to support fault isolation in object oriented code
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Investigating the use of analysis contracts to improve the testability of object-oriented code
Software—Practice & Experience
Evolutionary testing of classes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Hi-index | 0.00 |
Despite the growing interest for component-based systems, few works tackle the question of the trust we can bring into a component. This paper presents a method and a tool for building trustable OO components. It is particularly adapted to a design-by-contract approach, where the specification is systematically derived into executable assertions (invariant properties, pre/postconditions of methods). A component is seen as an organic set composed of a specification, a given implementation and its embedded test cases.We propose an adaptation of mutation analysis to the OO paradigm that checks the consistency between specification/implementation and tests. Faulty programs, called 驴mutants驴, are generated by systematic fault injection in the implementation. The quality of tests is related to the mutation score, i.e. the proportion of faulty programs it detects. The main contribution of this is to show how a similar idea can be used in the same context to address the problem of effective test optimization. To map the genetic analogy to the test optimization problem, we consider mutant programs to be detected as the initial preys population and test cases as the predators population.The test selection consists of mutating the 驴predator驴 test cases and crossing them over in order to improve their ability to kill the prey population. The feasibility of components validation using such a 驴Darwinian驴 model and its usefulness for test optimization are studied.