A Method for Finding Missing Unit Tests

Daniel Gaston,James Clause

2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)(2020)

引用 6|浏览24
暂无评分
摘要
Because tests are important to the development process, developers need to know when a test suite is missing tests. Missing tests - tests that should be included in a test suite but are not - reduce the utility that developers can derive from a test suite. Currently, developers find missing tests by using coverage information such as line coverage or mutation coverage. However, coverage metrics are limited in their ability to reveal missing tests and show only what code needs to be tested, not how to test it. We present a method for finding missing tests that addresses the shortcomings of coverage metrics based on the fact that similar code entities are often tested in the same way. We are able to find what code is missing tests by identifying code entities which are not tested in the same way as other similar entities. We then show how a code entity with a missing test should be tested by leveraging the tests written for those similar entities. Our results show that our approach offers several benefits over a coverage-based approach and is able to find missing tests in a range of software projects while generating few erroneous identifications of missing tests.
更多
查看译文
关键词
software testing,static analysis,maintenance
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要