用于测试套件生成的多元独立目标(MIO)算法
软件工程
2019-01-08 v1
摘要
自动生成测试套件本质上是一个多目标问题,因为任一测试目标(例如,要执行的语句或要杀死的变异体)本身即是一个目标。测试套件生成具有与许多其他更常规的优化问题颇为不同的特性。例如,给定已有测试套件,可添加更多测试以覆盖剩余目标。人们希望用最少数量的小型测试覆盖尽可能多的目标,但相较于首要覆盖这些目标,这仅是次要目标。此外,软件测试中的目标数量会迅速变得难以处理,可达(数十/数百)千的量级,尤其对于工业规模系统的系统测试。传统多目标优化算法在仅优化四到五个目标时便可能开始吃力。为克服这些问题,已提出不同技术,例如整体测试套件(WTS)方法和多目标排序算法(MOSA)。然而,这些技术在面对极大量目标和有限搜索预算(系统测试中的典型情形)时可能难以扩展。本文中,我们提出一种称为多元独立目标(MIO)算法的新算法。该算法基于测试套件生成的特定性质而设计并定制。在一组人工与实际软件上的实证研究表明,MIO 算法相比 WTS 和 MOSA 可实现更高覆盖率,因其能更好地利用测试套件生成的特性。
引用
@article{arxiv.1901.01541,
title = {Many Independent Objective (MIO) Algorithm for Test Suite Generation},
author = {Andrea Arcuri},
journal= {arXiv preprint arXiv:1901.01541},
year = {2019}
}