本文转自测试人社区,作者AD
原文链接:https://ceshiren.com/t/topic/27838

测试方案设计

简介

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

学习价值

  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——多少,做到什么程度,数量如何,质量水平如何,费用产出如何。

适当绘图

思维导图

编写测试用例,梳理思路

架构图

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

image.png

时序图

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

类图:

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

推荐

Python全栈开发与自动化测试开发班

由浅入深实战进阶,从小白到高手

以Python全栈开发为基础,深入教授自动化测试技能,为学员打造全面的技术能力。通过系统学习和实际项目实战,学员将具备在职场中脱颖而出的竞争力。不仅能够灵活运用Python进行开发,还能够保障项目质量通过自动化测试手段。这是一个全面提升职业竞争力的机会。

课程详情

Python开发必备基础技能与项目实战

Pvthon 编程语言/算法和数据结构/面向对象编程Web后端开发/前端开发/测试管理平台项目实战

人工智能ChatGPT实战

人工智能辅助学习各种开发和测试技能/Pytorch深度学框架/平台开发实战

数据分析与自动化办公

数据采集/Pandas与数据处理技术/ECharts与数据可视化技术/爬虫实战/自动化办公/批量文件处理

UI自动化测试与高级项目实战

Web自动化测试/App自动化测试/ PageObject设计模式

接口自动化测试

接口协议分析/Mock实战/服务端接口测试

性能测试

性能测试流程与方法/JMeter 脚本参数化/Grafana监控系统搭建

简历指导与模拟面试

1V1简历指导/模拟真实面试/测试开发岗面试全攻略名企私教服务 名企专家1v1辅导/行业专家技术指导/针对性解决工作难题/绩效提升辅导与晋升复盘

课程亮点

名企私教服务  先学习后付费 高额奖学金

专属社群+晚自习在线答疑

5V1全方位辅导作业+考试强化学习效果

简历修改 模拟面试 就业内推 面试复盘

image.png  

福利一: 测试开发精品课免费学

image.png  

福利二:免费领取技能图谱&大厂面试题合集

image.png

e4de1166c0b6a944f3fe30fdd71e77f.png


用户bPc5q3Z
12 声望1 粉丝