首页> 外文期刊>Software and systems modeling >Supporting inheritance hierarchy changes in model-based regression test selection
【24h】

Supporting inheritance hierarchy changes in model-based regression test selection

机译:在基于模型的回归测试选择中支持继承层次结构更改

获取原文
获取原文并翻译 | 示例
       

摘要

Models can be used to ease and manage the development, evolution, and runtime adaptation of a software system. When models are adapted, the resulting models must be rigorously tested. Apart from adding new test cases, it is also important to perform regression testing to ensure that the evolution or adaptation did not break existing functionality. Since regression testing is performed with limited resources and under time constraints, regression test selection (RTS) techniques are needed to reduce the cost of regression testing. Applying model-level RTS for model-based evolution and adaptation is more convenient than using code-level RTS because the test selection process happens at the same level of abstraction as that of evolution and adaptation. In earlier work, we proposed a model-based RTS approach called MaRTS to be used with a fine-grained model-based adaptation framework that targets applications implemented in Java. MaRTS uses UML models consisting of class and activity diagrams. It classifies test cases as obsolete, reusable, or retestable based on changes made to UML class and activity diagrams of the system being adapted. However, MaRTS did not take into account the changes made to the inheritance hierarchy in the class diagram and the impact of these changes on the selection of test cases. This paper extends MaRTS to support such changes and demonstrates that the extended approach performs as well as or better than code-based RTS approaches in safely selecting regression test cases. While MaRTS can generally be used during any model-driven development or model-based evolution activity, we have developed it in the context of runtime adaptation. We evaluated the extended MaRTS on a set of applications and compared the results with code-based RTS approaches that also support changes to the inheritance hierarchy. The results showed that the extended MaRTS selected all the test cases relevant to the inheritance hierarchy changes and that the fault detection ability of the selected test cases was never lower than that of the baseline test cases. The extended MaRTS achieved comparable results to a graph-walk code-based RTS approach (DejaVu) and showed a higher reduction in the number of selected test cases when compared with a static analysis code-based RTS approach (ChEOPSJ).
机译:模型可用于简化和管理软件系统的开发,演进和运行时适应。修改模型时,必须严格测试生成的模型。除了添加新的测试用例之外,执行回归测试以确保演进或改编不会破坏现有功能也很重要。由于使用有限的资源并在时间限制下执行回归测试,因此需要回归测试选择(RTS)技术来降低回归测试的成本。将模型级RTS应用于基于模型的演化和适应比使用代码级RTS更方便,因为测试选择过程发生在与演化和适应相同的抽象层次上。在早期的工作中,我们提出了一种称为MaRTS的基于模型的RTS方法,该方法可与针对以Java实现的应用程序的基于模型的细粒度适应框架一起使用。 MaRTS使用包含类和活动图的UML模型。根据对UML类和所适应系统的活动图所做的更改,它将测试用例分类为过时,可重用或可重用。但是,MaRTS没有考虑在类图中对继承层次结构所做的更改以及这些更改对测试用例选择的影响。本文扩展了MaRTS以支持此类更改,并证明了扩展方法在安全选择回归测试用例方面的性能优于或优于基于代码的RTS方法。尽管MaRTS通常可以在任何模型驱动的开发或基于模型的演化活动中使用,但我们已经在运行时适应的背景下进行了开发。我们在一组应用程序上评估了扩展的MaRTS,并将结果与​​基于代码的RTS方法进行了比较,该方法也支持对继承层次结构的更改。结果表明,扩展的MaRTS选择了与继承层次结构更改相关的所有测试用例,并且所选测试用例的故障检测能力永远不会低于基线测试用例。与基于静态分析代码的RTS方法(ChEOPSJ)相比,扩展的MaRTS取得了与基于图行代码的RTS方法(DejaVu)相当的结果,并且显示出所选测试用例数量的减少。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号