什么是探索式测试?

发表于:2010-12-27 10:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:liangshi    来源:51Testing软件测试博客

分享:

  探索式测试与即兴测试(ad-hoc testing)有何区别?

  探索式测试与即兴测试的都强调”即兴发挥“,利用直觉和经验,快速地试验被测试应用,并不停地调整测试策略开发大师Andy Hunt在《Pragmatic Thinking and Learning》中指出,直觉是非显性知识的代名词,是大脑富(Rich)模式的杰出能力。如果我们只使用大脑的线性模式(语言可表达的显性知识、逻辑思维),而漠视富模式的能量,我们将浪费自身的巨大潜力。

  然而人是不完美的,某些直觉可能是认知偏见或错误。这就引出了探索式测试与即兴测试的关键不同:探索式测试是带着”反思“的学习和优化过程。在探索式测试中,测试人员不断地提出假设,用测试去检验假设,通过解读测试结果来证实或推翻假设。在这个过程中,测试人员不断完善头脑中被测试应用的模型,然后利用模型、技能、经验去驱动进一步的测试。相比即兴测试不注重测试计划和设计,探索式测试在不停地优化测试模型和测试设计。因为测试设计和测试执行的切换速度很快,许多人误以为探索式测试没有测试计划和设计。实际上,这些活动是被切分到细微的时间片中,并被反复执行。如何实施探索式测试?

  探索式测试是一种测试风格,它鼓励测试人员依据当前语境选择合适的测试实施方法。我个人认为SMART原则为探索式测试提供了一些很好的建议。

  ● Specific(具体的):测试需要一个具体的目标。

  ● Measurable(可度量的):有明确的度量可以评估目标是否达成。

  ● Achievable(可实现的):当前的目标应该是可实现的。这潜在地要求将一个大的目标分解为多个小目标,每个小目标也是具体的、可度量的。此外,跟踪小目标的完成情况也提供了整体进度的可度量性。

  ● Relevant(相关的):目标要切合当前语境,符合团队利益,且不忘企业愿景(vision)。

  ● Time-boxed(有时间限制的):为每个目标设定一个合理的最后期限。这是帮助测试人员在固定的时间窗口(time window)中排除不相关干扰、专注工作。

  依据SMART原则,测试人员可按如下描述逐步展开探索式测试。

  1、首先,测试人员制定测试计划。他分析被测试应用,确立若干个具体的测试任务,每个任务针对一个可能的风险。

  2、然后,他将测试任务分解为一系列子任务,每个子任务都有明确的退出条件和时间限制。

  3、在短暂的测试计划之后,测试人员根据优先级选择一个小任务,在一个固定的时间窗口中执行探索式测试。我建议时间窗口的长度是50分钟,因为这是人脑可以专注工作的极限时间。再这段时间里,他设计测试,执行测试,评估测试结果,获得知识,然后为了获得新知再设计测试。

  4、在时间窗口结束后,测试人员应该适当休息,放松思维。

  5、随后,他会反思当前的测试进展,并优化测试计划。也许他会为当前任务追加一个时间窗口;也许他会再增加一个新的任务以弥补当前测试计划的不足;也许他会精简一些任务以反映他对测试对象的最新认知。

  6、这时,他会更有自信地开始新一轮探索式测试。

  再次重申,以上只是一种可能的探索式测试实施方法。负责任的测试人员一定会选择他自己的方式展开测试,因为只有作为领域专家的他,才能做出最符合语境的决策。当然,集合整个团队的能量,进行伙伴评审、头脑风暴、结对测试等活动,有助于产生更好的测试结果。

版权声明:本文出自liangshi的51Testing软件测试博客:http://www.51testing.com/?298785

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

22/2<12
重磅发布,2022软件测试行业现状调查报告~

精彩评论

  • BlackHatzw
    2010-12-28 09:07:44

    有点像MS的Ad Hoc Testing,也难怪James A. Whittaker曾经是MS的测试架构师

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号