期刊文献+

集成测试中的类测试顺序生成技术述评 被引量:6

Survey of Class Test Order Generation Techniques for Integration Test
下载PDF
导出
摘要 对于面向对象程序,一个常见的问题是确定集成测试中的类的测试顺序,称为类集成测试顺序的确定问题.类测试顺序的确定问题是面向对象软件集成测试中的关键难点之一.首先,简单介绍类测试顺序确定问题的背景.其次,概括描述类集成测试顺序问题以及其产生的原由,并介绍类间依赖关系(包括类间静态依赖关系和动态依赖关系)和抽象类的定义与特点,接着对类测试顺序的确定问题进行分类并评析两种分类方式,包括破除环路的方式和估算测试桩代价的方式.其中,破除环路主要采用基于图论和基于搜索这两类方法,估算测试桩代价主要根据评价所构造的测试桩的个数多少和所构造的测试桩的总体复杂度大小这两个指标.再次,对现有解决类集成测试顺序问题的典型技术进行分类,分为基于图论和基于搜索技术两大类.然后,全面系统地分析这些相关技术的研究现状、特点等,之后还介绍了已有典型的基于图论和基于搜索技术技术在实验过程中各自所使用的评测数据集等.最后,指出未来的研究方向,并对该文进行总结. In the context of object-oriented software, a common problem is the determination of test orders for the integration test of classes, known as the class integration and test order problem. Determination of class integration test order is a key and difficult point in object-oriented software integration testing. Firstly, the background of class integration test order problem is simply introduced. Secondly, the class integration test order determination problem is outlined and the origin of class integration test order problem is analyzed, and then some related definitions such as inter-class dependencies (including inter-class static dependencies and inter class static dependencies) and abstract class are introduced. Inter class dependencies include inter-class static dependencies and inter-class dynamic dependencies, and abstract class has the characteristic of cannot be instantiated, which can affect the class integration test order. The solutions of class integration test order determination problem are classified to two ways, which are the cycle-breaking method and the measurement of the test stub cost. For the cycle-breaking method, it mainly adopts two kinds of methods~ one is the method based on graph theory and another one is the method based on search. Where, the method based on graph theory and can be divided into two types: (1) only the inter-class static dependencies are considered, breaking inheritance, aggregation, association and use relations directly to eliminate the loops~ (2) the inter-class static and dynamic dependencies are considered, breaking inheritance, aggregation, association, use and dynamic dependencies directly to eliminate the loops. The method based on search first determines an initial population which is consisted by class integration test orders, and then under the premise of meeting certain conditions (e. g. , minimum the test stub cost), it deals with the population through evolutionary operation, and generates the optimal class integration test order. At present the method based on search only considers the inter-class static dependencies, ignoring the dynamic dependencies. For the measurement of the test stub cost, it includes the number of test stub and the overall complexity of test stub. Thirdly, the research status and the characteristics of these typical techniques completely and systematically are analyzed~ where the existed typical techniques for solving the class integration test order determination problem are classified, which include the methods based on graph and the methods based on search and then some evaluation dataset used respectively by typical techniques such as graph-based methods and search-based methods in empirical studies are also introduced. Where, for the typical methods based on the graph techniques, we introduce them from five types such as the methods that minimize the number of general stub (class stub), the methods that minimize the number of special stub, the method of special situation (acyclic and considering dynamic dependencies), the methods that minimize the overall test complexity, and the methods by slicing technical. For the typical methods based on the search techniques, we introduce them from two types such as the solutions by multi-objective optimization algorithms based on linear weighting and the solutions by the optimization algorithms based on Pareto model. Finally, the future research directions of class integration test order determination problem are proposed and the paper is concluded.
出处 《计算机学报》 EI CSCD 北大核心 2018年第3期670-694,共25页 Chinese Journal of Computers
基金 国家自然科学基金(61502497 61673384) 广西可信软件重点实验室开放课题(kx201530 kx201609) 南京大学计算机软件新技术国家重点实验室开放课题(KFKT2014B19) 中国博士后科学基金项目(2015M581887) 徐州市科技计划项目(KC15SM051)资助
关键词 软件测试 类测试顺序 集成测试 破除环路 测试桩代价 software testing class test order integration test cycle-breaking test stub cost
  • 相关文献

参考文献14

二级参考文献120

共引文献462

同被引文献32

引证文献6

二级引证文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部