STclass is a Java testing software equipped with a Contract Based Built-in Testing Framework (CBBT), designed for efficient and accurate software testing.
One of the outstanding key features of STclass is its runtime evaluable contract definition and evaluation. This framework supports OCL-like class invariants, pre and postconditions on methods, and contracts defined in javadoc comments. Contracts can be inherited from parent class and interfaces following the Meyer's rules.
STclass provides excellent class level unit testing capabilities, organized in TestUnits, TestCases, and TestSuites. TestCase supports individual setups and teardown actions, while TestUnit can participate in more than one TestCase. The framework is contract-based, with TestUnits used to define only scenarios, while oracles are evaluated by contracts. Tests are inheritable from parent classes and interfaces, making testing even more straightforward.
With a preprocessor generating instrumented code with a main function, running the test is as simple as running the class itself. Options manage the test conditions, making it possible to launch TestUnits individually in verification mode. Users can perform package or system tests for comprehensive testing. Test results are saved in XML format, and post-processing tools create HTML reports. Using the JIP profiler, a statistical and profiling analysis can be performed during the test, and the results are added to the HTML report.
In the latest release, STclass has fixed several bugs and has changed its option management system that is now based on property files. The framework is better integrated with Ant, and IDEs including NetBeans and Eclipse are now supported. A new "code_cover" command has been added that enables coverage tests with EMMA, making testing even more comprehensive.
Overall, STclass is a reliable and essential testing framework that every Java developer should have in their toolbelt. Its flexibility, ease of use, and integration capabilities make testing a seamless process, ensuring high-quality software that meets the user's needs.
Version 4.0 RC7: N/A