技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 111 常见问题 5 技术文章 106

如何构建、执行和报告探索性测试

时间:2023-09-25   访问量:1011

探索性测试是一种动态且无脚本的软件测试方法,您可以根据特定的目标或任务而不是形式化的脚本或一组测试步骤来测试应用程序或产品。 

探索性测试对于发现应用程序中的未知风险或缺陷特别有用——尤其是从用户接受度的角度来看——并且它在很大程度上依赖于测试人员的领域知识、创造力和直觉。 

执行探索性测试的最常见方法遵循基于会话的测试管理的五个阶段(也称为“SBTM 周期”):

1. 定义测试的任务或目标 

2. 创建测试章程

3. 测试的时间范围

4. 检查结果 

5. 汇报

如何构建探索性测试 

虽然探索性测试比传统的脚本测试更自发、适应性更强,但它是采用分步、基于时间的 SBTM 循环方法构建的。

1. 设定测试任务或目标

2. 创建测试章程

测试章程是一份简洁的高级指南,可作为使命宣言,帮助您集中探索性测试工作并适应不断变化的条件,同时留出创造力的空间。

例如,如果您正在测试电子商务平台的 Web 应用程序登录,则测试章程可能类似于“分析主页登录菜单功能并报告潜在风险区域”或“分析 Web 应用程序的登录功能, ”或“了解拥有虚假数据的人是否仍然可以登录我们的网络应用程序。”

章程旨在帮助您保持正轨并通过监督将特定风险降至最低。创建测试章程时,应包括以下内容: 

探索性测试章程示例

例如,社交媒体应用程序的章程可能是“围绕配置文件创建进行快速攻击”或“测试组成员内部和外部的多用户评论、权限和竞争条件”。

具有第二个章程的测试人员可能会创建三个帐户,其中两个是同一组的成员,然后发送只有该组可以看到的帖子,确保第三个成员看不到它们。测试人员可能会发布一个帖子,看到它向第二个用户显示,然后在一个浏览器中单击“删除”,并在另外两秒后发布评论。

通常,章程侧重于应用程序的特定部分,例如购物车、结账、登录/丢失密码流程或报告面板。然而,他们也可以探索特定的用户旅程或新功能。当公司发布新的浏览器或检查并了解支持浏览器或平板电脑需要什么时,通常会进行快速概述会议。 

使用章程可以采用模糊的黑匣子流程,并将其转变为在此运行中管理的风险集合。

3. 测试的时间范围

时间盒是测试人员集中精力且不受干扰的 测试会话。

时间盒涉及在预定时间内执行以下步骤:

4. 检查结果 

5. 汇报

基于会话的测试管理的一个重要部分是从进行的测试会话中学习并使测试负责。为了从测试中学习,与其他团队成员或利益相关者一起对测试会话进行汇报是改进未来会话的好方法,确保覆盖了被测系统的所有重要方面并审查测试的有效性。

图片: TestRail 提供实时报告,帮助您满足合规性要求并跟踪您的探索性测试。TestRail 还保留所有注释、屏幕截图和报告的缺陷的透明时间历史记录,因此您可以在中心位置轻松查看所有测试会话。 

汇报是会议中经常被忽视的信息辅助手段,因为无论谁担任测试经理,都会对应用程序的质量和覆盖范围有一个整体的了解。汇报反馈的示例包括对测试目标进度的评估或检测到的最重要缺陷的摘要。

探索性测试的示例

以下是现实场景中探索性测试的示例:

场景:您是一名测试人员,正在为一家零售公司开发基于 Web 的电子商务应用程序。

测试章程:测试结帐流程的可用性和功能。

  1. 您首先探索应用程序、访问网站并了解其主要功能,例如产品浏览、购物车管理和支付处理。

  2. 要开始执行测试,请将商品添加到购物车并进行结账。执行此操作时,您会注意到在添加或删除商品时购物车有时无法正确更新。您可以使用屏幕截图和描述来记录此错误。 

  3. 鉴于这一发现,您适应并决定进一步探索购物车功能,尝试添加和删除项目的不同组合并检查一致性。 

  4. 您继续记录遇到的错误并将其实时报告给开发团队(持续反馈),直到探索会话结束。错误可能包括控制台中的错误消息、意外行为和可用性问题。

在此示例中,此探索性测试会话使您能够发现仅通过脚本测试无法识别的购物车问题。它还促进了与开发团队的快速反馈循环,有助于提高软件的整体质量。

如何使用敏捷测试管理工具执行探索性测试

使用章程执行探索性测试在敏捷环境中很有帮助,因为交付时间更快。然而,在共享电子表格中跟踪探索性测试结果可能会变得难以承受,并且可能会丢失详细信息。在网络驱动器上的单个文档中跟踪它们可能会更糟。 

TestRail 中,您可以将章程存储为测试用例。然后,您可以创建一个测试运行,其中包含您决定为特定版本运行的所有不同类型的探索性测试。 

图片:在 TestRail 中,您可以添加测试用例、选择“探索性会话”模板、添加时间估计、添加任务(探索性会话的目的)以及添加目标(验证的特定领域)。 

测试人员可以在会话中留下对测试用例的评论,软件将收集数据并提供有关该数据的摘要报告。

对于结合脚本测试和探索性测试的简单应用程序,测试运行可能是两打脚本测试用例和四个旨在探索特定风险的章程。下面的示例将会话记录为测试用例。

图片:通过将会话记录为测试用例,使用 TestRail 执行探索性测试。

如何使用测试管理工具报告探索性测试

只有当您为利益相关者提供准确且可操作的结果,为利益相关者提供有关如何推进其流程和产品的见解时,探索性测试才有效。这包括强调关键发现、问题和风险,以及展示覆盖范围、质量和置信水平。

测试用例管理工具可以提供探索性测试的绝佳视图。通过将版本之间的会话构建为“测试运行”(即版本)中的“测试用例”,任何具有访问权限的测试人员或利益相关者都可以看到已涵盖的内容和仍需要涵盖的内容。 

图片:使用TestRail 等专用测试用例管理平台作为探索性测试工具来管理、组织、跟踪和简化为探索性测试用例生成报告的过程。

查看这篇文章,了解如何使用测试用例管理工具改进探索性测试!

探索性测试常见问题解答

脚本测试与探索性测试:

脚本化测试遵循具有特定步骤的预定义测试用例,而探索性测试涉及无脚本的临时测试,测试人员直观地探索软件以发现缺陷并评估其行为。 

下面的表格详细说明了脚本化测试和探索性测试之间的主要区别:

方面脚本化测试探索性测试
测试用例创建预定义的测试用例没有预定义的测试用例
测试执行遵循脚本步骤临时的、无脚本的
测试计划需要详细的测试计划不太正式的测试计划
灵活性灵活性较差高度灵活
测试文档丰富的文档最少的文档
测试覆盖率具体且有限更广泛的测试覆盖范围
自动化测试非常适合自动化测试不适合自动化(需要人类的本能和好奇心)
错误发现发现新问题的效率较低有效发现隐藏问题
用例适合重复性工作适合新功能测试

探索性测试的类型

探索性测试是灵活的、无脚本的,并且可以根据特定的测试目标采取各种形式。探索性测试技术的常见类型包括:

您选择的探索性测试类型取决于您的测试目标、软件的性质和测试团队的专业知识。通常,结合使用测试来确保彻底覆盖和缺陷发现。

何时使用探索性测试

探索性测试在以下场景和情况下是有益的:

当灵活性、适应性和发现意外问题的能力对于有效测试至关重要时,探索性测试就很有价值。它通过提供更全面的软件质量视图来补充脚本测试。

敏捷探索性测试的优势

探索性测试在敏捷开发环境中具有多种优势:

探索性测试通过提供跟上敏捷开发生命周期所需的灵活性、适应性和快速反馈来补充敏捷开发中的脚本测试。它帮助敏捷团队交付满足不断变化的需求和用户期望的高质量软件。

敏捷探索性测试的挑战

虽然探索性测试在敏捷开发中提供了多种优势,但它也带来了敏捷团队应该意识到并解决的一些挑战:

探索性测试在很大程度上依赖于判断和直觉。不同的探索性测试人员对于关键缺陷或可用性问题的构成可能有不同的观点,从而导致主观评估。

探索性测试最佳实践

虽然这些最佳实践提供了指导,但探索性测试是一种动态且灵活的方法,您应该对其进行调整以满足您的项目和组织的特定需求。以下是进行探索性测试的一些一般最佳实践:


上一篇:手动测试与自动测试:主要区别

下一篇:如何写一份好的测试总结报告(模板+示例)

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部