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
. 2022 Mar;8(3):000790.
doi: 10.1099/mgen.0.000790.

Software testing in microbial bioinformatics: a call to action

Affiliations

Software testing in microbial bioinformatics: a call to action

Boas C L van der Putten et al. Microb Genom. 2022 Mar.

Abstract

Computational algorithms have become an essential component of research, with great efforts by the scientific community to raise standards on development and distribution of code. Despite these efforts, sustainability and reproducibility are major issues since continued validation through software testing is still not a widely adopted practice. Here, we report seven recommendations that help researchers implement software testing in microbial bioinformatics. We have developed these recommendations based on our experience from a collaborative hackathon organised prior to the American Society for Microbiology Next Generation Sequencing (ASM NGS) 2020 conference. We also present a repository hosting examples and guidelines for testing, available from https://github.com/microbinfie-hackathon2020/CSIS.

Keywords: computational biology; continuous integration; software testing.

PubMed Disclaimer

Conflict of interest statement

The authors declare that there are no conflicts of interest.

Figures

Fig. 1.
Fig. 1.
Testing strategies. (a) White-box vs. black-box testing. In white-box testing, the tester knows the underlying code and structure of the software, where the tester does not know this in black-box testing. Note that this distinction is not strictly dichotomous and is considered less useful nowadays (b) Unit vs. integration vs. system testing. When software comprises several modules, it is possible to test each single module (unit testing), groups of related modules (integration testing) or all modules (system testing). Note that the terms white-box testing and unit testing are sometimes used interchangeably but relate to different concepts.

References

    1. Stodden V, Seiler J, Ma Z. An empirical analysis of journal policy effectiveness for computational reproducibility. Proc Natl Acad Sci U S A. 2018;115:2584–2589. doi: 10.1073/pnas.1708290115. - DOI - PMC - PubMed
    1. Krafczyk M, Shi A, Bhaskar A, Marinov D, Stodden V. Proceedings of the 2nd International Workshop on Practical Reproducible Evaluation of Computer Systems. Phoenix, AZ, USA: Association for Computing Machinery; 2019. Scientific tests and continuous integration strategies to enhance reproducibility in the scientific software context; pp. 23–28.
    1. Chang G, Roth CB, Reyes CL, Pornillos O, Chen Y-J, et al. Retraction. Science. 2006;314:1875. doi: 10.1126/science.314.5807.1875b. - DOI - PubMed
    1. Hall BG, Salipante SJ. Retraction: Measures of clade confidence do not correlate with accuracy of phylogenetic trees. PLoS Comput Biol. 2007;3:e158. doi: 10.1371/journal.pcbi.0030158. - DOI - PMC - PubMed
    1. Busby B, Lesko M, August 2015 and January 2016 Hackathon participants. Federer L. Closing gaps between open software and public data in a hackathon setting: User-centered software prototyping. F1000Res. 2016;5:672. doi: 10.12688/f1000research.8382.2. - DOI - PMC - PubMed

Publication types

LinkOut - more resources