本文转自测试人社区,作者AD
原文链接:https://ceshiren.com/t/topic/27838
测试方案设计
简介
将自己积累的技术和知识进行抽象总结,将逐步解决问题的过程立体化、可视化地展现给大家,而不只是简单地介绍一个结果。
学习价值
- 对自己的工作不仅要知其然还要知其所以然,尝试站在更高的视角思考问题,完善自己的工作。
- 对工作不仅要能做好,更要能完整的表达与转述,如此在布置工作、汇报工作乃至于求职面试的时候,才能完整的展示出来自己的实力,做的多而完全不会表达是职场大忌。
- 优秀的方案等同于优质产品,如果能输出优质的方案/产品,是进阶到专家的必走之路。
应用场景
其实,功能测试、自动化测试、性能测试、安全测试、测试框架开发、平台研发等工作都是为了提高软件测试的质量,没有高低贵贱之分,都是必要的辅助手段。可以将软件测试类比为一个兵团,上述这些工作是不同的兵种,在面对一场战役的时候,我们需要考虑的是如何排兵布阵,以赢得战役,而不是排列兵种的等级。
小步迭代、快速上线的敏捷开发时代,再次对测试提出了更高的要求,持续集成、快速验证、全方位监控线上质量,需要测试人员更早地介入产品研发的整个过程,以便更好、更全面地了解产品。测试左移到开发阶段进行代码评审、单元测试,右移到运维阶段进行持续部署、线上监控,从而可以更加立体地保障软件的质量。
使用人群
- 测试工程师。
- 测试开发工程师。
- 测试经理。
如何设计
设计思路
- 确立目标。
- 制定计划。
- 制定测试策略。
- 定期复盘。
确立目标
在设计任何一个方案的时候,第一步一定是确立目标。确立目标的时候需要从以下几个维度进行考量:
- 业务背景:业务的侧重点是什么,他们更想要的交付是什么。
- 团队背景:团队的情况、资源、能力、技术栈。
确认完背景之后,需要梳理目前团队所碰到的挑战是什么,需要整体的罗列出来。比如
- 资源紧缺。
- 业务复杂。
- 架构冗余。
制定计划
所有的问题不可能一蹴而就的解决,所以在梳理出问题之后,使用紧急重要四象限等多种方法,将现有的问题分类,制定不同阶段的阶段性目标。
注意: 制定测试计划的时候不要搞一言堂,一定要拉上下级多多沟通,并且要有灵活调整的能力。
制定策略
在确立目标之后,就需要思考如果需要达成这些目标,应该使用什么样的方式方法。常见的测试策略有:
- 功能测试。
- 安全测试。
- 兼容性测试。
- 自动化测试。
- 性能测试。
- 持续集成/持续交付 Devops。
当然,还有其他不同类型的测试策略,不在此做过多赘述。
其中每一个测试策略都有其自己要保障的重心,再次强调,使用什么测试策略,一定是和自己的测试目标是对齐的。
定期复盘
制定完成计划时候,就会进入到实施阶段,实施的结果如何,中间是否有什么问题,都需要定期跟进与复盘。碰到问题及时解决或者汇报。
常用方法论
写测试方案是一个可大可小的工作内容,如果要输出一个特别优质的测试方案,甚至需要一个团队的力量。大部分同学往往在刚开始写测试方案的时候就已经犯难,觉得无从下手。在这里介绍一些科学的方法论,辅助大家完成这一工作。
金字塔原理
自上而下
- 提出主题思想。
- 设想受众的主要疑问。
- 写序言:背景—冲突—疑问—回答。
- 与受众进行疑问—回答式对话。
- 对受众的新疑问,重复进行疑问—回答式对话。
自下而上
- 列出你想表达的所有思想要点。
- 找出各要点之间的逻辑关系。
- 得出结论。
5W2H 法
5W2H 分析法又叫七问分析法,创于二战中美国陆军兵器修理部。简单、方便,易于理解,实用,富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。
- WHAT——是什么,目的是什么,做什么工作。
- WHY——为什么要做,可不可以不做,有没有替代方案。
- WHO——谁,由谁来做。
- WHEN——何时,什么时间做,什么时机最适宜。
- WHERE——何处,在哪里做。
- HOW ——怎么做,如何提高效率,如何实施,方法是什么。
- HOW MUCH——多少,做到什么程度,数量如何,质量水平如何,费用产出如何。
适当绘图
思维导图
编写测试用例,梳理思路
架构图
在梳理业务架构、技术架构中最常用的一种绘图手段。
时序图
时序图描述对象是如何交互的,并且将重点放在消息序列上。
类图:
类图主要应用在开发过程中,完成概要设计的一种方式和手段。
推荐
Python全栈开发与自动化测试开发班
由浅入深实战进阶,从小白到高手
以Python全栈开发为基础,深入教授自动化测试技能,为学员打造全面的技术能力。通过系统学习和实际项目实战,学员将具备在职场中脱颖而出的竞争力。不仅能够灵活运用Python进行开发,还能够保障项目质量通过自动化测试手段。这是一个全面提升职业竞争力的机会。
课程详情
Python开发必备基础技能与项目实战
Pvthon 编程语言/算法和数据结构/面向对象编程Web后端开发/前端开发/测试管理平台项目实战
人工智能ChatGPT实战
人工智能辅助学习各种开发和测试技能/Pytorch深度学框架/平台开发实战
数据分析与自动化办公
数据采集/Pandas与数据处理技术/ECharts与数据可视化技术/爬虫实战/自动化办公/批量文件处理
UI自动化测试与高级项目实战
Web自动化测试/App自动化测试/ PageObject设计模式
接口自动化测试
接口协议分析/Mock实战/服务端接口测试
性能测试
性能测试流程与方法/JMeter 脚本参数化/Grafana监控系统搭建
简历指导与模拟面试
1V1简历指导/模拟真实面试/测试开发岗面试全攻略名企私教服务 名企专家1v1辅导/行业专家技术指导/针对性解决工作难题/绩效提升辅导与晋升复盘
课程亮点
名企私教服务 先学习后付费 高额奖学金
专属社群+晚自习在线答疑
5V1全方位辅导作业+考试强化学习效果
简历修改 模拟面试 就业内推 面试复盘
福利一: 测试开发精品课免费学
福利二:免费领取技能图谱&大厂面试题合集
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。