Obsidian is a unit test generator for java built for the JUnit framework. Obsidian concentrates on building standardized test implementations that are comprehensive and easy to maintain, allowing the test engineer to concentrate on test case instantiation. This is in contrast to the strategies of many unit test generators, which focus on generating test cases. These generated test cases are coupled with implementations that are often difficult to maintain or non comprehensive. Obsidian employs a set of design patterns that are built around a method test’s necessities for compilation, exception handling, and test case iteration to generate these implementations.
Obsidian has been a project 2 years in development at the College of Charleston's CIRDLES (Cyber Infrastructure Research and Development Lab for the Earth Sciences). It was originally conceived by Hunter Hegler when he was writing unit tests for a Java project. Noticing and categorizing the common elements he came across when generating unit tests led him to believe that he could automate the process, and that is how Obsidian was born.
Team Obsidian was created in order to take the project from a personal bit of code, to a fully functioning Open Source Project. It is our hope that Obsidian will become a useful tool in unit test generation.
Dr. James Bowring, for his continued advice and encouragement.
Original Funding for this project was provided by grant EAR-0930166 from the National Science Foundation.
Special Thanks to C.I.R.D.L.E.S at the College of Charleston.