论文部分内容阅读
软件测试是目前最主要的软件质量保障手段,在软件的整个生命周期中发挥着极其重要的作用。回归测试作为一种有效的软件测试方法,保证了软件修改的正确性,提高了软件质量。由于受人力、时间等回归测试成本的限制,传统的回归测试方法成效甚微。因此,在有限资源的情况下,提高回归测试效率、降低回归测试成本具有重要研究价值。目前针对回归测试的改进方法主要是测试用例集的维护,常用的技术主要有回归测试用例选择、测试用例集约简和测试用例优先级排序。其中,测试用例优先级排序技术在提高软件质量和软件产品可靠性、缩减回归测试成本与合理分配软件测试资源方面有着重要作用。本文通过分析回归测试用例优先级排序技术国内外研究现状,提出了回归测试用例优先级排序层次结构模型和融合TSM的回归测试用例优先级排序框架。针对现有方法局限于单目标或少数影响因素,影响对测试用例综合分析和评价,本文提出了一种基于层次分析法的回归测试用例优先级排序方法。该方法以优化测试用例序列为目标,影响因素为准则,测试用例为方案,建立层次结构模型,构造对比矩阵,进行排序与一致性检验,优化影响因素比例。实验采用Matlab软件环境,以平均故障检测率为评估指标。结果表明,与已有几种优先级方法作对比,该方法能达到更高的平均故障检测率85%,提高了回归测试效率,此外可根据实际回归测试需求扩充影响因素数量,具有灵活性。软件持续演化将造成测试用例集规模的持续增加。在满足指定测试需求覆盖前提下,会出现冗余测试用例。基于层次分析法的回归测试用例优先级排序方法中,测试用例优先级影响因素比例优化效率随着影响因素数量增加和测试用例集规模的扩大变低,针对上述问题,本文提出了一个融合TSM的回归测试用例优先级排序框架,基于汉明距离进行测试用例集缩减,去除冗余测试用例,保留基本测试用例。缩减后的测试用例集即为初始待排序测试用例集,采用遗传算法进行测试用例序列优化得到新测试用例集,运用于新一轮回归测试。实验采用APSS两个版本作为待测系统,回归测试用例集缩减规模达到38%左右,缺陷检测缩减率在未引入新缺陷时几乎为0,优化测试用例序列后APFD_C平均值较高。