Unit testing and Test-Driven-Development (TDD) are an important part of every Agile software testing strategy. One of the issue associated to these techniques is the coupling between the source code and its tests. In his blog post, Tingan Ho presents a testing strategy, called Baseline Testing, that should solve the coupling issues with TDD.
The ideas of Tingan Ho are based on the testing strategy of the TypeScript compiler. This blog post starts with some basic information about automated testing and the type of problems that it creates for software developers. One of them is that the validation of the unit test is included in the test code. If the source code changes, then you need to change your testing code. In the Baseline Testing approach, tests record and store all results and match them with a reference baseline, which consists of the previous accepted test results. Baseline Testing does the contrary to TDD as it fits the tests after the source code. However, Tingan Ho writes that his approach allows to be more productive than TDD.
His conclusion is that “Baseline Testing is a bold, but very effective strategy. It is bold because it questions an historic sound testing strategy — TDD. It is effective, because with just a press of a button, you have created new test verifications. What took hours and days to refactor with TDD - now only take seconds to do with Baseline Testing.”
Read the complete blog post on https://medium.com/@tinganho/baseline-acceptance-driven-development-f39f7010a04