集成测试序列是软件集成测试的重要问题之一.不同的集成测试顺序对测试成本以及测试效率的影响很大.为降低测试成本,传统的类级集成测试顺序研究策略大多围绕如何减少构建测试桩数量和降低测试桩总体复杂度2个方面.若能将复杂程度高、出错概率大的类和发生错误后传播范围较大的类优先进行测试,不仅可以使得错误被尽早发现,还可以有效减小错误对系统的破坏性.为此,将上述思想应用到生成集成测试序列的算法当中,提出一种软件节点重要度的评估方法(Class-HITS).该方法利用复杂网络理论,将软件抽象为网络的形式,并结合所提出的重要度评估方法,打破软件网络中的环路,然后针对网络的无环链路逆向拓扑排序,最终得到类的集成测试序列.通过实验分析证明,利用该方法得出的集成测试序列既能够保证重要节点优先被测试,又确保了构造的测试桩的总复杂度较小.
Class integration test order is one of the most important issues in the field of software integration testing.The different integration test orders have great influence on the testing costs and testing efficiency.In order to reduce the test costs,the traditional studies of generating class-level integration test order focused on reducing the total test stub complexities and the number of test stubs.We apply the thought of"bugs should be found as early as possible"to generate the integration test order,and propose an evaluation scheme "Class-HITS"to measure the importance of software nodes.In the proposed scheme,we firstly consider the software as a network based on the complex network theory,and with the help of proposed scheme,the circles of the network are eliminated.Finally,the integration test order is obtained by reverse sorting the nodes in acyclic links.The simulations have been carried out on open-source software,which prove the efficiency of the class integration test order obtained by the proposed scheme.The new algorithm ensures the important nodes with priority to be tested,the smaller total complexity of the test stubs.