《计算机应用》唯一官方网站 ›› 2023, Vol. 43 ›› Issue (7): 2261-2270.DOI: 10.11772/j.issn.1001-9081.2022060824

• 计算机软件技术 • 上一篇    

体系结构动态变化的软件测试资源分配算法

李磊1, 张国富1,2,3,4(), 苏兆品1,2,3,4, 岳峰1,4   

  1. 1.合肥工业大学 计算机与信息学院, 合肥 230601
    2.大数据知识工程教育部重点实验室(合肥工业大学), 合肥 230601
    3.智能互联系统安徽省实验室(合肥工业大学), 合肥 230009
    4.工业安全与应急技术安徽省重点实验室(合肥工业大学), 合肥 230601
  • 收稿日期:2022-06-08 修回日期:2022-09-26 接受日期:2022-09-28 发布日期:2022-10-25 出版日期:2023-07-10
  • 通讯作者: 张国富
  • 作者简介:李磊(1998—),男,安徽安庆人,硕士研究生,主要研究方向:基于搜索的软件工程;
    张国富(1979—),男,安徽合肥人,教授,博士,CCF会员,主要研究方向:进化计算、软件工程;
    苏兆品(1983—),女,山东菏泽人,副教授,博士,CCF会员,主要研究方向:进化计算、信息安全;
    岳峰(1981—),男,安徽合肥人,副教授,博士,主要研究方向:软件可靠性、智能优化、语音安全。
  • 基金资助:
    安徽省重点研究与开发计划项目(202004d07020011);广东省类脑智能计算重点实验室开放课题(GBL202117);中央高校基本科研业务费专项资金资助项目(PA2021GDSK0073)

Software testing resource allocation algorithm for dynamic changes in architecture

Lei LI1, Guofu ZHANG1,2,3,4(), Zhaopin SU1,2,3,4, Feng YUE1,4   

  1. 1.School of Computer Science and Information Engineering,Hefei University of Technology,Hefei Anhui 230601,China
    2.Key Laboratory of Knowledge Engineering with Big Data,Ministry of Education (Hefei University of Technology),Hefei Anhui 230601,China
    3.Intelligent Interconnected Systems Laboratory of Anhui Province (Hefei University of Technology),Hefei Anhui 230009,China
    4.Anhui Province Key Laboratory of Industry Safety and Emergency Technology (Hefei University of Technology),Hefei Anhui 230601,China
  • Received:2022-06-08 Revised:2022-09-26 Accepted:2022-09-28 Online:2022-10-25 Published:2023-07-10
  • Contact: Guofu ZHANG
  • About author:LI Lei, born in 1998, M. S. candidate. His research interests include search based software engineering.
    ZHANG Guofu, born in 1979, Ph. D., professor. His research interests include evolutionary computation, software engineering.
    SU Zhaopin, born in 1983, Ph. D., associate professor. Her research interests include evolutionary computation, information security.
    YUE Feng, born in 1981, Ph. D., associate professor. His research interests include software reliability, intelligent optimization, speech security.
  • Supported by:
    Key Research and Development Program of Anhui Province(202004d07020011);Open Project of Guangdong Provincial Key Laboratory of Brain-inspired Intelligent Computation(GBL202117);Fundamental Funds for the Central Universities(PA2021GDSK0073)

摘要:

测试资源分配是软件测试中的一个核心问题。已有相关研究大都假设软件的体系结构是静态不变的,且几乎没有考虑成本约束。针对该问题,提出一种体系结构动态变化的软件测试资源分配算法。首先构建了一种体系结构动态变化的多阶段多目标多约束测试资源分配模型;然后基于参数重估计、广义差分进化,在算法中加入了种群重新初始化,该方法能减小算法搜索空间并提升算法性能;最后在算法中加入了一种新的修复处理机制,该机制能有效剔除算法产生的无效解。与归一化加权求和多目标差分进化(WNS-MODE)算法和基于第三代广义差分进化的动态测试资源分配(DTRA-GDE3)算法相比,所提算法获得的解集的容量值分别提高了约11.81倍和0.39倍。在覆盖值指标方面,所提算法完全覆盖了WNS-MODE算法,并且相对于DTRA-GDE3算法提高了81个百分点。在超体积值指标方面,所提算法分别提高了近6倍和9倍。实验结果表明,所提算法能够更好地适应软件体系结构的动态变化,可为软件产品的动态测试提供更多和更优的测试资源分配方案,并满足用户需求的动态变化。

关键词: 构件软件, 测试资源分配, 动态测试, 多阶段, 归一化

Abstract:

Testing resource allocation is a core problem in software testing. Most of the existing related studies assume that the software architecture is static and rarely consider cost constraints. To address this problem, a software testing resource allocation algorithm for dynamic changes in architecture was proposed. Firstly, a multi-stage multi-objective multi-constraint testing resource allocation model with dynamically changing architecture was constructed. Then, based on parameter re-estimation and generalized differential evolution, the population re-initialization was added to the algorithm, which was able to reduce the algorithm search space and improve the algorithm performance. Finally, a new repair processing mechanism was added to the algorithm, which was able to eliminate the invalid solutions generated by the algorithm effectively. Compared with the solution sets obtained by the Multi-Objective Differential Evolution based on Weighted Normalized Sum (WNS-MODE) algorithm and Dynamic Testing Resource Allocation based on Generalized Differential Evolution 3 (DTRA-GDE3) algorithm, the solution set obtained by the proposed algorithm has the capacity value improved by about 11.81 times and 0.39 times respectively. In terms of coverage value metrics, the proposed algorithm completely covered the WNS-MODE algorithm and improved 81 percentage points with respect to the DTRA-GDE3 algorithm. In terms of the super volume value metrics, the proposed algorithm improved nearly 6 and 9 times, respectively. Experimental results show that the proposed algorithm can better adapt to the dynamic changes in software architecture, can provide more and better testing resource allocation schemes for dynamic testing of software products, and meets the dynamic changes in user requirements.

Key words: component-based software, testing resource allocation, dynamic testing, multi-stage, normalization

中图分类号: