There has been a significant amount of interest regarding the use of diversity-based testing techniques in software testing over the past two decades. Diversity-based testing (DBT) technique uses similarity metrics to leverage the dissimilarity between software artefacts - such as requirements, abstract models, program structures, or inputs - in order to address a software testing problem. DBT techniques have been used to assist in finding solutions to several different types of problems including generating test cases, prioritising them, and reducing very large test suites. This paper is a systematic survey of DBT techniques that summarises the key aspects and trends of 144 papers that report the use of 70 different similarity metrics with 24 different types of software artefacts, which have been used by researchers to tackle 11 different types of software testing problems. We further present an analysis of the recent trends in DBT techniques and review the different application domains to which the techniques have been applied, giving an overview of the tools developed by researchers to do so. Finally, the paper identifies some DBT challenges that are potential topics for future work.
翻译:过去二十年间,基于多样性的测试技术在软件测试领域的应用引起了广泛关注。基于多样性的测试技术利用相似性度量方法,通过衡量软件制品(如需求、抽象模型、程序结构或输入)之间的差异性来解决软件测试问题。该技术已被用于辅助解决多种类型的问题,包括生成测试用例、排序测试用例以及缩减大规模测试集。本文对基于多样性的测试技术进行了系统性综述,总结了144篇相关论文的关键方面和发展趋势。这些论文报告了70种不同的相似性度量方法与24种软件制品类型的结合使用,研究人员借此解决了11类不同的软件测试问题。我们进一步分析了近期基于多样性测试技术的发展趋势,梳理了该技术所应用的不同领域,并概述了研究人员为此开发的工具。最后,本文指出了基于多样性测试技术面临的一些挑战,这些挑战有望成为未来研究的潜在方向。