关键词:
软件测试
测试用例优先级排序
混合贪心策略
灰狼鲸鱼优化算法
摘要:
软件测试在软件开发过程中起着至关重要的作用,是保障软件质量与系统安全的重要手段。测试用例优先级技术凭借资源分配快、测试效率高和覆盖范围广等优势,在软件测试领域得到广泛应用。然而,现有工作采用基于贪心算法的Additional策略时,忽视了用例间的关联性及覆盖标准的个体特征,导致优先级划分时间长,并且在随机选择优先级相等的用例时,仍会影响排序的有效性;同时,现有研究采用鲸鱼优化算法确定测试用例优先级时,存在种群多样性低、参数设定冗余以及后期开发能力不足等问题,导致算法易陷入局部最优并快速收敛;此外,现有研究多采用单一算法以提高排序效果,但这些方法的适应能力不足,难以有效应对复杂多变的测试场景。基于此,本文提出以下两种改进方法,旨在弥补现有方法的不足。
其一,提出一种基于多粒度混合贪心策略的测试用例优先级排序方法。首先,进行粗粒度测试用例分组,通过挖掘用例间的隐藏关系,将所有用例分为关键用例组和普通用例组。其次,进行细粒度测试用例分组排序,根据迭代次数将关键用例分组,并提出基于用例潜力度的TP-Additional策略,对部分关键用例排序,而对于普通用例与剩余关键用例,则使用简单高效的Total策略排序,以提高排序效率。通过与6种相关方法在6个数据集上的对比结果发现,所提方法是高效且可行的,在APFD与TETC指标上分别平均提升约1.52%和9.54%。
其二,提出一种基于多策略灰狼鲸鱼算法的测试用例优先级排序方法。首先,为兼顾排序的有效性和效率,设置平均缺陷检测率和有效执行时间这两个优化目标。其次,提出基于均匀动态伪反向学习的种群初始化方法,以提高种群多样性。最后,通过多种策略优化灰狼算法和鲸鱼算法的参数,以增强其全局搜索能力,并利用融合后的灰狼鲸鱼算法应用于测试用例优先级排序过程。通过与8种相关方法在8个程序上的对比结果发现,所提方法是行之有效的,在APFD和APFDc指标上分别平均提升约1.35%和1.37%。
综上,本文结合多种算法的优势,旨在提高测试用例优先级排序的有效性和效率。一方面,所提的基于多粒度混合贪心策略的测试用例优先级排序方法可挖掘并利用用例间的关系,采用不同粒度的分组方法减少优先级划分时间,并通过用例潜力度减少随机选择优先级相等的用例时对排序有效性造成的影响;另一方面,基于多策略灰狼鲸鱼算法的测试用例优先级排序方法采用多种策略优化种群生成方法和参数,增强灰狼鲸鱼算法的全局搜索能力,使其更适配测试用例优先级问题的解空间特性。实验结果表明,所提两种方法均展现出良好的性能,验证了其可行性和有效性。