software engineering

TestMiner: Software Testing Analysis for GitHub Repositories

arXiv:2607.12223

summary

TestMiner is a tool that analyzes testing practices in GitHub repositories, providing statistics, test locations, metrics across releases, and dependency information, and has been used in an undergraduate software testing course.

Abstract

Software systems have unique testing characteristics. Some projects can emphasize unit tests, while others may focus on end-to-end testing. Test organization may vary across ecosystems: in languages like Python and Java, tests are typically placed in dedicated folders, whereas Go and Rust projects commonly co-locate tests with source code. These distinctions make it harder to understand how a project approaches testing. In this paper, we present TestMiner, a tool for exploring software testing in GitHub repositories. TestMiner provides an overview of a project's testing practices, including test statistics, test location, test metrics across releases, and dependencies related to testing. We used TestMiner in an undergraduate Software Testing course, where 50 students explored the testing practices of real-world GitHub repositories. Overall, students expressed positive feedback regarding TestMiner. They were able to critically explore a variety of testing practices, including test organization, test evolution, test fixtures, mocking, and edge-case testing. TestMiner is available at: https://andrehora.github.io/testminer. Screencast: https://youtu.be/w1sBgLTq-7Y.

Paper accepted to ICSME 2026

Topics & keywords

#software testing analysis#github repository mining#test organization#test evolution#educational toolstest miningtest metricstest locationdependency analysistest fixturesmocking
TestMiner: Software Testing Analysis for GitHub Repositories · wovepaper