arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1706.01636cs.SE
收藏

成对测试可以与工业工程师进行的手工测试相媲美吗?

Can Pairwise Testing Perform Comparably to Manually Handcrafted Testing Carried Out by Industrial Engineers?

Peter Charbachi, Linus Eklund, Eduard Enoiu

摘要:

测试是工业软件工程中的一项重要活动。对于这样的软件,测试通常是手动执行的手工制作测试套件的基础上特定的设计技术和特定领域的经验。为了支持开发人员进行测试,已经提出了不同的方法来生成良好的测试套件。在过去的几年中,组合测试已经被探索,其目标是基于一定的策略自动组合软件的输入值。成对测试是一种组合技术,用于通过改变系统的每对输入参数的值直到创建这些参数的所有可能组合来生成测试套件。有一些证据表明,这类技术是有效的,相对较好地检测软件故障。不幸的是,几乎没有实验证据的比较,这些组合测试技术,被认为是严格的手工制作的测试。在这项研究中,我们比较成对的测试套件与手动创建的测试套件的工程师为45个工业程序。测试套件进行了评价的故障检测,代码覆盖率和测试数量。这项研究的结果表明,成对测试,而实现高代码覆盖率和故障检测的大多数程序是有用的,几乎是有效的手动测试在故障检测方面。结果还表明,在64%的程序中,成对测试在故障检测方面与手动测试一样好。

英文摘要:

Testing is an important activity in engineering of industrial software. For such software, testing is usually performed manually by handcrafting test suites based on specific design techniques and domain-specific experience. To support developers in testing, different approaches for producing good test suites have been proposed. In the last couple of years combinatorial testing has been explored with the goal of automatically combining the input values of the software based on a certain strategy. Pairwise testing is a combinatorial technique used to generate test suites by varying the values of each pair of input parameters to a system until all possible combinations of those parameters are created. There is some evidence suggesting that these kinds of techniques are efficient and relatively good at detecting software faults. Unfortunately, there is little experimental evidence on the comparison of these combinatorial testing techniques with, what is perceived as, rigorous manually handcrafted testing. In this study we compare pairwise test suites with test suites created manually by engineers for 45 industrial programs. The test suites were evaluated in terms of fault detection, code coverage and number of tests. The results of this study show that pairwise testing, while useful for achieving high code coverage and fault detection for the majority of the programs, is almost as effective in terms of fault detection as manual testing. The results also suggest that pairwise testing is just as good as manual testing at fault detection for 64% of the programs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑