《漫谈软件系统测试——问题解决》一文中,文章借鉴控制疫情的四大策略,总结了软件系统质量保障的四大策略。那么在日常工作中,我们应该如何理解测试策略呢?
什么是测试策略
对于一个完整的系统,其测试策略内容一般包含测试范围、测试角色、测试方法、测试工具、测试层级、测试类型、验证环境、风险和处理方案、测试指标和测试可交付成果等内容。如何来理解这些内容呢?我们可以将其简化为四个问题:测什么?由谁测?什么时候测?怎么测?
测什么?
按测试范围划分,如果需求是新增独立模块,其测试范围可以只关注新内容。如果需求是旧版本的迭代或者与其他模块存在关联,我们除了关注新增的需求内容,还需要关注旧版本内容和关联模块。
按测试类型划分,测试内容除了功能测试,我们还需要开展性能测试、兼容测试和安全测试等工作,这些内容在日常的功能测试中涉及比较少,但是如果从整个产品质量角度考虑,我们还是需要关注的。
按测试层级划分,测试内容可以包含单元测试、集成测试、系统测试和验收测试。
由谁测?
除了测试角色,虽然还有其他角色也会参与到测试工作中,但是其测试内容是有限的。在项目开展过程中,需求的质量保障工作主要还是需要由我们测试工程师把控,同时可以引导其他角色的人员对质量保障起到辅助的作用。
什么时候测?
在需求开发阶段,可以开展单元测试工作。在需求测试阶段,可以开展集成测试和系统测试工作。在需求发布阶段,可以开展验收测试工作。
怎么测?
测试的方法一般包括黑盒测试、灰盒测试和白盒测试。
黑盒测试方法有等价类划分、边界值分析、错误推测法、因果图测试法和场景法等。灰盒测试方法有矩阵测试、回归测试、模式测试和正交阵列测试等。白盒测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法和基本路径测试法等。
除了掌握常规流程的测试方法,对于当前不可测或者未知的风险,我们一方面需要研究其测试方法,另一方面也需要有合理的风险预案,当风险发生时,我们能够有有效的措施去规避或者最小化影响面。
总结
在了解了测试策略之后,我们就需要在测试工作中运用测试策略开展工作。这时候我们就需要考虑资源和质量的平衡,在有限的资源前提下,我们需要学会采用最合适的测试策略来保障项目的质量。至于如何权衡,大家可以在工作中不断积累经验。
作者简介:Chaofan,爱测角成员之一,专注探索和分享软件质量保障。