Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
ClassBench: a framework for automated class testing
Software—Practice & Experience
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Generating test data from SOFL specifications
Journal of Systems and Software
Generating finite state machines from abstract state machines
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Computer
The State-Based Testing of Object-Oriented Programs
ICSM '93 Proceedings of the Conference on Software Maintenance
Object state testing and fault analysis for reliable software systems
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
A Case Study Using the Round-Trip Strategy for State-Based Class Testing
ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
Proceedings of the 2003 ACM symposium on Applied computing
Object State Testing for Object-Oriented Programs
COMPSAC '95 Proceedings of the 19th International Computer Software and Applications Conference
Assessing and Improving State-Based Class Testing: A Series of Experiments
IEEE Transactions on Software Engineering
Strengthening Method Contracts for Objects
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
A Multipurpose Code Coverage Tool for Java
HICSS '07 Proceedings of the 40th Annual Hawaii International Conference on System Sciences
Experimental assessment of random testing for object-oriented software
Proceedings of the 2007 international symposium on Software testing and analysis
Assessing, Comparing, and Combining Statechart- based testing and Structural testing: An Experiment
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Testing Software Design Modeled by Finite-State Machines
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Adequate testing of a class requires testing valid and invalid sequences of class method interactions. In this paper, we show that class contracts can be used to generate effective state based unit tests algorithmically for testing meaningful interactions between methods. Using an abstract state configuration for the object and an initial abstract state, we incrementally search for the methods those can be invoked in the current state and compute resulting abstract states. The same is repeated for each newly generated abstract state till no more new abstract states are generated. This search generates a directed graph from which test sequences can easily be obtained. We applied the proposed approach to test three Java programs seeded with mutation faults and obtained high mutation scores.