掌握代码级测试的基本理念与方法

常见代码错误类型

代码错误,可以分为“有特征”的错误和“无特征”的错误。“有特征”的错误,可进一步分为语法特征错误、边界行为错误和经验特征错误;“无特征”的错误与,主要包括算法错误和部分算法错误。

语法特征错误
语法特征错误是指,从编程语法上就能发现的错误。比如:不符合编程语言语法的语句等。

边界行为特征错误
边界行为特征错误是指,代码在执行过程中发生异常,崩溃或者超时。之所以称为“边界”,是由于此类错误通常都是发生在一些边界条件上。

经验特征错误
经验特征错误是指,根据过往经验发现代码错误。

算法错误
算法错误是指,代码完成的计算(或者功能)和之前预先设计的计算结果(或者功能)不一致。

部分算法错误
部分算法错误是指,在一些特定的条件后者输入情况下, 算法不能准确完成业务要求实现的功能。这类错误,是整个代码级测试过程中最常见的错误。

代码级测试常用方法

主要分为两大类:静态方法和动态方法

静态方法:顾名思义就是在不实际执行代码的基础上发现代码缺陷的方法,又可以进一步分为人工静态方法和自动静态方法;

动态方法:通过实际执行代码发现代码中潜在缺陷的方法,同样可以进一步分为人工动态方法和自动动态方法。

静态方法

人工静态方法

指通过人工阅读代码查找代码中潜在错误的方法,通常采用的手段包括,开发人员代码走查、结对编程、同行评审等、
其主要有代码走查、结对编程,以及同行评审这三种手段。

代码走查,是由开发人员检查自己的代码,尽可能多地发现各类潜在错误。但是,由于个人能力的差异,以及开发人员的“思维惯性”,很多错误并不能在这个阶段被及时发现。
结对编程,是一种敏捷软件开发的方法,一般由两个开发人员结成对在一台计算机上共同完成开发任务。其中,一个开发人员实现代码,通常被称为“驾驶员”;另一个开发人员审查输入的每一行代码, 通常被称为“观察员”。
同行评审,是指代码递交到代码仓库,或者合并代码分支到主干前,需要和其他同事进行评审,只有通过所以评审,代码才会被真正递交。(较普通的做法)

自动静态方法
指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术,并结合各自预定义和自定义的代码规则,对程序代码进行静态扫描发现语法错误、潜在语义错误,以及部分动态错误的一种代码分析技术。

其通常能够以极低的成本发现以下问题:

• 使用未初始化的变量;
• 变量在使用前未定义;
• 变量声明了但未使用;
• 变量类型不匹配;
• 部分的内存泄漏问题;
• 缓冲区溢出;
• 数组越界;
• 不可达的僵尸代码;
• 过高的代码复杂度;
• 死循环;
• 大量的重复代码块;
• …

动态方法

人工动态方法
指设计代码的输入和预期的正确输出的集合,然后运行代码,判断实际输出是否符合短期。

自动动态方法
又称自动边界测试方法,指的是基于代码自动生成边界测试用例并执行,以捕捉潜在的日常、崩溃和超时的方法。

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值