这几天在公司内部有讨论关于代码提交后跑的回归测试能否根据代码修改来跑,而不要跑全量的。 提出来的人说可以从单元测试开始,因为它是和代码对应的关系比较清楚。 这样可以节省验证的时间。 让我去做一些相关的调研,我看了一下好像在学术圈其实讨论的比较多,也一直有相关的论文发表,有专门的一个名次叫 RTS(Regression Test Selection) 有静态的和动态的两种,思路大致是 首先知道代码改了什么; 然后建立修改的代码文件/类/方法和测试脚本之间的关系,可能需要用一个 graph 来存储 然后选择脚本去跑,也有一些已经成型的工具: java 有 Ekstazi js 的 jest 本身命令行支持 onlyChanged 这样的参数 c++有一个慕尼黑科技大学的做的工具到 BinaryRTS. 想问问,学术圈确实研究了很多,那么平时大家工作的公司里有大规模成熟的相关应用吗?感觉如何呢?谢谢大家。
1
rihkddd 2023-11-29 14:16:47 +08:00
这个东西叫“精准测试”,前几年挺多人搞,你用这个关键词搜应该能找到不少分享,但是实际上我待过的几家都没有大规模的在用。
|
3
lixile 277 天前
题主有后续吗 BinaryRTS 我最近也在关注 c++ 的这部分实现
目前所在行业 国外友商据说都有成熟的方案 搜了一圈也只有 BinaryRTS 最接近 |