Case studies on testing object-oriented programs
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Software testing based on formal specifications: a theory and a tool
Software Engineering Journal
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The ASTOOT approach to testing object-oriented programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
In black and white: an integrated approach to class-level testing of object-oriented programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
TACCLE: a methodology for object-oriented software testing at the class and cluster levels
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Addressing dynamic issues of program model checking
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Algebraic Semantics of Imperative Programs
Algebraic Semantics of Imperative Programs
Generating finite state machines from abstract state machines
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Software Engineering Using the Upedu
Software Engineering Using the Upedu
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Automated Software Engineering
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
TestEra: A Novel Framework for Automated Testing of Java Programs
Proceedings of the 16th IEEE international conference on Automated software engineering
Dynamically discovering likely program invariants
Dynamically discovering likely program invariants
Confirming Configurations in EFSM Testing
IEEE Transactions on Software Engineering
A Tool for Writing and Debugging Algebraic Specifications
Proceedings of the 26th International Conference on Software Engineering
An approach to testing specifications
SIGSOFT '83 Proceedings of the symposium on High-level debugging
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
Parameterized unit tests with unit meister
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamically discovering likely interface invariants
Proceedings of the 28th international conference on Software engineering
Inferring state-based behavior models
Proceedings of the 2006 international workshop on Dynamic systems analysis
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
From daikon to agitator: lessons and challenges in building a commercial tool for developer testing
Proceedings of the 2006 international symposium on Software testing and analysis
DSD-Crasher: a hybrid analysis tool for bug finding
Proceedings of the 2006 international symposium on Software testing and analysis
A theory of regression testing for behaviourally compatible object types: Research Articles
Software Testing, Verification & Reliability - UKTest 2005: The Third U.K. Workshop on Software Testing Research
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Lazy Systematic Unit Testing: JWalk versus JUnit
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
Where do unit tests come from?
XP'03 Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering
Testing with guarantees and the failure of regression testing in extreme programming
XP'05 Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering
Symstra: a framework for generating object-oriented unit tests using symbolic execution
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Eclat: automatic generation and classification of test inputs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Test generation based on control and data dependencies within system specifications in SDL
Computer Communications
Sound empirical evidence in software testing
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unit-testing tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java's reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class's method protocols and may be directed to explore the space of algebraic constructions, or the intended design state-space of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated state-based testing, from a specification that was acquired incrementally.