1)探索性测试与脚本化测试的主要区别:1)探索性测试将更多更高的认知水平的工作放在测试执行,而脚本化测试则更关注测试设计;2)前者更强调测试活动的并行和相互反馈(学习、设计、执行与结果分析等),而后者的测试活动是相对串行的。
2)脚本化测试的主要优点是:1)尽早发现缺陷;2)不同利益相关者参与评审;3)可重用性;4)测试覆盖率评估。
3)脚本化测试强调测试的尽早介入,如尽早设计测试用例。但是测试人员越早设计测试用例,对测试对象的了解越少,对风险的了解也越少。测试人员对测试对象的了解是一个逐步的过程,脚本化测试需要更多的工作量以应对这个过程(需求的细化和变更等)。
4)提供测试对象的质量信息是测试的一个主要目的。但是不同的人对质量的理解是不一样的,脚本化测试能预先定义所有利益相关者的质量要求吗?脚本化测试能预先定义不同缺陷的来源吗?回答是不能。而这正是探索性测试引入的一个初衷。
5)测试对象的需求是不断变更的、不同开发人员会犯不同的错误、测试环境与组合也是不断变化的,通过脚本化测试很难及时跟踪这些问题,即使能也需要考虑时间与成本。探索性测试的及时反馈与不断修正是一个解决之道。
6)“复现缺陷,并确定复现的具体步骤”、“下棋”、“刑侦现场”、“拼图游戏”等,其中的思维应该是探索性,还是脚本化?哪个效率更高?
7)组织内引入探索性测试,需要测试人员掌握各种技术与方法、知识、技能与实践,并以此为支撑,不是每天喊着这个概念就可以成功实施的。这个理念也同样适用于敏捷开发与测试。车是好车,但是我们的路修好了吗?