New technology simplifies software unit testing in C++

Version 4.0 of the TESSY unit testing tool is now officially available with improved C++ support.

TESSY V4.0 is a tool for automated module, unit and integration testing of embedded software written in C and C++. After a long beta period, the official release of version 4.0.9 is finally here.

One key feature of this new major release is greatly improved support for testing embedded software written in C++ thanks to a new clang-based parsing technology. This allows TESSY to collect more insightful data when analyzing software for testing and then offer useful picklists, for example, of possible constructors for instantiating a test object. Using this information, TESSY can also provide automatic stubs for methods called by the test object. It is also possible to test templates and derived classes.

Another major new feature in TESSY V4.0 is the ability to inherit test cases. Test objects often behave nearly identically and differ only in a few test cases. If the test cases are specified for a certain behavior of a test object, you can have a similar test object inherit these test cases and adjust them to the different behavior. The result may be that an inherited test case yields a different result, the inherited test case is removed or another test case is added. Instead of simply copying test cases from one test object to a similar test object, inheriting offers an advantage when the same behavior in both test objects changes. All that is then required is a single change of the test case(s) that exhibit the changed behavior. The change is then inherited by the other cases with very little effort. In contrast, copying the test cases would require manually copying the changes as well, which is time-consuming and error-prone.

In TESSY V4.0, you now have the option to create artificial test objects. In earlier versions of TESSY, potential test objects were identified by analyzing the source code, i.e. the source code had to be available. In TESSY V4.0, test objects can also be created before the source code is available. You can even create test cases for these artificial test objects and use the data of these test objects later when the actual test objects from the source code are available.

One improvement to TESSY that is not immediately apparent in the user interface is the execution speed of tests on multi-core processors. This is made possible by parallelizing TESSY's internal process structure in order to take advantage of the power of modern processor architectures. This is beneficial whenever an increasing number of tests are started simultaneously, which is particularly the case when all available test cases have to be executed as part of continuous integration (CI) or regression testing.

In addition, the new version of TESSY includes additional commands that can be executed in the TESSY command line interface. When executing tests in the command line interface, there are also improvements to streamline the whole process, without requiring user interaction.

In TESSY V4.0, you can exclude test cases from the test if, for example, you know that a specific test case would result in a division by zero and you want to avoid this.

TESSY V4.0 includes additional SVN keywords whose values, such as “Id”, “Date”, etc. that have been transferred from the source file to the test report.

TESSY V4.0.9 (and all following versions V4.0.x) are pre-qualified by TÜV SÜD for use in safety-related software development according to IEC 61508 and ISO 26262.

TESSY is available from Hitex GmbH.