白盒测试体系—开篇

2020-05-08 16:03:27 浏览数 (1)

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

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

  • 什么是白盒测试
  • 为什么要做白盒测试
  • 哪些项目适合白盒测试
  • 什么时候做白盒测试
  • 谁来做白盒测试
  • 如何建立白盒测试体系

1

什么是白盒测试

【简介】

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

【传统的白盒测试】

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

【我们的白盒测试】

核心思想就是:

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

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

2

为什么要做白盒测试

【提升工程效率】

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

【加强质量覆盖】

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

3

哪些项目适合白盒测试

【逻辑复杂且UI少】

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

【长期维护】

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

4

什么时候做白盒测试

【尽早开展】

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

5

谁来做白盒测试

【研发主导】

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

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

6

如何建立白盒测试体系

【提纲】

由于内容较多,这里就先列个提纲:

  • 框架搭建
  • 用例维护
  • 流程规范
  • 结果度量
  • 团队文化

0 人点赞