如何在Jenkins的Nightly中自动定位错误用例的第一次出场

公司的每一个项目都在Jenkins上配置了Nightly job,在每个工作日的晚上都会自动运行Job,拉取最新的仓库代码并运行完整的测试用例。

当在nightly中出现测试用例运行失败的情况,需要手动定位这些测试用例是由于哪个patch的合入导致其失败的。

这时候,需要找出失败的nightly job到前一个成功的nightly job之间的所有合入的patch,通过遍历或者二分的方法去定位错误用例的第一次出场。

现在大家都是手动的去定位,但是当项目越来越多,也越来越大的时候,定位的时间会不停的延长。那就需要考虑下把这个定位的操作加到自动化里去了。

具体的做法其实和手动定位的步骤一致:

1. 运行Nightly job,运行完以后,收集所有的失败的用例;
2. 找出本次的nightly job到前一个成功的nightly job之间的所有合入的patch;
3. 以patch合入的时间顺序,从最晚到最早,依次调用每个patch的代码,去rerun failed cases;
4. 当failed cases为pass的时候,则将pass的patch后面一个合入的patch定为failed cases的第一次出场。

posted @ 2022-02-07 15:01  Shengjie  阅读(68)  评论(0编辑  收藏  举报