Subdomain-based test data generation

Subdomain-based test data generation
复制标题

DOI:
10.1016/j.jss.2014.11.033
复制
发表时间:
2015-05
期刊:
J. Syst. Softw.
影响因子:
--
通讯作者:
Matthew Patrick;Robert Alexander;M. Oriol;John A. Clark
Matthew Patrick;Robert Alexander;M. Oriol;John A. Clark
中科院分区:
其他
文献类型:
--
作者:
Matthew Patrick;Robert Alexander;M. Oriol;John A. Clark

文献摘要

被引文献

相似文献

彻底测试软件需要付出相当大的努力。即使使用自动测试数据生成工具,仍然需要评估每个测试用例的输出并识别意外结果。通过将测试人员需要考虑的输入范围限制到更有可能发现故障的区域,从而减少测试用例的总体数量,从而减少创建Oracle所需的工作量,可以减少手动工作。本文描述和评估了基于搜索的技术,使用进化策略和子集选择来识别输入域(称为子域)的区域,以便可以有效地使用从这些区域内随机抽样的测试用例来查找故障。每个子域的故障查找能力是通过突变分析来评估的,这是一种基于程序员可能犯下的错误的技术。在相同数量或更少的测试用例下,由此产生的子域杀死的突变体比随机测试(在一个情况下最多是随机测试的6倍)更多。优化后的子域可以作为程序分析和回归测试的起点。它们很容易被人类测试工程师理解,因此可以用来提供关于被测软件的信息,并设计出进一步高效的测试套件。
Considerable effort is required to test software thoroughly. Even with automated test data generation tools, it is still necessary to evaluate the output of each test case and identify unexpected results. Manual effort can be reduced by restricting the range of inputs testers need to consider to regions that are more likely to reveal faults, thus reducing the number of test cases overall, and therefore reducing the effort needed to create oracles. This article describes and evaluates search-based techniques, using evolution strategies and subset selection, for identifying regions of the input domain (known as subdomains) such that test cases sampled at random from within these regions can be used efficiently to find faults. The fault finding capability of each subdomain is evaluated using mutation analysis, a technique that is based on faults programmers are likely to make. The resulting subdomains kill more mutants than random testing (up to six times as many in one case) with the same number or fewer test cases. Optimised subdomains can be used as a starting point for program analysis and regression testing. They can easily be comprehended by a human test engineer, so may be used to provide information about the software under test and design further highly efficient test suites.