• •    

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

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

  1. 1. 安徽省合肥市蜀山区丹霞路485号(合肥工业大学翡翠湖校区)计算机与信息学院
    2. 合肥工业大学
    3. 合肥工业大学计算机与信息学院
  • 收稿日期:2021-01-18 修回日期:2021-03-10 发布日期:2021-03-10
  • 通讯作者: 邵志胜

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

  • Received:2021-01-18 Revised:2021-03-10 Online:2021-03-10

摘要: 测试资源分配是软件测试中的一个基础问题,已有研究大都针对并串联模块软件模型而鲜有涉及体系结构软件模型。为此,依据可靠性和错误数的动态变化,首先构建了一种基于体系结构的可靠性和错误数动态变化的多阶段多目标测试资源分配模型,然后基于参数重估计、种群重新初始化、广义差分进化和归一化加权求和设计了一种面向动态可靠性和错误数的多阶段多目标测试资源分配算法。最后,在仿真实验中,与已有的归一化加权求和多目标差分进化算法相比,所提算法在不同结构的体系结构软件模型实例上所获解集的容量值提高了约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 model but rarely consider the architecture-based software model. To this end, a multi-stage and multi-objective testing resource allocation model is first constructed based on the architecture-based software model and the dynamic changes of reliability and fault number. Then, a multi-stage and multi-objective testing resource allocation algorithm under dynamic reliability and fault number is proposed on the basis of parameter re-estimation, population re-initialization, the generalized differential evolution, and weighted normalized sum. Finally, in the simulation experiments, compared with the existing multi-objective differential evolution based on the weighted normalized sum, the metric values of solutions obtained by the proposed algorithm on the architecture-based software model instances with different structures are surprising. 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. The experimental results demonstrate that the proposed algorithm can better adapt to the dynamic changes of reliability and fault number and can provide more and better testing resource allocation schemes for the dynamic testing of the architecture-based software model.

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

中图分类号: