测试的本质是验证研发交付的产出物是否达到需求设计及预期的标准。并不能直接带来质量的提升,只能通过种种手段多维度的去验证是否达标,并通过流程规范、度量标准等去保障最终的交付物达标。
因此,我们常说的各种测试技术手段,都是验证和保障交付质量的手段,而不是构建质量的手段。
在日常的工作流程中,比较通用的流程如下图所示:
从质量保障和交付的角度来讲,软件交付生命周期中大体可分为如下三个阶段:
需求设计质量:这个阶段包括原型图、PRD文档、交互设计、技术方案、测试用例等几项重要产出物,当然他们有一定的前后依赖关系。
我们谈软件交付质量,不可避免的要从它的源头说起,而源头就是需求和设计阶段要做的事情。
如上图所示,我们为什么需要做大量的评审工作呢?因为如果在源头存在问题,那么研发过程和后面的用户使用质量,就无从谈起。方向错了,就全错了。
评审最大的作用就是集各个角色(产品&研发&测试)从不同角度对需求设计进行解读理解,提出疑问和建议并进行修正。确保在最开始确定方向和需求细节方面,尽可能降低或者避免遗漏及不合理带来的质量交付风险。