测试方案设计
简介
将自己积累的技术和知识进行抽象总结,将逐步解决问题的过程立体化、可视化地展现给大家,而不只是简单地介绍一个结果。
学习价值
-
对自己的工作不仅要知其然还要知其所以然,尝试站在更高的视角思考问题,完善自己的工作。
-
对工作不仅要能做好,更要能完整的表达与转述,如此在布置工作、汇报工作乃至于求职面试的时候,才能完整的展示出来自己的实力,做的多而完全不会表达是职场大忌。
-
优秀的方案等同于优质产品,如果能输出优质的方案/产品,是进阶到专家的必走之路。
应用场景
其实,功能测试、自动化测试、性能测试、安全测试、测试框架开发、平台研发等工作都是为了提高软件测试的质量,没有高低贵贱之分,都是必要的辅助手段。可以将软件测试类比为一个兵团,上述这些工作是不同的兵种,在面对一场战役的时候,我们需要考虑的是如何排兵布阵,以赢得战役,而不是排列兵种的等级。
小步迭代、快速上线的敏捷开发时代,再次对测试提出了更高的要求,持续集成、快速验证、全方位监控线上质量,需要测试人员更早地介入产品研发的整个过程,以便更好、更全面地了解产品。测试左移到开发阶段进行代码评审、单元测试,右移到运维阶段进行持续部署、线上监控,从而可以更加立体地保障软件的质量。
使用人群
-
测试工程师。
-
测试开发工程师。
-
测试经理。
如何设计
设计思路
-
确立目标。
-
制定计划。
-
制定测试策略。
-
定期复盘。
确立目标
在设计任何一个方案的时候,第一步一定是确立目标。确立目标的时候需要从以下几个维度进行考量:
-
业务背景:业务的侧重点是什么,他们更想要的交付是什么。
-
团队背景:团队的情况、资源、能力、技术栈。
确认完背景之后,需要梳理目前团队所碰到的挑战是什么,需要整体的罗列出来。比如
-
资源紧缺。
-
业务复杂。
-
架构冗余。
制定计划
所有的问题不可能一蹴而就的解决,所以在梳理出问题之后,使用紧急重要四象限等多种方法,将现有的问题分类,制定不同阶段的阶段性目标。
注意: 制定测试计划的时候不要搞一言堂,一定要拉上下级多多沟通,并且要有灵活调整的能力。
制定策略
在确立目标之后,就需要思考如果需要达成这些目标,应该使用什么样的方式方法。常见的测试策略有:
-
功能测试。
-
安全测试。
-
兼容性测试。
-
自动化测试。
-
性能测试。
-
持续集成/持续交付 Devops。
当然,还有其他不同类型的测试策略,不在此做过多赘述。
其中每一个测试策略都有其自己要保障的重心,再次强调,使用什么测试策略,一定是和自己的测试目标是对齐的。
定期复盘
制定完成计划时候,就会进入到实施阶段,实施的结果如何,中间是否有什么问题,都需要定期跟进与复盘。碰到问题及时解决或者汇报。
常用方法论
写测试方案是一个可大可小的工作内容,如果要输出一个特别优质的测试方案,甚至需要一个团队的力量。大部分同学往往在刚开始写测试方案的时候就已经犯难,觉得无从下手。在这里介绍一些科学的方法论,辅助大家完成这一工作。
金字塔原理
自上而下
-
提出主题思想。
-
设想受众的主要疑问。
-
写序言:背景—冲突—疑问—回答。
-
与受众进行疑问—回答式对话。
-
对受众的新疑问,重复进行疑问—回答式对话。
自下而上
-
列出你想表达的所有思想要点。
-
找出各要点之间的逻辑关系。
-
得出结论。
5W2H 法
5W2H 分析法又叫七问分析法,创于二战中美国陆军兵器修理部。简单、方便,易于理解,实用,富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。
-
WHAT——是什么,目的是什么,做什么工作。
-
WHY——为什么要做,可不可以不做,有没有替代方案。
-
WHO——谁,由谁来做。
-
WHEN——何时,什么时间做,什么时机最适宜。
-
WHERE——何处,在哪里做。
-
HOW ——怎么做,如何提高效率,如何实施,方法是什么。
-
HOW MUCH——多少,做到什么程度,数量如何,质量水平如何,费用产出如何。
适当绘图
思维导图
编写测试用例,梳理思路
参考地址:MindMap syntax and features
架构图
在梳理业务架构、技术架构中最常用的一种绘图手段。
时序图
时序图描述对象是如何交互的,并且将重点放在消息序列上。
参考地址:时序图的语法和功能
类图:
类图主要应用在开发过程中,完成概要设计的一种方式和手段。
参考地址:类图的语法和功能