JWalk: A tool for lazy, systematic testing of java classes by design introspection and user interaction

  • Simons A
  • 31


    Mendeley users who have this article in their library.
  • 17


    Citations of this article.


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. © 2007 Springer Science+Business Media, LLC.

Author-supplied keywords

  • Agile methods
  • Algebraic testing
  • JUnit
  • JWalk
  • Lazy specification
  • Lazy systematic testing
  • Operational abstraction
  • State-based testing
  • Unit testing

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document


  • Anthony J.H. Simons

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free