《计算机应用》唯一官方网站 ›› 2021, Vol. 41 ›› Issue (12): 3692-3701.DOI: 10.11772/j.issn.1001-9081.2021010095

• 前沿与综合应用 • 上一篇    

基于软件体系结构和广义差分进化的测试资源动态分配算法

邵志胜1(), 张国富1,2,3,4, 苏兆品1,2,3,4, 李磊1   

  1. 1.合肥工业大学 计算机与信息学院,合肥 230601
    2.大数据知识工程教育部重点实验室(合肥工业大学),合肥 230601
    3.智能互联系统安徽省实验室(合肥工业大学),合肥 230009
    4.工业安全与应急技术安徽省重点实验室(合肥工业大学),合肥 230601
  • 收稿日期:2021-01-18 修回日期:2020-03-10 接受日期:2020-03-17 发布日期:2021-12-28 出版日期:2021-12-10
  • 通讯作者: 邵志胜
  • 作者简介:张国富(1979—),男,安徽合肥人,教授,博士,CCF会员,主要研究方向:进化计算、软件工程
    苏兆品(1983—),女,山东菏泽人,副教授,博士,CCF会员,主要研究方向:进化计算、信息安全
    李磊(1998—),男,安徽安庆人,硕士研究生,主要研究方向:多目标进化算法、软件工程。
  • 基金资助:
    安徽省重点研究与开发计划项目(202004d07020011);教育部人文社会科学研究青年基金资助项目(19YJC870021);中央高校基本科研业务费专项资金资助项目(PA2020GDKC0015)

Dynamic testing resource allocation algorithm based on software architecture and generalized differential evolution

Zhisheng SHAO1(), Guofu ZHANG1,2,3,4, Zhaopin SU1,2,3,4, Lei LI1   

  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:2021-01-18 Revised:2020-03-10 Accepted:2020-03-17 Online:2021-12-28 Published:2021-12-10
  • Contact: Zhisheng SHAO
  • About author: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.
    LI Lei, born in 1998, M. S. candidate. His research interests include multi-objective evolutionary algorithm, software engineering.
  • Supported by:
    the Anhui Provincial Key Research and Development Program(202004d07020011);the Youth Foundation of Humanities and Social Sciences of Ministry of Education(19YJC870021);the Fundamental Research Funds for the Central Universities(PA2020GDKC0015)

摘要:

测试资源分配是软件测试中的一个基础问题,然而已有研究大都针对并串联模块软件模型而鲜有涉及体系结构软件模型。为此,首先针对可靠性和错误数动态变化的测试环境,构建了一种基于体系结构的多阶段多目标测试资源分配模型。然后基于参数重估计、种群重新初始化、广义差分进化和归一化加权求和设计了一种面向动态可靠性和错误数的多阶段多目标测试资源分配算法。最后,在仿真实验中,与已有的归一化加权求和多目标差分进化(WNS-MODE)算法进行对比,所提算法在不同结构的体系结构软件模型实例上所获解集更优,容量值提高了约16倍,覆盖值提高了约84个百分点,超体积提高了约6倍。实验结果表明,所提算法能够更好地适应可靠性和错误数的动态变化,可为体系结构软件模型的动态测试提供更多和更优的测试资源分配方案。

关键词: 软件测试, 测试资源分配, 软件体系结构, 动态测试, 广义差分进化

Abstract:

Testing resource allocation is one of the basic problems in software testing. However, most existing studies focus on the parallel-series modular software models but rarely consider the architecture-based software models. To this end, firstly, aiming at the test environment with dynamic changes of reliability and error number, a multi-stage and multi-objective testing resource allocation model was constructed based on the architecture. Then, a multi-stage and multi-objective testing resource allocation algorithm for dynamic reliability and error number was designed on the basis of parameter re-estimation, population re-initialization, generalized differential evolution, and weighted normalized sum. Finally, in the simulation experiments, compared with the existing Multi-Objective Differential Evolution based on Weighted Normalized Sum (WNS-MODE) algorithm, the proposed algorithm was able to obtain better solution sets on the architecture-based software model instances with different structures. Specifically, the capacity values increased by about 16 times, the coverage values increased by about 84 percentage points, and the hypervolume values increased by about 6 times. Experimental results demonstrate that the proposed algorithm can better adapt to the dynamic changes of reliability and error number, and can provide more and better testing resource allocation schemes for the dynamic testing of architecture-based software models.

Key words: software testing, testing resource allocation, software architecture, dynamic testing, generalized differential evolution

中图分类号: