The German start-up “ReTest” brings artificial intelligence (AI) into software testing. To this end, it propagates an innovative testing approach, which is a combination of “intelligent” monkey testing and “difference testing” and works actually more like a GUI version management than conventional testing. Version 1.0 of the test tool for Java Swing is now available for download.
Originally created as a research project at the University of Saarland, the prototype was developed into a product together with pilot customers in over two years. It incorporates the latest scientific findings and methods in testing. An open-source version is planned and will be available on GitHub probably by September.
Among other things, the tool implements a monkey testing approach whereby the monkey (called Surili after the monkey species on the island of Java) is artificially intelligent and can be trained by users via capturing of user actions. In order to circumvent the oracle problem, a new testing paradigm called “difference testing” is being propagated: The current state of the UI is automatically recorded and deviations to this state are displayed after each test run. These changes can then be automatically adopted or permanently ignored, similar to a version management system. Difference Testing promises little effort for test creation and maintenance and the tests are more robust than those of many other GUI testing tools. When difference testing is combined with monkey testing, test cases are created automatically. The new approach was well received in the Java community so far. Supporters of the startup include NVIDIA and Microsoft.
One of the founders, Dr. Jeremias Roessler, has already presented the underlying approach at several national and international conferences. You can meet him at the German CeBIT fair, the CodeFest in Novosibirsk and a TestBash in Belfast to name just a few.