Codediff
测试必做-Codediff
什么是codeDiff
字面含义是 代码差异比较,一种补充测试的手段。
需要注意的是 codediff和code review的区别。
1、为什么要做Codediff?
确认需求实现——QA和DEV一起梳理对需求的实现情况
评估影响范围——评估本次实现的代码改动对整体业务的影响范围 和 本次测试需要花费的成本
补充测试点——根据开发的代码逻辑需要补充未覆盖的测试点,以及回归点
提前发现代码错误——业务逻辑缺失、代码语法bug、异常处理bug等
加深技术实现理解——更深入的了解需求实现的方式能够加大测试的深度
2、Codediff 开始前准备?
熟悉产品需求
了解系统的整体架构
思考如果是你怎么实现(自己要根据对业务和系统的掌握有大概的实现思路,然后diff的时候和开发的思路进行碰撞,找问题)
准备相关的diff工具
具备代码、数据库等基本知识技能
提测时 - 明确改动范围,补充测试范围
测试中 - 确认每次提交代码,
发布前 - 确保发布代码和测试代码一致
其实,codediff作为一种测试手段,需要贯穿整个测试过程
3、什么时候做 Codediff?
首次介入测试,进行整体代码diff
提交bug修复版本,进行增量代码diff
发布前整体在diff一下关键点
1、提测前:比对branch与master,找到本次修改内容,确定测试访问;
2、测试中:btag1与btag2,找到上一次测试后开发修改的内容;
3、发布前:btag与branch,检查将上线版本是否有为侧式内容。
4、如何执行Codediff?
开发给QA讲如何实现,QA提问、找茬(有目的的问)
比如:
遇到多线程时,线程安全吗?需要加锁处理吗?加锁使用后解锁没?多线程处理的地方会不会死锁?
方法中参数为空、null或长度为0怎么处理的,是否会发生空指针异常?
数据库链接的释放超时处理,执行过程中会不会锁表?
重复复制代码的逻辑及参数是否正确?
依赖外部的配置文件是否有备份?
我们从6个方面进行总结

5、达成目标
能够从内到外的完全把控整个项目的质量,发布上线能够更靠谱,出现问题也能及时找到问题
QA CodeDiff都在做什么
1、防止开发合并代码出错。要不删除了别人的要不删除了自己的,比如代码冲突后简单的选择使用他人或自己;
2、开发夹杂私货,在不通知QA的情况下私自修改bug或增加功能;
3、检查代码是否符合公司编写规范,包括:检查注释、日志、监控是否添加完成;
4、检查代码修改逻辑是否符合业务逻辑;
5、根据修改内容明确测试范围;
6、检查最终上线代码是否经过测试,比如你在测试最后一般开发发现个问题没有告诉QA就修改了这样就会将未测试的代码带到线上;
7、检查配置文件是否修改正确。比如你有多套配置文件,检查线上环境配置测试环境配置是否正确;
8、提高QA对技术实现的理解;
9、发现代码业务逻辑漏洞。比如有些开发对业务不熟悉修改内容影响其它业务正常运行;

浙公网安备 33010602011771号