Testing research software: an in-depth survey of practices, methods, and tools

Nasir U. Eisty, Upulee Kanewala, Jeffrey C. Carver

Research output: Contribution to journalArticlepeer-review

Abstract

Context: Research software is essential for developing advanced tools and models to solve complex research problems and drive innovation across domains. Therefore, it is essential to ensure its correctness. Software testing plays a vital role in this task. However, testing research software is challenging due to the software’s complexity and to the unique culture of the research software community. Objective: Building on previous research, this study provides an in-depth investigation of testing practices in research software, focusing on test case design, challenges with expected outputs, use of quality metrics, execution methods, tools, and desired tool features. Additionally, we explore whether demographic factors influence testing processes. Method: We survey research software developers to understand how they design test cases, handle output challenges, use metrics, execute tests, and select tools. Results: Research software testing varies widely. The primary challenges are test case design, evaluating test quality, and evaluating the correctness of test outputs. Overall, research software developers are not familiar with existing testing tools and have a need for new tools to support their specific needs. Conclusion: Allocating human resources to testing and providing developers with knowledge about effective testing techniques are important steps toward improving the testing process of research software. While many industrial testing tools exist, they are inadequate for testing research software due to its complexity, specialized algorithms, continuous updates, and need for flexible, custom testing approaches. Access to a standard set of testing tools that address these special characteristics will increase level of testing in research software development and reduce the overhead of distributing knowledge about software testing.

Original languageEnglish
Article number81
JournalEmpirical Software Engineering
Volume30
Issue number3
DOIs
StatePublished - Jun 2025

Keywords

  • Interview
  • Research software engineering
  • Software engineering
  • Software quality
  • Software testing
  • Survey

Fingerprint

Dive into the research topics of 'Testing research software: an in-depth survey of practices, methods, and tools'. Together they form a unique fingerprint.

Cite this