测试方案设计

测试方案设计

简介

将自己积累的技术和知识进行抽象总结,将逐步解决问题的过程立体化、可视化地展现给大家,而不只是简单地介绍一个结果。

学习价值

  1. 对自己的工作不仅要知其然还要知其所以然,尝试站在更高的视角思考问题,完善自己的工作。

  2. 对工作不仅要能做好,更要能完整的表达与转述,如此在布置工作、汇报工作乃至于求职面试的时候,才能完整的展示出来自己的实力,做的多而完全不会表达是职场大忌。

  3. 优秀的方案等同于优质产品,如果能输出优质的方案/产品,是进阶到专家的必走之路。

应用场景

其实,功能测试、自动化测试、性能测试、安全测试、测试框架开发、平台研发等工作都是为了提高软件测试的质量,没有高低贵贱之分,都是必要的辅助手段。可以将软件测试类比为一个兵团,上述这些工作是不同的兵种,在面对一场战役的时候,我们需要考虑的是如何排兵布阵,以赢得战役,而不是排列兵种的等级。

小步迭代、快速上线的敏捷开发时代,再次对测试提出了更高的要求,持续集成、快速验证、全方位监控线上质量,需要测试人员更早地介入产品研发的整个过程,以便更好、更全面地了解产品。测试左移到开发阶段进行代码评审、单元测试,右移到运维阶段进行持续部署、线上监控,从而可以更加立体地保障软件的质量。

使用人群

  • 测试工程师。

  • 测试开发工程师。

  • 测试经理。

如何设计

设计思路

  1. 确立目标。

  2. 制定计划。

  3. 制定测试策略。

  4. 定期复盘。

确立目标

在设计任何一个方案的时候,第一步一定是确立目标。确立目标的时候需要从以下几个维度进行考量:

  1. 业务背景:业务的侧重点是什么,他们更想要的交付是什么。

  2. 团队背景:团队的情况、资源、能力、技术栈。

确认完背景之后,需要梳理目前团队所碰到的挑战是什么,需要整体的罗列出来。比如

  1. 资源紧缺。

  2. 业务复杂。

  3. 架构冗余。

制定计划

所有的问题不可能一蹴而就的解决,所以在梳理出问题之后,使用紧急重要四象限等多种方法,将现有的问题分类,制定不同阶段的阶段性目标。

注意: 制定测试计划的时候不要搞一言堂,一定要拉上下级多多沟通,并且要有灵活调整的能力。

制定策略

在确立目标之后,就需要思考如果需要达成这些目标,应该使用什么样的方式方法。常见的测试策略有:

  • 功能测试。

  • 安全测试。

  • 兼容性测试。

  • 自动化测试。

  • 性能测试。

  • 持续集成/持续交付 Devops。

当然,还有其他不同类型的测试策略,不在此做过多赘述。

其中每一个测试策略都有其自己要保障的重心,再次强调,使用什么测试策略,一定是和自己的测试目标是对齐的。

定期复盘

制定完成计划时候,就会进入到实施阶段,实施的结果如何,中间是否有什么问题,都需要定期跟进与复盘。碰到问题及时解决或者汇报。

常用方法论

写测试方案是一个可大可小的工作内容,如果要输出一个特别优质的测试方案,甚至需要一个团队的力量。大部分同学往往在刚开始写测试方案的时候就已经犯难,觉得无从下手。在这里介绍一些科学的方法论,辅助大家完成这一工作。

金字塔原理

自上而下
  1. 提出主题思想。

  2. 设想受众的主要疑问。

  3. 写序言:背景—冲突—疑问—回答。

  4. 与受众进行疑问—回答式对话。

  5. 对受众的新疑问,重复进行疑问—回答式对话。

自下而上
  1. 列出你想表达的所有思想要点。

  2. 找出各要点之间的逻辑关系。

  3. 得出结论。

5W2H 法

5W2H 分析法又叫七问分析法,创于二战中美国陆军兵器修理部。简单、方便,易于理解,实用,富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。

  • WHAT——是什么,目的是什么,做什么工作。

  • WHY——为什么要做,可不可以不做,有没有替代方案。

  • WHO——谁,由谁来做。

  • WHEN——何时,什么时间做,什么时机最适宜。

  • WHERE——何处,在哪里做。

  • HOW ——怎么做,如何提高效率,如何实施,方法是什么。

  • HOW MUCH——多少,做到什么程度,数量如何,质量水平如何,费用产出如何。

适当绘图

思维导图

编写测试用例,梳理思路

参考地址:MindMap syntax and features

架构图

在梳理业务架构、技术架构中最常用的一种绘图手段。

时序图

时序图描述对象是如何交互的,并且将重点放在消息序列上。

参考地址:时序图的语法和功能

类图:

类图主要应用在开发过程中,完成概要设计的一种方式和手段。

参考地址:类图的语法和功能