漫谈测试成长之探索——测试策略

2022-09-05 00:00:00 工作 测试 环境 需求 策略

在《漫谈软件系统测试——问题解决》一文中,文章借鉴控制疫情的四大策略,总结了软件系统质量保障的四大策略。那么在日常工作中,我们应该如何理解测试策略呢?

什么是测试策略?

测试策略是描述软件开发周期的测试方法的概述。测试策略的目的是从组织的目标到实际的测试活动提供合理的推论,以从质量保证的角度实现这些目标。

对于一个完整的系统,其测试策略内容一般包含测试范围、测试角色、测试方法、测试工具、测试层级、测试类型、验证环境、风险和处理方案、测试指标和测试可交付成果等内容。如何来理解这些内容呢?我们可以将其简化为四个问题:测什么?由谁测?什么时候测?怎么测?

测什么?

如果按测试范围划分,如果需求是新增独立模块,其测试范围可以只关注新内容。如果需求是旧版本的迭代或者与其他模块存在关联,我们除了关注新增的需求内容,还需要关注旧版本内容和关联模块。

如果按测试类型划分,测试内容除了功能测试,我们还需要开展性能测试、兼容测试和安全测试等工作,这些内容在日常的功能测试中涉及比较少,但是如果从整个产品质量角度考虑,我们还是需要关注的。

如果按测试层级划分,测试内容可以包含单元测试、集成测试、系统测试和验收测试。

由谁测?

只有测试人员可以参与测试么?当然不是。在项目中,负责测试的角色其实还可以包含产品人员、设计人员、开发人员和用户。单元测试主要由开发人员编辑测试代码,同时,开发在需求提交测试前需要完成自测工作。集成测试和系统测试主要由测试人员完成,产品人员和设计人员需要在需求发布前进行验收测试。当然,用户也可以参加测试,例如在正式全量发布前,部分用户可以被邀请参加内测。

除了测试角色,虽然还有其他角色也会参与到测试工作中,但是其测试内容是有限的。在项目开展过程中,需求的质量保障工作主要还是需要由我们测试工程师把控,同时可以引导其他角色的人员对质量保障起到辅助的作用。

什么时候测?

在软件开发生命周期中,开展测试工作阶段主要包含需求开发、需求测试和需求发布阶段。

需求开发阶段,可以开展单元测试工作。在需求测试阶段,可以开展集成测试和系统测试工作。在需求发布阶段,可以开展验收测试工作。

在不同阶段,对应的测试环境可以包含:开发环境、测试环境、预发布环境和生产环境。其中单元测试主要在开发环境和测试环境进行,集成测试和系统测试主要在测试环境和预发布环境进行,验收测试可以在测试环境,也可以在预发布环境或者是生产环境进行。

怎么测?

测试的方法一般包括黑盒测试、灰盒测试和白盒测试。

黑盒测试方法有等价类划分、边界值分析、错误推测法、因果图测试法和场景法等。灰盒测试方法有矩阵测试、回归测试、模式测试和正交阵列测试等。白盒测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法和基本路径测试法等。

工欲善其事,必先利其器。除了掌握测试方法,我们还需要了解相关测试工具,从而降低测试成本,提高测试效率。常见的测试工具类型包括:UI测试工具、接口测试工具、性能测试工具和安全测试工具等。当我们需要采用某种测试方法开展测试工作时,可以结合对应类型的测试工具,帮助测试工作能够降本提效。

除了掌握常规流程的测试方法,对于当前不可测或者未知的风险,我们一方面需要研究其测试方法,另一方面也需要有合理的风险预案,当风险发生时,我们能够有有效的措施去规避或者小化影响面。

总结

什么是测试策略?本文将其概括为测什么?由谁测?什么时候测?怎么测?

在了解了测试策略之后,我们就需要在测试工作中运用测试策略开展工作。这时候我们就需要考虑资源和质量的平衡,在有限的资源前提下,我们需要学会采用合适的测试策略来保障项目的质量。至于如何权衡,大家可以在工作中不断积累经验。

相关文章