跳到主要内容

软件测试 - 跟踪矩阵

作为一名软件工程师,你肯定知道软件测试的重要性。而今天,我们要聊的是一个在软件测试中非常重要的工具 —— 需求跟踪矩阵(Requirement Traceability Matrix,简称 RTM)。它就像是一个桥梁,把需求和测试用例紧密地联系起来,确保你的软件测试不会漏掉任何关键功能。接下来,就让我们一起深入了解它吧!

什么是需求跟踪矩阵?

需求跟踪矩阵(RTM)是一个非常重要的文档,它将所有的需求和测试用例进行映射。通过这个文档,你可以验证测试用例是否覆盖了客户要求的所有功能。

  • 需求(Requirements):客户对项目的具体要求。
  • 可追溯性(Traceability):能够追溯测试的能力。
  • 矩阵(Matrix):以行和列的形式存储数据。

需求跟踪矩阵的主要目的是验证测试用例是否覆盖了客户的所有需求。简单来说,它就像是用纸和笔来分析两个数据信息,不过我们这里用的是 Excel 表格来验证需求跟踪矩阵中的数据。

为什么需求跟踪矩阵很重要?

当业务分析师从客户那里拿到需求后,他们会准备一个叫做系统/软件需求规格说明书(SRS)的文档,需求就存储在这个文档里。如果你在敏捷开发模型中工作,这个文档就叫迭代待办事项(Sprint Backlog),需求以用户故事的形式存在。

当 QA 团队拿到 SRS 或迭代待办事项文档后,他们首先要彻底理解需求,然后开始编写测试用例,并与整个项目团队一起审查。但有时候,测试用例可能会遗漏一些需求的功能,为了避免这种情况,就需要需求跟踪矩阵。

  • 在 RTM 中,每个测试用例都能追溯到每个需求,因此测试中遗漏需求的可能性很小,可以实现 100% 的测试覆盖率。
  • RTM 帮助用户发现需求的变更以及需求的来源。
  • 使用 RTM,可以追溯需求,确定是哪个团队或个人提出了这个需求,并且可以用来优先级排序。
  • 它有助于检查需求和其他开发工件(如技术需求等)之间的关系。
  • 跟踪矩阵可以帮助测试者识别添加新需求后是否影响了之前的测试用例。
  • RTM 有助于评估 QA 团队对测试用例的复用情况。

需求跟踪矩阵的参数

下面的图展示了 RTM 的基本模板。在这里,需求 ID 是按行排列的,测试用例 ID 是按列排列的,也就是说这是一个正向跟踪矩阵。

需求跟踪矩阵包含以下参数:

  1. 需求 ID(Requirement ID):为项目中的每个需求分配一个唯一的 ID。
  2. 需求描述(Requirement description):在系统/软件需求规格说明书(SRS)文档中,为每个需求提供详细描述。
  3. 需求类型(Requirement Type):了解需求的类型,比如银行、电信、医疗保健、旅行、电子商务、教育等。
  4. 测试用例 ID(Test cases ID):测试团队设计测试用例,并为每个测试用例分配一个 ID。

跟踪矩阵的类型

需求跟踪矩阵有 3 种类型:

  1. 正向跟踪矩阵(Forward traceability matrix)
  2. 反向跟踪矩阵(Backward traceability matrix)
  3. 双向跟踪矩阵(Bi-directional traceability matrix)

正向跟踪矩阵(Forward traceability matrix)

在正向跟踪矩阵中,我们将需求与测试用例进行映射。这里可以验证所有需求是否都已覆盖在测试用例中,测试用例中没有遗漏任何功能。它可以帮助你确保 SRS/迭代待办事项中的所有需求都能追溯到测试人员设计的测试用例。它用于检查项目是否朝着正确的方向发展。

在正向跟踪矩阵中:

行 = 需求 ID

列 = 测试用例 ID

反向跟踪矩阵(Backward traceability matrix)

在反向跟踪矩阵中,我们将测试用例与需求进行映射。这里可以验证是否添加了任何不需要的额外测试用例。它可以帮助你确保你设计的测试用例都能追溯到需求或用户故事,并且你没有通过创建额外的测试用例来扩展工作范围。反向跟踪矩阵也被称为逆向跟踪矩阵

在 Excel 中的反向跟踪矩阵:

行 = 测试用例 ID

列 = 需求 ID

双向跟踪矩阵(Bi-directional traceability matrix)

双向跟踪矩阵是正向跟踪矩阵和反向跟踪矩阵的结合。在这里,我们从两个方向验证需求和测试用例。

双向跟踪矩阵

双向跟踪矩阵 = 正向跟踪矩阵 + 反向跟踪矩阵

谁需要需求跟踪矩阵?

当测试人员设计测试用例时,他们需要检查测试用例是否覆盖了客户在 SRS/迭代待办事项中给出的应用程序的所有功能。

  • 为了验证这一点,他们需要一个需求跟踪矩阵。
  • 他们通常使用 Excel 表格或 Google 表格来创建 RTM。

如何创建 RTM?

在创建 RTM 之前,你需要准备 SRS/迭代待办事项文档和测试用例文档。以下是创建 RTM 的步骤:

  1. 使用 Excel 表格来创建 RTM。
  2. 写上项目的名称、日期以及负责 RTM 的人名。
  3. 在 Excel 表格的第一列中按行写上所有需求 ID。
  4. 在第二列中按行写上所有需求描述。
  5. 在第三列中按行写上所有需求类型。
  6. 在 Excel 表格中按列写上所有测试用例及其 ID。
  7. 写完所有需求和测试用例后,你需要验证每个需求是否都有对应的正向和负向测试用例。

RTM 的优势

以下是使用 RTM 的一些好处:

  1. 完整的测试覆盖:RTM 确保 100% 的测试覆盖。
  2. 验证遗漏的功能:这个文档可以帮助测试者检查在测试应用程序时是否遗漏了任何功能。
  3. 帮助优先级排序和跟踪需求:它还可以帮助你了解哪些额外的测试用例不属于需求的一部分。
  4. 帮助跟踪测试状态:可以轻松跟踪整体测试状态。
  5. 提供一致的文档:RTM 可以帮助团队提供一致的文档。
  6. 版本控制更简单:RTM 有助于跟踪所需的修改以及它们对项目各个部分的影响。

需求跟踪矩阵模板

下面的图展示了 RTM 的基本模板。在这里,需求 ID 是按行排列的,测试用例 ID 是按列排列的,也就是说这是一个正向跟踪矩阵。

从下面的图中可以看到:

  • 验证需求 1 的测试用例是 1 和 7。
  • 验证需求 2 的测试用例是 2 和 10,其他需求也是如此。

小结

需求跟踪矩阵(RTM)是软件测试中不可或缺的工具。它帮助你确保测试用例完全覆盖了客户的需求,避免遗漏功能,并且可以轻松跟踪需求变更。通过正向、反向和双向跟踪矩阵,你可以从不同角度验证需求与测试用例之间的关系。掌握 RTM,你的测试工作将更加高效和准确。