计算机科学与探索 ›› 2008, Vol. 2 ›› Issue (5): 449-466.DOI: 10.3778/j.issn.1673-9418.2008.05.001
谢晓园1,许 蕾1,徐宝文1,2+,聂长海1,史 亮3
XIE Xiaoyuan1, XU Lei1, XU Baowen1,2+,NIE Changhai1, SHI Liang3
摘要: 演化测试作为一种非常有前景的自动化测试技术,可以成功地为多种测试目标生成高质量的测试用例。它将测试用例的生成过程转化为一个利用遗传算法进行数值优化的问题。算法的搜索空间即为待测软件的输入域,其中最优解即是满足测试目标的测试用例。该搜索过程可以实现完全自动化,它所具有的导向性可以避免盲目搜索,较随机测试有着更加明确的目标和方向性;同时该搜索过程还具有一定的随机扰动,可以很好地克服复杂搜索域所带来的种种局限性。近年来,越来越多的学者开始关注于演化测试技术的研究,并取得了一些研究成果,使之在多种领域得以成功地应用。分别在结构性测试、功能性测试、性能测试以及面向对象测试领域,对演化测试技术进行了总结。通过对各领域的应用方法进行分类概括,比较分析了不同方法的优势与不足,为理解、评价以及合理选取演化测试方法提供了较有价值的参考。在此基础上,总结评估了现有的演化测试优化技术及其适用性。最后,展望了演化测试技术未来的研究方向。