测试架构师修炼之道:从测试工程师到测试架构师(第2版)
上QQ阅读APP看书,第一时间看更新

4.2.1 为什么深入理解质量对测试如此重要

当前,测试行业基本达成了一项和质量相关的共识,就是尽管测试者常说自己是质量的守护者,但是测试本身却不能有效提升质量。大多数情况下,测试更像是“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据。这个“照镜子”的过程,也就是质量评估的过程,换句话说,测试虽然无须为产品质量提升负责,但是要对有效的质量评估负责。如何评估质量?这就是摆在每一位测试者面前的难题——我们可以说这个系统质量好或者不好,这个评估是否是主观的?有没有标准或者可供分析的维度?

这就需要我们去探索质量的本质——产品质量是什么?根据IEEE 24765—2010的定义,产品质量是指“在特定的使用条件下,产品满足明示的和隐含的需求的固有特性”,简言之,质量就是满足需求

也就是说,测试进行质量评估,评估的内容其实就是产品是否满足了用户的需求。

但是理解用户需求并不是一件容易的事情,我们从市场或者产品处拿到的用户需求,往往只是一句描述功能性需求的话,很少有非功能方面的描述。而且很多时候用户和我们所处的行业背景不同,他们提出的需求我们不一定理解,还有很多需求是行业的规范、约定俗成的要求或者用户的使用习惯,这些都犹如冰山下隐藏的庞大山体。这时我们就需要借助模型来进行系统分析,识别那些隐藏的需求,预防缺陷,提升产品质量。这个模型,就是接下来我们要讨论的软件产品质量模型。