09、不破不立:掌握代码级测试的基本理念与方法
一、常见代码错误类型
- 语法特征错误:指的是从编程语法上就能发现的错误,(不过现在使用IDEA工具变成,常用语法会给出提示,否则编译不通过)
- 边界行为特征错误:指的是代码在执行过程中发生异常,崩溃或者超时。
- 经验特征错误:指的是根据过往经验发现代码错误
- 算法错误:指的是代码完成的计算或之前预先涉及的计算结果不一致。
- 部分算法错误:指的是在一些特定的条件或者输入情况下,算法不能准确完成业务要求实现的功能。
二、代码级测试常用方法
- 人工静态方法:指的是通过人工阅读代码查找代码中潜在错误的方法,通常采用的手段包括:开发人员代码走查、结对编程、同行评审。
该方法的局限性:
1.1、过度依赖于代码评审者的个人能力,同样的评审流程,发现的问题却相差悬殊。
1.2、如果开发人员自行走查自己的代码,往往会存在"思维惯性",开发过程中没有能考虑的输入和边界值,代码走查时也一样会被遗漏。
1.3、由于完全依赖人工,效率普遍较低。
- 自动静态方法:指的是在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术,并结合各种预定义和自定义的代码规则,对程序代码进行静态扫描发现语法错误、潜在语义错误,以及部分动态错误的一种代码分析技术。
- 人工动态方法:指的是设计代码的输入和预期的正确输出的集合,然后执行代码,判断实际输出是否符合预期。
- 自动动态方法:指的是基于代码自动生成边界测试用例并执行,以捕捉潜在的异常、崩溃和超时的方法。该方法可以覆盖边界行为特征错误。
三、总结
- 评论摘选:作为一个有心做好代码级测试的初级测试工程师,需要掌握哪些必备的技术技能呢?
作者回复:首先需要比较深入得掌握一门语言,然后还要学习至少一个单元测试框架,接下来就要学着使用moke. - 自己补充:项目开发正常流程中,研发人员编写的代码除了自测外,最好进行代码review,通过后提交到测试环境进行验证;当然需求阶段一定要把需求逻辑梳理清楚,所谓磨刀不误砍柴工。
说明:教程来源极客时间--软件测试52讲,作者:茹炳晟
喜欢的朋友可以去订阅学习,我这里的仅作为学习记录,跟着教程记录主要内容