During a project development engineers should provide reliability of implemented system. It is worth to create a solution to automatically validate each module and the whole application. One of the method to taking care about the code are regression tests. Regression testing is a type of software testing that protect our existing code against the errors caused by the patches, enhancements or other changes. One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the same software.
How it works? Please take a look at the picture below. The most simple regression test framework will compare reference file with the current results.
The problem is: how to create reference files? In most case we could use golden reference model – the reference library or create them manually. Sometimes we haven’t got any golden reference model or we don’t know exactly how specific module should work. In that case it should be considered to treat the current result as reference files. Such approach helps us to track results of our system during the implementation and either fix our code or update the reference files.
Please find the bash implementation of the regression testing framework on my GITHub profile. It allows to compare current results with the reference files, define different test-cases without any programming skills, generate reference files as it was described above. I encourage you to use it and share it.