跳到主要内容

撰写高质量的测试说明

简介

在代码提交请求中提供清晰的测试说明是 WooCommerce 中质量工程的第一步,这对于尽早进行测试以及最大限度地减少 WooCommerce 未来版本中意外影响至关重要。

本页面包含以下部分:

什么是测试?

测试是一种方法,我们可以使用它来检查某事物是否满足某些标准。 它通常被定义为一种程序,其中包含将待测系统置于特定状态所需的所有步骤,然后再执行要检查的操作。 因此,一个测试由以下几个阶段组成:

  • 前提条件: 执行要检查的操作之前,需要执行的所有步骤,以使系统处于期望的状态。 一个测试可能包含多个前提条件。
  • 操作: 这是导致系统中发生我们想要检查的更改的精确步骤。 理想情况下,每个测试应该只覆盖一个方面,因此操作应该只有一个。
  • 验证: 与执行操作后,验证结果所需的步骤相关。 一个测试可以验证多个方面。

例如,在将商品添加到购物车的过程中:

  • 前提条件 将包括:
    • 产品创建过程。
    • 以顾客身份登录。
    • 访问列出产品的商店页面。
  • 操作 将是点击所需产品的“加入购物车”按钮。
  • 验证 阶段将包括检查购物车图标(如果有)是否显示 1 个更多商品,以及我们选择的商品是否已包含在购物车中。

明确前提条件、操作和验证对于理解测试的范围非常有益,因为:

  • 前提条件 描述了我们必须执行哪些步骤才能成功执行测试。
  • 操作 让我们了解测试的目的,换句话说,它是理解我们需要测试的内容的关键。
  • 验证 阶段让我们知道在执行测试时应该期望的结果。

在此上下文中,我们将测试说明称为我们需要执行的测试,以验证代码提交请求或发布的更改是否按预期工作。 这意味着测试说明可能引用一个或多个测试,包括正常流程和潜在的边缘情况。

测试说明应该涵盖的内容

如前一部分所述,一个测试(在我们的语境中,一个测试说明)是一种方法,用于检查新的更改或一组更改是否满足某些标准。

因此,一个 Pull Request (PR) 可以包含针对多个场景的测试说明,实际上,建议包含尽可能多的测试说明,以覆盖 PR 中引入的所有更改。 换句话说,请添加尽可能多的测试说明,以覆盖验收标准,将验收标准理解为_软件产品必须满足的条件,才能被用户、客户或其他利益相关者接受_,或者,在 PR 的语境下,PR 必须满足的条件,才能被用户、开发者和 WooCommerce 社区接受,如要求所述。

撰写高质量测试说明的流程

  1. 概述您想要覆盖的用户流程
  2. 定义执行测试说明的环境(服务器、PHP 版本、WP 版本、必需的插件等),并像从全新安装开始一样撰写测试说明。
  3. 识别前提条件操作验证步骤。
  4. 撰写尽可能多的前提条件,以解释如何设置 WooCommerce 的状态,以便您可以执行所需的操作来测试每个流程。
    1. 尽量详细地解释用户在 WooCommerce 中需要执行的交互操作。
    2. 如果某个用户流程在公开指南中有详细说明,您可以直接在测试说明中链接到该指南,而无需编写多个步骤。 例如,“请按照测试账户文档中提到的步骤启用 WooCommerce Payments 的开发模式”
  5. 撰写操作步骤,该步骤应涵盖我们希望在此用户流程中测试的特定操作。
  6. 撰写尽可能多的验证步骤,以评估实际结果是否符合预期。
    1. 请记住,仅检查验证此更改是否正常运行所需的步骤。

撰写高质量测试说明的注意事项

  • 以一种所有人都能理解和遵循的方式定义测试说明,即使是那些不熟悉 WooCommerce 的人。
  • 务必详细描述每一个细节,避免假设知识,因为读者的范围可能很广,有些人可能不了解您所假设的概念。例如,不要说“启用 [x] 实验”,而应该说:
- 安装 WooCommerce Beta Tester 插件。
- 访问 `工具 > WCA 测试助手 > 实验`。
- 切换 [x] 实验。
  • 始终尝试详细说明用户应该前往哪里,例如,不要说“以管理员身份访问订单页面”,而应该说“访问 [url]”或“访问 WooCommerce > 订单”。
  • 尽量使用真实的测试数据。例如,不要说“输入产品的名称”,而应该说“输入 '蓝色 T 恤' 作为产品名称”。这会使其更易于理解,并消除与假设知识相关的潜在疑问。
  • 确保您的测试说明保持更新,如果它们在新的提交中变得过时,请及时更新。
  • 如果测试说明需要添加自定义代码,请提供代码片段
  • 如果测试说明需要安装插件,请提供指向该插件的链接,或用于安装的 zip 文件
  • 如果测试说明需要访问 API 接口,请提供指向接口文档的链接
  • 理想情况下,请提供截图和/或视频,以支持测试说明所解释的内容。如果您使用指向协作工具的链接,也请为那些无法访问这些工具的人提供相应的截图/视频。

示例

优质的测试说明示例

示例 1

优质说明示例

示例 2

另一个优质说明示例

改进真实测试的说明

在这一部分,您将看到一些真实测试说明的例子,这些例子有改进的空间(前)以及我们如何对其进行调整(后)。

前:

需要改进的说明

后:

改进后的说明

改进:

所做的更改

前:

提供改进后说明的例子

后:

提供改进后说明的例子

改进:

改进的例子

前:

提供改进后说明的例子

后:

提供改进后说明的例子

改进:

改进的例子