跳到主要内容

撰写高质量的测试说明

简介​

在代码提交请求中提供清晰的测试说明是 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​

另一个优质说明示例

改进真实测试的说明​

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

前:

需要改进的说明

后:

改进后的说明

改进:

所做的更改

前:

提供改进后说明的例子

后:

提供改进后说明的例子

改进:

改进的例子

前:

提供改进后说明的例子

后:

提供改进后说明的例子

改进:

改进的例子