什么是探索性测试?
探索式测试(Exploratory Testing,简称ET)是一种自由的软件测试风格,强调测试人员同时展开测试学习、测试设计、测试执行和测试结果评估等活动,以持续优化测试工作。
由Cem Kaner提出的探索性测试是一种测试思维,没有具体的测试计划、测试用例。测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息用于新的测试实践中。
探索性测试的优点
- 可以帮助我们定位到隐藏比较深的问题 ,常规测试没有覆盖到的场景。
- 更有效率
- 快速发现严重问题
- 测试过程灵活控制
- 在敏捷开发项目比较适用
- ET提高了测试覆盖率
探索性测试的必要性
普通测试需要编写和维护测试用例,耗时长;
需要严格地执行既定的测试用例;
测试交流较少,注重结果,而忽略思想,测试效率低。
探索性测试和自由测试的区别
探索性测试不是自由测试,而是需要有一定的方法来指导,自由测试更像是发散测试,不注重测试计划和设计。
探索性测试的目标:
1、理解应用程序如何工作,它的接口看起来怎么样,它实现了哪些功能。
2、强迫软件展示其全部能力。(尽可能多的尝试软件的可能性)
3、找到缺陷。(树立明确的目的,而不是为了测试而测试)
什么时候适合进行探索性测试?
- 软件稍微稳定的时候,拓展当前测试的覆盖度和深度。
- 近期没有发现很多的bug,常规的测试已经执行完毕的情况下。
- 需求不明确,需要依靠经验和个人理解进行测试。
探索性测试方法、代表用户行为及发现的缺陷类型
实际操作流程
- 明确产品的背景和需求。 确定主要功能模块,和项目组测试人员沟通哪个模块bug较多,哪个模块bug较少,哪个模块存在风险比较大。
- 确定模块测试思路,比如:ET与ST并存,以ET为主,辅以少量主路径和重要功能ST。 确定有多少个模块,制定模块测试计划
- 和项目组测试人员进行模块评审 分轮次安排模块执行,发现问题及时记录,最后发送ET测试报告
- 与项目组测试人员沟通ET的效果以及该产品存在的风险,同时跟踪确认bug的solve情况。
总之,探索性测试,不仅是简单对测试策略的补充和完善,它是一种高效而具有创意的测试过程,对于测试人员的能力要求较高,所以平时测试时我们要刻意去锻炼自己的探索性思维。