一、什么是探索性测试
探索性测试是一种软件测试风格,而不是一种具体的软件测试技术(如:等价类划分、边界值分析法、组合测试等)确切的说他是一种测试思想。
探索性测试强调依据当前待测项目实际情况,选择合适的测试技术,而不局限于特定的测试技术
我们究竟该如何去理解探索式测试呢?
首先,探索式测试是一种软件测试风格(style)。
而不是一种具体的软件测试技术(比如性能测试,等价类分析等)。
也不是在某个测试阶段才能做的测试。
更不是敏捷下特有的软件测试方法。
探索式测试作为一种思维方法(approach),强调要根据当前的实际情况(context-driven testing,很多材料翻译的都是“上下文语境驱动”,非常不好理解,我觉得用中国的老话来解释就是要根据当前的实际情况,具体问题具体分析)来选择最合适的测试技术,进行测试。
二、探索性测试的核心思想
探索性测试强调独立测试人员的自由和责任。测试人员应该为个人和团队负责,调动所有能量,发挥人的灵活性,在整体上持续优化个人和团队的产出
探索性测试建议在整个项目过程中,将测试相关学习、测试设计、测试执行和测试结果分析作为相互支持的活动,并行的执行。实际上,人脑难以并行的执行多项任务。
探索性测试旨在将测试学习、测试设计、测试执行和测试结果分析作为一个循环快速的迭代,以不断收集反馈、调整测试、优化价值
发散测试与探索测试的区别
发散测试和探索式测试都需要对探索被测系统,但发散测试是想到哪里就立马去测试,天马行空很随意;而探索式测试需要在测试之前分析一下,看看这个探索是否值得(优先级)。除此之外,发散测试在测试之前不太关心预期结果,就是测了再说
三、什么样的项目适合做探索性测试
1. 场景1
软件需求说明书不完善
时间紧迫
没有测试用例
需要快速完成版本新功能的测试
作用:更快设计、更快执行、更低成本
2. 场景2
系统测试完成之后,还有多余的时间,可以使用探索性测试作为测试补充,尝试测试系统测试未覆盖到的场景、或系统测试出现问题较多的版块
作用:减少漏测,提高覆盖
四、探索性测试的前提
团队对产品功能比较熟悉,比如做过同类型的软件
已经可以运行的待测软件(开发已经开发完成)
五、探索性测试在项目中如何落地
快速学习需求:
基于对软件历史版本的熟悉,对新版本功能快速学习,提出问题并进行澄清
作出测试计划:
时间、范围、团队分工等
利用脑图形式,列出有哪些模块,覆盖哪些场景,每个场景的注意事项,然后进行评审
探索性测试计划示例:
六、脑图
执行探索的过程中,根据情况,逐步深挖(也是边执行边学习的过程)每条path,更新并记录(做出√或者×的标识),执行探索过程中走过的path(带着反思去执行测试)
七、提交缺陷
把探索式测试过程中发现的缺陷提交到缺陷管理系统中,修复后回归
八、报告总结
以简单的表格,对bug的分布,数量、级别,进行统计和报告
如有侵权,邮箱联系,实属抱歉。
此只为学习个人笔记整理,同时如有转载请注明出处。
联系邮箱:wengyao1234@outlook.com
一同学习测开技企鹅群(闲聊,水群,广告勿扰):826471103