代码diff与测试相结合,可以对测试起到较明显的促进作用,通常都是用在模块的功能升级使用。结合代码diff做测试,好处主要有下面几点:
1.提高旧有case回归的效率。从代码diff里面,可以看到旧有功能哪些地方没有任何改动,这样就可以增加信心,节省对旧有功能回归测试的工作量。当然,如果升级导致旧有功能的前置条件产生变化,还是需要注意的
2.明确case的重点。知道变动的内容,就可以根据修改的代码设置case,有针对性的测试。
3.辅助定位发现的问题。
4.直接发现bug或者代码设计上的问题。
5.测试人员的经验积累。经常看别人的代码diff,积累经验,就能加深自己对项目的理解,判断大致什么地方容易出现问题,提高职业素养。
diff少的时候,就可以直接发现问题了,这个非常有用,可以极大的提高效率。如果对被测对象的了解比较深入,通过查看diff即可知道新功能修改的是否到位,也可看出新增加的地方是否处理很山寨,不具备通用性等。另外比如实现细节上,看看申请的内存是否会溢出等也可以在这里处理。
有的时候,代码diff很多,看diff可以只关心重点内容:
1.if语句。新增或者修改的if标志着新旧功能点所走的不同逻辑分支。通过查看修改点的判断参数来设计case覆盖不同的分支。另外也要关注是否条件出现问题,程序走到错误分支的情况。
2.新增的函数。这种情况下,新增的函数通常都是为了满足新功能增加的部分逻辑,这时就设计case重点照顾一下新增的函数。
3.循环。比如修改了循环的条件,里面增加了break等也是属于流程分支改变的情况。
结合代码diff的作用很明显,但貌似总结这个的文章也很少,而实际用到的也是比较细小,零碎的东东,在这里先暂时列出一些,开启话题,逐渐补充吧。