Assessing and improving state-based class testing: a series of experiments

Assessing and improving state-based class testing: a series of experiments
复制标题

评估和改进基于状态的班级测试:一系列实验

DOI:
--
复制
发表时间:
2004
影响因子:
7.4
通讯作者:
Y. Labiche
Y. Labiche
中科院分区:
计算机科学1区
文献类型:
--
作者:
L. Briand;M. D. Penta;Y. Labiche

文献摘要

被引文献

相似文献

这项工作描述了对众所周知的国家基于州测试技术的成本效益的实证研究,这些阶级或类似依赖州行为的类的类别或类别的类别。这实际上是相关的,因为许多面向对象的方法建议将这些组件与Statecharts建模,然后将其用作测试的基础。我们的结果基于一系列三个实验,表明在大多数情况下,基于州的技术本身不足以捕获代码中存在的大多数故障。尽管有用,但需要与黑盒,功能测试相辅相成。我们在这里专注于一种特定的技术,类别分区,因为这是最常用和引用的黑框功能测试技术。已经应用了两种不同的Oracle策略来检查测试用例的成功。一个是一个非常精确的甲骨文,检查对象的具体状态,而另一个是基于状态不变的概念(抽象状态)。结果表明,在故障检测和成本方面,它们之间存在显着差异。因此,这是一个重要的选择,应该由要测试的组件的特征(例如其批判性,复杂性和测试预算)驱动。
This work describes an empirical investigation of the cost effectiveness of well-known state-based testing techniques for classes or clusters of classes that exhibit a state-dependent behavior. This is practically relevant as many object-oriented methodologies recommend modeling such components with statecharts which can then be used as a basis for testing. Our results, based on a series of three experiments, show that in most cases state-based techniques are not likely to be sufficient by themselves to catch most of the faults present in the code. Though useful, they need to be complemented with black-box, functional testing. We focus here on a particular technique, Category Partition, as this is the most commonly used and referenced black-box, functional testing technique. Two different oracle strategies have been applied for checking the success of test cases. One is a very precise oracle checking the concrete state of objects whereas the other one is based on the notion of state invariant (abstract states). Results show that there is a significant difference between them, both in terms of fault detection and cost. This is therefore an important choice to make that should be driven by the characteristics of the component to be tested, such as its criticality, complexity, and test budget.