前言
这篇文章,很久很久之前就想写了,但实际在写的过程,发现涉及到2个玩意:
- git命令,比如git log
- gitlab ci的配置以及gitlab-ci.yml的基本使用
于是花费了不少时间来学习这些知识
如果你对上面这两块没了解,建议你先看下下面三篇文章,先扫盲吧:
JB的git之旅--.gitlab-ci.yml介绍
JB的git之旅-git命令行
JB的git之旅-gitlab ci介绍
继续往下读,默认是对git log跟gitlab ci都了解了,并且相关环境已经配置好了;
开篇
做为一个久经沙场的测试同学,肯定会遇到下面这种场景:
项目经理/领导:JB,这BUG怎么回事啊?(此时反馈BUG描述)
JB:我看看(同时赶紧确认BUG)
(几分钟后)
JB:这真的是有BUG,我看看怎么回事(心里描述,我去,昨天都没问题的,怎么就突然又有BUG了)
(一段时间过去了)
研发:这个BUG是因为昨晚JB2同学提交的代码导致的,现在已经修复了;
JB:???昨晚提交的代码?怎么没通知测试验收?测试都不知道这回事啊~
复制代码
上面这种只是日常生活的冰山一角。。
研发:JB啊,我这有个优化,你来验证一下;
JB:这个优化做了什么,改动了什么,有什么影响面?
研发:这个就优化网页响应速度,你可以对比下响应速度是不是更快了;没什么影响的,就如果真有问题,只会影响到打开速度而已;
JB:那行,我验证下速度是否有优化跟打开网页功能是否正常;
(一段时间后)
JB:OK,没问题了,可以上线吧;
(上线后一段时间)
领导:JB,怎么这里会显示不出东西?早上还是正常的啊;
后来确认,就是早上研发说的网页速度优化导致的,但是这两者没有关系啊!尼玛!
复制代码
生活中,研发偷偷上代码或者研发修改后给出的影响面不足导致出现线上问题的情况是非常比较常见的,尤其在小公司里面,常见的不得了;
那这类问题有没有解决方案?
这个原因归根到底是,个人认为是测试知道的太少了;
人都是不自觉的,如果一味依赖研发提供的信息,假如某天研发说不清楚,又或者压根没有说,然后就直接上线了,怎么破?
有同学可能会跳出来说,通过流程约束,这个方案是可行的,但是本次想介绍是利用工具来解决这问题;
因此就有了这么一个想法:
获取研发每一次提交的记录,通过钉钉/邮箱通知对应的同学~
复制代码
这种做法能杜绝上面说的场景吗?