One of the key goals for Antha is to facilitate the development of quality
This is intended to be analogous with the process of unit testing in software development. Developing tests to identify when a particular piece of code is behaving as expected has many benefits: in the first place it requires the author to specify all of the required behaviour upfront, providing an authoratitive definition of the function of a particular operation.
Secondly and more importantly it provides a mechanism to identify when changes within the code or its dependencies have introduced errors. This greatly facilitates troubleshooting a highly complex software system and prevents many errors from propagating and producing unexpected behaviour. Tests are run automatically every time the software is built into an application, providing immediate error checking.
There is a strong similarity between these concepts and the kinds of quality control procedures which are usually adopted for clinical assays. While there are some domain differences the basic idea of determining the limits of validity of a process is very similar.
The Antha language defines unit tests using the validation section, which is a standard
part of any
An example of this can be seen in the Bradford example
The Antha validation section provides the system with information on the status of
This helps to address one difficulty with the application of unit testing to this
domain: in principle it is necessary to design unit tests for software to test the
full range of possible