单元测试生成的自动化支持:教程书章
软件工程
2021-10-27 v1 人工智能
神经与进化计算
摘要
单元测试是测试的一个阶段,其中对可独立于系统其余部分进行测试的最小代码段(通常是一个类)进行测试。单元测试通常编写为可执行代码,常采用单元测试框架(如 Python 的 pytest)所提供的格式。创建单元测试是一个耗时费力且包含许多重复手工环节的过程。为说明 AI 如何支持单元测试,本章介绍基于搜索的单元测试生成概念。该技术将测试输入的选择框定为优化问题——我们寻求一组满足测试人员某些可度量目标的测试用例——并释放强大的元启发式搜索算法,以在限定时间内识别最佳可能的测试用例。本章介绍两种可生成 pytest 格式单元测试的算法,其调优目标为源代码语句的覆盖率。本章最后讨论了更先进的概念,并给出了关于人工智能如何在软件单元测试中支持开发人员和测试人员的进一步阅读指引。
引用
@article{arxiv.2110.13575,
title = {Automated Support for Unit Test Generation: A Tutorial Book Chapter},
author = {Afonso Fontes and Gregory Gay and Francisco Gomes de Oliveira Neto and Robert Feldt},
journal= {arXiv preprint arXiv:2110.13575},
year = {2021}
}
备注
This is a preprint of a chapter from the upcoming book, "Optimising the Software Development Process with Artificial Intelligence" (Springer, 2022)