Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2016 Aug 10:5:1946.
doi: 10.12688/f1000research.9315.1. eCollection 2016.

Unit testing, model validation, and biological simulation

Affiliations

Unit testing, model validation, and biological simulation

Gopal P Sarma et al. F1000Res. .

Abstract

The growth of the software industry has gone hand in hand with the development of tools and cultural practices for ensuring the reliability of complex pieces of software. These tools and practices are now acknowledged to be essential to the management of modern software. As computational models and methods have become increasingly common in the biological sciences, it is important to examine how these practices can accelerate biological software development and improve research quality. In this article, we give a focused case study of our experience with the practices of unit testing and test-driven development in OpenWorm, an open-science project aimed at modeling Caenorhabditis elegans. We identify and discuss the challenges of incorporating test-driven development into a heterogeneous, data-driven project, as well as the role of model validation tests, a category of tests unique to software which expresses scientific models.

Keywords: C. elegans; biology; model; quality control; software; testing; validation.

PubMed Disclaimer

Conflict of interest statement

No competing interests were disclosed.

Figures

Figure 1.
Figure 1.. Diagram of some of the key OpenWorm modules and their corresponding testing frameworks.
Figure 2.
Figure 2.. Graphical output from Listing 6, showing a failed test which alerts developers to an inconsistency between model and data.
Figure 3.
Figure 3.. Sample output from the OpenWorm continuous integration dashboard.
Each row corresponds to a single set of contributions, known as a commit, submitted by a given developer. A commit is assigned a build number, which is given in the second column, and the result of the build process is indicated by the color of the corresponding row. If any of the unit tests fail, the build will be marked as failed (errored, in red), and the code contributions will be rejected. The developer is then responsible for identifying and fixing the corresponding bugs, and resubmitting their contributions to the code repository.

References

    1. Takahashi K, Yugi K, Hashimoto K, et al. : Computational Challenges in Cell Simulation: A Software Engineering Approach. IEEE Intelligent Systems. 2002;17(5):64–71. 10.1109/mis.2002.1039834 - DOI
    1. Macklin DN, Ruggero NA, Covert MW: The future of whole-cell modeling. Curr Opin Biotechnol. 2014;28:111–115. 10.1016/j.copbio.2014.01.012 - DOI - PMC - PubMed
    1. Gewaltig MO, Cannon R: Current practice in software development for computational neuroscience and how to improve it. PLoS Comput Biol. 2014;10(1):e1003376. 10.1371/journal.pcbi.1003376 - DOI - PMC - PubMed
    1. Beck K: Test Driven Development: By Example.Addison Wesley,2002. Reference Source
    1. Maximilien EM, Williams L: Assessing test-driven development at IBM.In Software Engineering, 2003. Proceedings. 25th International Conference on.IEEE,2003;564–569. 10.1109/ICSE.2003.1201238 - DOI