探索性测试
了解什么是探索性测试及其历史。了解探索性测试的优缺点、它与脚本测试的不同之处以及使用它的适当背景。
Deepak Parmar
特约作家
探索性测试是一种软件测试方法,通常被描述为同步学习、测试设计和执行。它侧重于发现,依靠个体测试人员的指导来发现其他测试范围不容易涵盖的缺陷。
近年来,探索性测试的实践势头增强。鼓励测试人员和 QA 经理将探索性测试作为全面测试覆盖策略的一部分。
探索性测试的历史
探索性测试已经存在了一段时间,但通常被称为‘临时测试’。“探索性测试”一词是由软件测试专家 Cem Kaner 在他的经典著作 Testing Computer Software(《测试计算机软件》)中正式引入的。
这篇简介现在广为人知:“无论您创建了多少类型的测试用例,正式计划的测试都将用完。您可以继续测试。随心所欲地运行新测试,无需花费太多时间准备或解释测试。相信您的直觉。”
为什么要使用探索性测试
当今的团队需要采用持续集成并满足市场对优质数字体验的需求,以满足不断提高的客户期望。虽然上市速度很重要,但也有数百万美元的错误或简单的用户体验灾难的例子,代价非常高。从波音到 Instagram,很多例子表明,急于在截止日期之前交付和质量差的测试导致了声誉和经济损失。
大多数软件质量测试都使用结构化方法。测试用例是根据已经定义的用户故事定义的,而测试数据则基于定义的测试用例进行结构化。测试覆盖率是使用软件工程指标来衡量的,在大多数情况下,覆盖率在技术上是足够的。
查看解决方案
使用 Open DevOps 构建和操作软件
相关资料
DevOps 的自动化测试
它经常遗漏的是边缘案例,这些案例是通过用户验收测试 (UAT) 发现的,并根据用户角色进行测试。另一方面,探索性测试本质上是随机或非结构化的,可以揭示在结构化测试阶段不会被发现的错误。
通过探索性测试,测试人员可以进行一个遵循特定顺序的用户故事。测试人员可以注释缺陷、添加断言和语音备忘录并即时创建文档。这就是将用户故事转换为测试用例的方式。此信息也可以用于 QA。
实际上,无需正式编写测试步骤即可实现测试执行。然后,探索性测试工具成为自动化的先驱。它有助于正式确定调查结果并自动记录下来。借助视觉反馈和协作测试工具,每个人都可以参与探索性测试。这使团队能够快速做出反应和适应变化,从而促进敏捷的工作流程。
此外,测试人员可以使用自动化测试用例文档的工具将探索性测试序列转换为功能测试脚本。这强化了传统的测试流程。
通过与 Jira 和测试管理产品等工具集成,团队可以直接将记录的文档导出到测试用例中。
因此,探索性测试可以加快文档速度,促进单元测试,并有助于创建即时反馈循环。正如情境驱动软件测试学院的联合创始人 James Bach 所说,“探索性测试鼓励实时科学思考。”
什么时候应该使用探索性测试?
探索性测试适用于特定的测试场景,例如当有人需要快速了解产品或应用并提供快速反馈时。它有助于从用户的角度审查产品的质量。
在许多软件周期中,当团队没有太多时间组织测试时,需要尽早进行迭代。这种情况下,探索性测试非常有用。
测试任务关键型应用时,探索性测试可确保您不会错过导致严重质量故障的边缘案例。另外,使用探索性测试来辅助单元测试流程,记录步骤,并在以后的冲刺中使用该信息进行广泛测试。
寻找新的测试场景以增强测试覆盖率特别有用。
什么时候对探索性测试说不
组织必须能够在探索性测试和脚本测试之间取得适当的平衡。仅靠探索性测试无法提供足够的覆盖率,除非团队达到了几个初步的里程碑,否则他们不应该尝试这样做。
特别是对于任何类型的受监管或基于合规性的测试,脚本测试都是必经之路。在基于合规性的测试中,出于法律原因需要遵守某些清单和规定,建议坚持脚本测试。这方面的一个例子是访问权限测试,其中有几项法律约束测试协议,并且有明确的标准需要通过。
CI/CD 探索性测试的重要性
探索性测试向所有主要利益相关者开放测试,而不仅仅是训练有素的测试人员。使用探索性测试工具,可以在会话期间捕获屏幕截图、录制语音备忘录和注释反馈。这样可以让传统软件测试人员以外的人员进行更快、更高效的审核。
探索性测试补充了 QA 团队现有的测试策略。它包括一系列未记录的测试会话,以发现尚未发现的问题/错误。与自动化测试和其他测试实践相结合时,它可以提高测试覆盖率,发现边缘案例,有可能增加新功能,并从总体上改进软件产品。由于没有结构僵化,它鼓励团队内部进行实验、创造和发现。
反馈近乎即时的性质有助于缩小测试人员和开发人员之间的差距。最重要的是,探索性测试的结果为开发团队提供了以用户为导向的视角和反馈。目标是补充传统测试,以发现通常隐藏在定义的工作流程背后的百万美元缺陷。
您可以访问 Atlassian Marketplace,了解有关测试管理应用的更多信息。此外,您可以通过我们的 DevOps 测试教程了解 Atlassian 和第三方工具如何将测试集成到您的工作流程中。
分享这篇文章
下一个主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。