White Papers > Finding Bugs in C Code with Reactis for C

Download: PDF  



 

6  Regression Testing

The automatic test-generation and execution offered by Reactis for C enables engineers to easily check whether a program conforms to the behavior of a previous version.

A crucial aspect of the tests generated by Reactis Tester is that they include all program outputs as well as inputs. Hence these tests contain all the information needed to ensure that a revised version of a program conforms to a previous version.


A
work-flow diagram shows an old C program being
used as input to Reactis Tester, which produces a
test suite as output. The test suite and a new version
of the same C program are sent as input to a second
instance of Reactis Tester, which produces a second
test suite as output. This second test suite contains
the tests for which the output of the new program
fails to match the output of the old program.
Figure 17: Performing regression testing with Reactis for C.

Figure 17 shows the work-flow when using Reactis for C to perform regression testing. The basic steps required to perform regression testing with Reactis for C are as follows:

  1. Generate a test suite from the older version of the C program.
  2. For each test in the suite, execute the new version of the software using the input values contained in the test.
  3. Compare the output values produced by the software with those stored in the test.
  4. Record any discrepancies.

The net effect of regression testing with Reactis for C is better-quality software at a lower cost. Because good test data is generated and run automatically, less engineer-time is required to create and run tests.