Jumble, a mutation testing tool, is designed to work with JUnit and operates at a class level.
One of the advantages of Jumble is that it is easy to use. It provides an example of a Java class called "Foo" with some JUnit tests in a class named "FooTest". Jumble takes the unmodified Foo class and runs the unit tests on it to ensure that they all pass and to measure the time taken by each test. It then mutates Foo in various ways and repeats the process to see whether the tests detect the mutation. The process continues until all mutations of Foo have been tried.
The output of Jumble may look something like this: Mutating Foo Tests: FooTest Mutation points = 12, unit test time limit 2.02s .. M FAIL: Foo:31: negated conditional M FAIL: Foo:33: negated conditional M FAIL: Foo:34: - -> + M FAIL: Foo:35: negated conditional ...... Score: 67%
The output reveals that Jumble has tried 12 different mutants of Foo and the unit tests (in FooTest) have successfully detected changed behavior in 8 out of 12 cases (indicated by a "."). In the other four cases, however, the unit tests failed to detect the mutation. An example of this is when an if (C) decision on line 31 was mutated to if (!C). The unit tests still passed, indicating that they need improvement.
In conclusion, Jumble is an impressive and useful software testing tool that is user-friendly and easy to use. It detects errors in software testing efforts, and also provides great insight into improving the testing process. The initial public version of Jumble has been recently released, and although it has been in use daily within ReelTwo.com for years, there is no better time than now to experience it firsthand.
Version 1.0.0: N/A