关键词:
软件测试
路径覆盖准则
测试数据生成
人工蜂群算法
Huffman编码
摘要:
随着信息技术水平的快速提高和移动终端的普及,人们对各类软件的需求也急剧增加。软件质量逐渐成为人们关注的焦点。软件测试是确保软件质量的重要手段,也是提高软件可靠性和易用性等的重要措施。测试用例决定软件测试质量的优劣。如何设计有效的测试用例,如何提高软件测试性能是软件测试中的关键问题。大量研究表明,基于搜索的软件测试是提高测试性能的有效方法之一,该方法应用启发式搜索技术生成测试数据,而启发式搜索技术用于评估适应度函数搜索空间中的一组解。实际中被测程序通常是错综复杂的,被测程序的目标路径个数可达无限个,使用穷举测试是不可行的。因此,众多学者探究了大量基于启发式搜索技术的方法进行软件测试,例如,白盒结构测试、黑盒功能测试、灰盒结构和功能组合测试。然而,已有研究成果在测试用例生成的性能方面有待提高,所以,本文提出了基于Huffman编码人工蜂群算法的路径覆盖测试数据生成方法。人工蜂群算法是一种新的仿生物智群算法,具有收敛快速、控制参数少、鲁棒性强等特点,在优化复杂问题方面具有明显的优势。本文将人工蜂群算法应用到测试数据生成中,不仅可以提高测试人员的工作效率,还可以提高测试数据的生成效率,降低开发成本,最大化经济效益。首先,本文提出了一种基于人工蜂群算法的单路径覆盖的测试数据生成方法;与遗传算法的单路径覆盖方法相比,实验结果表明人工蜂群算法在测试性能方面具有更多优势。然后,提出了一种基于Huffman编码-人工蜂群算法的多路径覆盖方法。首先,对目标路径进行Huffman编码,根据该编码设计新的目标函数(适应度函数)。其次,提出并设计了基于Huffman编码人工蜂群算法的路径覆盖测试数据生成系统模型,该模型由程序分析,算法执行、测试驱动三个模块组成。最后,为了更好的验证此模型的实用性和高效性,将提出的方法用于三角形分类程序、三个数排序和冒泡排序基准程序的测试中,并与同类方法(MMPPSO,Ahmed方法和单路径方法)进行比对,实验结果表明,基于Huffman编码-人工蜂群算法的路径覆盖测试数据生成方法在路径覆盖率和运行时间等性能方面具有明显的优势,人工蜂群算法更加具有适应性与高效性。