Object-oriented subsystem specification
The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
Software testing based on formal specifications: a theory and a tool
Software Engineering Journal
A note on inheritance and state machines
ACM SIGSOFT Software Engineering Notes
Integrated object-oriented testing and development processes
Communications of the ACM
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Planning Extreme Programming
An Informal Formal Method for Systematic JUnit Test Case Generation
Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe 2002
The Rational Unified Process: An Introduction
The Rational Unified Process: An Introduction
Extreme Programming Refactored: The Case Against XP
Extreme Programming Refactored: The Case Against XP
Testing Software Design Modeled by Finite-State Machines
IEEE Transactions on Software Engineering
Where do unit tests come from?
XP'03 Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering
Automated Software Engineering
Hi-index | 0.00 |
The eXtreme Programming (XP) method eschews all formal design, but compensates for this by rigorous unit testing. Test-sets, which constitute the only enduring specification, are intuitively developed and so may not be complete. This paper presents a method for generating complete unit test-sets for objects, based on simple finite state machines. Using this method, it is possible to prove that saved regression test-sets do not provide the expected guarantees of correctness when applied to modified or extended objects. Such objects, which pass the saved tests, may yet contain introduced faults. This puts the whole practice of regression testing in XP into question. To obtain the same level of guarantee, tests must be regenerated from scratch for the extended object. A notion of guaranteed, repeatable quality after testing is defined.