Tool-assisted unit test selection based on operational violations

Tool-assisted unit test selection based on operational violations
复制标题

基于操作违规的工具辅助单元测试选择

DOI:
--
复制
发表时间:
2003
期刊:
18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
影响因子:
--
通讯作者:
D. Notkin
D. Notkin
中科院分区:
--
文献类型:
--
作者:
Tao Xie;D. Notkin

文献摘要

被引文献

相似文献

单位测试是软件开发的常见步骤,提出了一个挑战。当手动生产时,单位测试套件通常不足以识别缺陷。主要替代方法是使用多种自动单元测试生成工具之一:这些工具能够生成和执行大量测试输入,以广泛的锻炼进行测试。但是,没有先验规格,开发人员需要手动验证这些测试执行的输出,这通常是不切实际的。为了降低这一成本,可以使用单位测试选择技术来帮助选择自动生成的测试输入的子集。然后,开发人员可以验证其输出,为其配备测试甲壳,然后将其放入现有的测试套件中。在本文中,我们介绍了单位测试选择的操作违规方法,这是一种黑框方法,而无需先验规格。该方法通过执行现有单元测试套件的执行动态生成操作抽象。任何违反操作抽象的自动生成的测试都被确定为选择的候选者。此外,这些操作抽象可以指导测试生成工具以产生更好的测试。为了实验动态方法,我们集成了Daikon(动态不变检测工具)和JTEST(商用Java单元测试工具)的使用。进行了一个实验来评估这种方法。
Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, developers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit test selection techniques may be used to help select a subset of automatically generated test inputs. Then developers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit test selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. Any automatically generated tests violating the operational abstractions are identified as candidates for selection. In addition, these operational abstractions can guide test generation tools to produce better tests. To experiment dynamic approach, we integrated the use of Daikon (a dynamic invariant detection tool) and Jtest (a commercial Java unit testing tool). An experiment is conducted to assess this approach.