On the Importance of Unit Tests

Caused by the continuous developement of new features and functionalities, the complexity of the UnRisk software package has grown rapidly over the last years. In many situations, additional features, which are needed by our customers, are integrated by modifications of existing and tested source code. 
The main problem is, that one has to be very careful to guarantee, that changes of the application do not break something that used to work before. To avoid these undesirable side effects of new implementations, a large portion of the  UnRisk functionality is tested on different platforms (Windows, Linux and Mac OS X) via automatically scheduled unit tests. Within these tests, valuation and calibration results are compared to reference numbers, and if deviations are not within a given tolerance level, the corresponding test is flagged as failed. 
The developers, which have modified the sources since the last build, are notified by email about the status of the test results.
Here is an example of the test summary, for the case where all unit tests succeeded:
Since the UnRisk package is built and tested on a daily basis, it helps a lot to immediatly detect problems, which occur in the software development process.