一句话:提出 TeSRS,利用程序切片和覆盖过滤从众包测试脚本中推荐单元测试片段,帮助新手学习单元测试。
新手学习编写单元测试时,通常需要观看视频或阅读他人测试,既耗时又困难。为此,作者开发了测试推荐系统 TeSRS,利用程序切片技术从优质众包测试脚本中抽取测试片段,并基于切片覆盖过滤构建可扩展语料。TeSRS 向新手推荐测试片段,帮助其理解单元测试用例的高层设计思路,并提升测试脚本的分支覆盖率和变异覆盖率。系统在超过 25 个测试问题、8000 余个测试片段上构建语料,稳定表现验证了其在单元测试学习中的有效性。
Software testing plays a crucial role in software lifecycle. As a basic approach of software testing, unit testing is one of the necessary skills for software practitioners. Since testers are required to understand the inner code of the software under test(SUT) while writing a test case, testers usually need to learn how to detect the bug within SUT effectively. When novice programmers started to learn writing unit tests, they will generally watch a video lesson or reading unit tests written by others. These learning approaches are either time-consuming or too hard for a novice. To solve these problems, we developed a system, named TeSRS, to assist novice programmers to learn unit testing. TeSRS is a test recommendation system which can effectively assist test novice in learning unit testing. Utilizing program slice technique, TeSRS has gotten an enormous amount of test snippets from superior crowdsourcing test scripts. Depending on these test snippets, TeSRS provides novices a easier way for unit test learning. To sum up, TeSRS can help test novices (1) obtain high level design ideas of unit test case and (2) improve capabilities(e.g. branch coverage rate and mutation coverage rate) of their test scripts. TeSRS has built a scalable corpus composed of over 8000 test snippets from more than 25 test problems. Its stable performance shows effectiveness in unit test learning.
DOI 原文 ·
@inproceedings{paperbot6071,
title = {Test recommendation system based on slicing coverage filtering},
author = {Ruixiang Qian and Yuan Zhao and Duo Men and Yang Feng and Qingkai Shi and Yong Huang and Zhenyu Chen},
booktitle = {ISSTA},
year = {2020},
doi = {10.1145/3395363.3404370}
}