您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 其他相关 > 正文

谈谈白盒测试体系

发表于:2020-06-04 作者:吴芳昱 来源:搜狗测试

随着互联网行业的发展,用户对软件的品质要求也越来越高,且软件的更新迭代速度也越来越快,这里有些项目就得提到白盒测试了。

本文就过去3年我们在白盒测试上积攒的一些经验给大家坐下简单的分享,主要从以下6个方面展开:

什么是白盒测试

为什么要做白盒测试

哪些项目适合白盒测试

什么时候做白盒测试

谁来做白盒测试

如何建立白盒测试体系

1.什么是白盒测试

简介

白盒测试即在了解到代码的基础上进行测试,包括但不限于单元测试、接口测试、代码静态检查等等。

传统的白盒测试

主要指全面了解程序内部逻辑结构、对所有逻辑路径进行测试,方法上主要单元测试。但这一做法成本极高,需要超过1:1的测试开发比。

我们的白盒测试

核心思想就是:

从代码技术导向变为用户需求导向,即在了解代码实现逻辑的基础上,从用户需求的角度充分设计测试用例。

当然一些基础底层函数,比如字符串查找等还是只能从代码出发去做传统的白盒测试覆盖,不过这部分比例我们尽可能降低。

2.为什么要做白盒测试

提升工程效率

虽然白盒测试前期的成本很高,但是在完成基础建设后效率提升是非常显著的,我们团队从2016年底开始白盒测试以来,平均每个版本的测试人力成本下降了71.44%。

加强质量覆盖

对于一些逻辑复杂的模块,单纯的黑盒测试很难覆盖到各种场景。我们团队从2016年底开始白盒测试以来,平均每个版本的线上事故下降了97%。

3.哪些项目适合白盒测试

逻辑复杂且UI少

首先如果逻辑很简单,单测也就没有太大的必要了;其次如果很多UI强相关,比如各种Android App的UI展示模块,这块涉及到更多的是UI展现、兼容性测试等等,单测无法很好的覆盖。

长期维护

这个就不用多说了,刚刚也提到了单测的前期投入成本巨大,且收益很少,我们项目的单测也是开展一年多后才出现效率的明显提升。不是长期维护的项目很难收回成本。

4.什么时候做白盒测试

尽早开展

众所周知软件开发模型中,问题发现的越晚成本越高。所以这里也是建议尽早开展,我们目前的项目流程中,要求在开发提测前就完成70%的单元、接口测试用例,以保证功能主路径没问题。

5.谁来做白盒测试

研发主导

这里最理想的模式是由研发同学来完成,Google等走在业界前沿的公司已经做到了这点。

目前我们是要求开发同学负责70%的主路径测试,且项目进度紧张时,测试同学会协助完成。可惜从规范这个流程开始,还没有遇到过项目进度不紧张的时候。