Test-Driven Development in HPC Science: A Case Study
Aziz Nanthaamornphong, Jeffrey C. Carver · Computing in Science & Engineering · 2018
Many scientific software developers have applied software engineering practices in their work in recent years. Agile methods are gaining increased interest from both industry and academia, including scientific application domains. Test-driven development (TDD) and refactoring practices are critical to the success of agile methods. Although many scientific projects employ agile practices, the effect of TDD on scientific software development remains unknown and should thus be investigated. The authors investigated the effects of using TDD to develop scientific software in a high-performance computing environment, finding both advantages and disadvantages. In particular, they observed that developers face problems with writing unit tests and with a lack of experience with software engineering practices.