摘要:结合机器学习相关技术的启发式测试用例生成方法可显著提高测试效率. 已有研究关注于利用部分测试用例构建高效的代理模型, 忽略了初始种群质量以及代理模型对多路径测试效率的影响. 由此, 提出一种结合K-means与SVR (support vector machine regression, 支持向量机回归)的测试用例约简与生成方法. 通过K-means将随机生成的用例聚为若干簇, 保留与簇中心距离在一定阈值内的用例, 生成这些用例的路径覆盖矩阵. 利用该矩阵评估测试用例的路径覆盖潜能以及路径的难易覆盖程度, 并基于这两者对测试用例进行排序, 分别从不同簇中选取若干用例构成测试用例约简集, 将其作为初始遗传种群. 这不仅增强初始种群的多样性, 降低其冗余性, 还有助于减少多路径覆盖的测试用例进化次数. 同时, 将聚类前的用例及其适应度作为样本训练适应于多路径覆盖的SVR适应度预测模型, 并使用遗传进化生成的新用例更新模型, 进一步提高模型精度, 可减少执行插桩程序带来的大量时间消耗. 这样, 种群质量与测试效率均得以提升. 实验表明, 在15个程序上, 所提方法在覆盖率、平均进化代数等指标上均有较好改善. 其中在覆盖率上, 与3类基准方法相比, 最少可提高7%, 最多可达49%; 与5种具有竞争性的方法相比, 可提高约10%, 最多可达25%. 所提方法对融合机器学习的多路径测试研究提供了方法指导.