摘要

将遗传算法用于多路径覆盖测试中是个研究热点,在新旧种群迭代过程中,旧种群中可能包含其它子种群的优秀个体,这部分个体未被充分利用,造成资源浪费;同时,种群中的个体数会远大于可达路径数,而每个个体都会经过某一条可达路径,这样会有多个个体经过同一条路径,导致重复计算个体与目标路径的相似度。基于此,提出结合路径相似表与个体迁移的多路径覆盖测试方法以提高测试效率。通过路径相似表存储已计算得到的路径相似度值,避免该值被重复计算,减少测试时间。在进化过程中,将个体路径与其它目标路径进行比较,若相似度达到阈值,则将此优秀个体迁移至该路径对应的子种群中,提高个体利用率并减少进化代数。由实验可知,本文方法与其它7种同类经典方法在8个程序上的平均生成时间降低最高达44.64%,最低为2.64%,平均进化代数降低最高达35.08%,最低为6.13%,故本文方法有效地提高了测试效率。