创建测试计划和测试套件指南

使用 Microsoft 测试管理器为团队项目创建测试计划和测试套件时,可以采用多种方法。 本主题重点介绍两种方法,它们均基于开发方法。

一种方法是创建一个用于所有里程碑的测试计划,然后按进度添加测试套件和测试。 然而,如果使用此方法,则不会向您提供有关先前里程碑测试通过率的历史数据。 因此,最好根据特定迭代或里程碑(无论使用哪种开发方法)的测试目标创建测试计划。 通过为迭代或里程碑创建测试计划,您可以根据测试目标查看特定迭代或里程碑的完成时间。 还可以在完成当前里程碑的测试时为下一迭代或里程碑准备测试计划。 使用此方法,您可以跟踪每个测试计划的测试进度,并查看应用程序质量的改进情况。

如果同时将手动和自动测试添加到测试套件中,则可以基于测试套件和测试计划的这两种类型的测试查看整体质量。

可基于用于开发和测试应用程序的方法使用以下各节:

  • 敏捷开发

  • 其他开发方法

有关测试计划和测试套件以及如何创建它们的更多信息,请参见使用测试计划定义测试工作量

敏捷开发

如果使用敏捷方法开发和测试应用程序,通常需创建用户情景并使用冲刺 (sprint) 和迭代跟踪开发和测试任务的进度。 可以将测试计划与每个冲刺 (sprint) 关联。 例如,您的 Web 应用程序可能具有以下用户情景:

  1. 用户希望从网站中选择多种产品并将它们添加到购物车中。 (冲刺 (sprint) 1)

  2. 用户希望使用信用卡购买购物车中的商品。 (冲刺 (sprint) 1)

  3. 用户希望在购买商品时保存其信息,以便下次更快地购买。 (冲刺 (sprint) 2)

  4. 用户希望在购买商品时登录到其帐户以检索个人信息,而不是重新输入个人信息。 (冲刺 (sprint) 2)

以下步骤假定这些内容是项目的用户情景。 您需要为这些用户情景创建测试用例。 您可能还需要测试用例来测试可以连接在一起的多个用户情景的端到端功能。 例如,您可能希望测试用户是否可以选择商品、将商品添加到购物车、登录并购买商品。 通过执行以下步骤,您将具有一组测试计划,如下图所示:

用于敏捷开发的测试计划和测试套件

项目设置

  1. 在项目开始阶段,创建以下测试计划。 (这基于您计划设置的冲刺 (sprint) 数。)

    1. 冲刺 (sprint) 1 测试计划

      这将用于测试冲刺 (sprint) 1 用户情景。

    2. 冲刺 2 (sprint) 测试计划

      这将用于测试冲刺 (sprint) 2 用户情景以及冲刺 (sprint) 1 中任何所需的回归测试。

    3. 主测试计划

      这将用于跨多个冲刺 (sprint) 的端到端测试。 它还可用于服务级别协议的性能测试。 此测试计划不一定要与特定迭代关联,因为它跨多个迭代,并且仅在所有里程碑完成时才能完成。

  2. 确定需要用于测试用户情景的测试配置。 例如,您可能希望测试应用程序的用户情景在配置 1 下是否可以在 Internet Explorer 8 中运行,以及在配置 2 下是否可以在 Firefox 3.5 中运行。 然后使用 Microsoft 测试管理器创建这些测试配置。 有关如何创建测试配置的更多信息,请参见使用测试配置定义测试矩阵

  3. 将需要用于用户情景的测试配置添加到测试计划中。 默认情况下,这些测试配置将用于在测试计划中创建的任何测试套件。

    提示

    如果需要对特定用户情景或测试用例使用不同的配置,可以更改每个测试套件的测试配置。 有关更多信息,请参见如何:为测试计划或测试套件选择其他测试配置

冲刺 (sprint) 1 测试

  1. 将冲刺 (sprint) 1 的用户情景 1 和 2 添加到冲刺 (sprint) 1 测试计划中,以创建两个基于要求的测试套件。 有关如何基于用户情景创建测试套件的更多信息,请参见如何:向测试计划添加要求或用户情景

  2. 检查需要用于用户情景测试套件的测试配置是否正确。 默认情况下,每个测试套件都设置为使用测试计划的测试配置。

  3. 将验收测试用例添加到用户情景 1 和 2 的这些测试套件中。 例如,可以将以下测试用例添加到相应测试套件中:

    1. 用户情景 1:向购物车中添加一件商品

    2. 用户情景 1:从购物车中删除一件商品

    3. 用户情景 2:购买购物车中的一件商品

      如果将这些测试用例添加到基于用户情景创建的测试套件中,则它们自动与该用户情景关联。 有关如何将测试用例添加到测试套件中的更多信息,请参见如何:向测试套件添加测试用例

      提示

      您可以在创建测试用例时添加测试步骤,测试步骤也可以由另一测试人员在清楚步骤的具体内容后添加。

  4. 如果创建任何自动测试,则可以将它们添加到测试套件中。 例如,如果您具有任何单元测试或编码的 UI 测试,则可以将它们与测试用例关联,然后将其添加到测试套件中。 有关更多信息,请参见如何:将自动测试与测试用例关联从自动测试的程序集创建测试用例。 可以在冲刺 (sprint) 期间这些测试就绪时添加它们。

  5. 将您知道需要在用户情景完成时测试的所有端到端测试用例添加到主测试计划中的端到端测试套件中。

  6. 在冲刺 (sprint) 期间可以测试用户情景时,将测试计划的测试套件状态设置为**“进行中”**。 有关更多信息,请参见如何:更改测试套件的测试状态

    提示

    您可能还需要添加探索测试用例以便对每个用户情景执行探索测试。 此测试用例只需一个测试步骤即可创建,该测试步骤用于探索此用户情景并在您查找 Bug 时录制操作。

  7. 在**“运行测试”**视图中,可以选择要运行的测试点。 测试点是测试用例和测试配置对。 例如,测试人员 A 的计算机上仅安装了 Internet Explorer 8。 测试人员 A 选择必须在 Internet Explorer 8 中运行的所有用户情景测试点,并运行这些测试点。 测试人员 B 选择需要在 Firefox 3.5 中运行的所有用户情景测试点,并运行这些测试点。

  8. 该用户情景测试套件的所有手动和自动测试完成后,您可以查看该测试套件的测试状态。 在**“测试”活动中,选择“运行测试”**视图。 还可以运行报告以查看状态。 根据对每个冲刺 (sprint) 设置的质量目标,您可以确定冲刺 (sprint) 测试任务是否已完成。 有关 Microsoft 测试管理器报告功能的更多信息,请参见报告测试计划的测试进度

  9. 冲刺 (sprint) 1 完成时,必须确定需要将哪些测试作为下一冲刺 (sprint) 的回归测试运行,以确保新用户情景的开发不会破坏冲刺 (sprint) 1 用户情景的功能。

  10. 在冲刺 (sprint) 2 测试计划中创建称为“回归”的测试套件。 然后,将为这些回归测试标识的测试用例添加到冲刺 (sprint) 2 测试计划中的此测试套件中。

冲刺 (sprint) 2 测试

  1. 将冲刺 (sprint) 2 的用户情景 3 和 4 添加到冲刺 (sprint) 2 测试计划中,以创建两个基于要求的测试套件。

  2. 将验收测试用例添加到用户情景 3 和 4 的这些测试套件中。 例如,您可以添加以下测试用例:

    1. 用户情景 3:创建登录帐户

    2. 用户情景 3:在未创建登录帐户的情况下签出。

    3. 用户情景 4:登录到登录帐户。 (可以向此测试用例中添加参数以使用不同的登录名登录。)

    4. 用户情景 4:用户忘记密码

    5. 用户情景 4:查看帐户的订单

      您可以在创建测试用例时添加测试步骤,测试步骤也可以由另一测试人员在清楚步骤的具体内容后添加。

  3. 如果创建任何自动测试,则可以将它们添加到测试套件中。 例如,如果您具有任何单元测试或编码的 UI 测试,则可以将它们与测试用例关联,然后将其添加到测试套件中。 可以在冲刺 (sprint) 期间这些测试就绪时添加它们。

  4. 将您知道需要在用户情景完成时测试的所有新端到端测试用例添加到主测试计划中的端到端测试套件中。

  5. 在冲刺 (sprint) 期间可以测试用户情景时,将测试套件的状态更改为**“进行中”**。 然后,运行该用户情景测试套件的手动和自动测试。

    提示

    您可能还需要添加探索测试用例以便对每个用户情景执行探索测试。 此测试用例只需一个测试步骤即可创建,该测试步骤用于探索此用户情景并在您查找 Bug 时录制操作。

  6. 现在可以从**“测试”活动的“运行测试”**视图中查看每个测试套件的测试状态。 还可以运行报告以查看状态。 根据对每个冲刺 (sprint) 设置的质量目标,您可以确定冲刺 (sprint) 测试任务是否已完成。

  7. 运行适合此冲刺 (sprint) 的任何性能测试或端到端测试。

  8. 冲刺 (sprint) 2 完成时,必须确定需要将哪些测试作为下一冲刺 (sprint)(如果有)的回归测试运行,以确保新用户情景的开发不会破坏冲刺 (sprint) 2 用户情景的功能。

  9. 在下一冲刺 (sprint) (冲刺 3)的测试计划中,从冲刺 (sprint) 2 测试计划复制称为“回归”的测试套件。 然后,将为这些回归测试标识的测试用例添加到冲刺 (sprint) 3 测试计划中的此测试套件中。 有关如何从另一测试计划复制测试套件的更多信息,请参见如何:从另一个测试计划复制测试套件

对每个冲刺 (sprint) 重复此过程。 使用此方法,您将为冲刺 (sprint) 创建一组测试计划。 还将生成由回归测试组成的测试套件,该测试套件会应用于下一测试计划。 对于关键里程碑(如 Beta 1),您可以选择重新运行冲刺 (sprint) 中的部分或所有测试。 您可以使用这些相同方法为此里程碑(名为 Beta 1)创建测试计划,然后将测试套件复制到此测试计划中。 这样,您就可以单独记录此测试计划的测试结果并将它们与各个冲刺 (sprint) 测试计划进行比较。

其他开发方法

如果未遵循敏捷方法,则开发和测试任务可能基于功能。 但是,您还可以使用要求而不是用户情景。 如果使用要求,则可以使用敏捷开发一节中的方法,并为特定里程碑而不是冲刺 (sprint) 创建测试计划,然后向测试计划中添加要求。 例如,您可能具有 Beta 1 测试计划,Beta 1 的所有要求作为测试套件添加在此测试计划中。 然后,您可以将验收测试用例和单元测试添加到这些测试套件中,并将测试用例与要求关联。 有关更多信息,请参见如何:向测试计划添加要求或用户情景。 有关如何将单元测试添加到测试计划中的更多信息,请参见如何:将自动测试与测试用例关联从自动测试的程序集创建测试用例

如果使用在更大程度上基于功能的方法,则您的 Web 应用程序可能具有以下功能:

  1. 购物车 (Alpha)

  2. 登录 (Alpha)

  3. 签出 (Beta 1)

  4. 查看订单 (Beta 1)

以下步骤假定这些内容是项目的功能。 还假定功能将与团队项目的特定区域路径关联。 您需要为这些功能创建测试用例。 您可能还需要专门测试多个功能的测试用例。 例如,您可能希望测试用户是否可以将商品添加到购物车中、登录并购买商品。 通过执行以下步骤,您将具有一组测试计划,如下图所示。

基于功能的测试套件指南

项目设置

  1. 在项目开始阶段,创建以下测试计划。 (这基于您计划设置的里程碑数。)

    1. Alpha

      这将用于测试对 Alpha 可用的功能。

    2. Beta 1

      这将用于测试对 Beta 可用的功能,包括根据 Alpha 反馈对功能所做的任何更改或 Alpha 功能的任何添加项。

  2. 确定必须具有的测试配置以用于测试这些功能。 例如,您可能希望测试应用程序的这些功能在配置 1 下是否可以在 Internet Explorer 8 中运行,以及在配置 2 下是否可以在 Firefox 3.5 中运行。 然后使用 Microsoft 测试管理器创建这些测试配置。 有关如何创建测试配置的更多信息,请参见使用测试配置定义测试矩阵

  3. 将需要用于功能的测试配置添加到测试计划。 默认情况下,这些测试配置将用于在测试计划中创建的任何测试套件。

    提示

    如果需要对特定功能或测试用例使用不同的配置,可以更改每个测试套件的测试配置。 有关更多信息,请参见如何:为测试计划或测试套件选择其他测试配置

Alpha 测试

  1. 将购物车的测试套件和登录的测试套件添加到 Alpha 测试计划中。 您可以将它们创建为静态测试套件,然后将测试用例添加到这些套件中。 有关如何将测试用例添加到静态测试套件中的更多信息,请参见如何:创建和管理测试套件

    重要说明重要事项

    您还可以在基于所测试产品的区域创建测试用例时选择区域路径。 区域路径通常映射到功能或功能组。 如果这样做,则可以基于此区域路径的查询创建基于查询的测试套件。 将测试用例添加到此区域路径时,它自动添加到基于查询的测试套件中。 这样可能有助于维护测试套件。 在本示例中,您可以为等于 1 的区域路径创建一个基于查询的测试套件,为等于 2 的区域路径创建另一个基于查询的测试套件,而不是创建静态测试套件。 有关如何创建这些基于查询的测试套件的更多信息,请参见如何:创建和管理基于查询的测试套件

  2. 检查需要用于每个功能的测试套件的测试配置是否正确。 默认情况下,每个测试套件都设置为使用测试计划的测试配置。

  3. 将测试用例添加到相应功能的这些测试套件中。 例如,可以将以下测试用例添加到相应测试套件中,如果创建了基于查询的测试套件,则只需使用区域路径的正确值创建测试用例:

    1. 购物车:向购物车中添加一件商品

    2. 购物车:从购物车中删除一件商品

    3. 登录:登录到用户帐户

      有关如何将测试用例添加到测试套件中的更多信息,请参见如何:向测试套件添加测试用例

      提示

      您可以在创建测试用例时添加测试步骤,测试步骤也可以由另一测试人员在清楚步骤的具体内容后添加。

  4. 如果创建任何自动测试,则可以将它们添加到测试套件中。 例如,如果您具有任何单元测试或编码的 UI 测试,则可以将它们与测试用例关联,然后将其添加到测试套件中。 如果基于区域路径创建了基于查询的测试套件,则必须确保这些测试用例的区域路径值是正确的。 有关如何将自动测试与测试用例关联的更多信息,请参见如何:将自动测试与测试用例关联从自动测试的程序集创建测试用例。 可以在 Alpha 测试期间这些测试就绪时添加它们。

  5. 在项目的 Alpha 阶段准备测试功能时,将测试计划的测试套件状态设置为**“进行中”**。 有关更多信息,请参见如何:更改测试套件的测试状态

    提示

    您可能还需要添加探索测试用例以便对功能执行探索测试。 此测试用例只需一个测试步骤即可创建,该测试步骤用于探索此功能并在您查找 Bug 时录制操作。

  6. 在**“运行测试”**视图中,可以选择要运行的测试点。 测试点是测试用例和测试配置对。 例如,测试人员 A 的计算机上仅安装了 Internet Explorer 8。 测试人员 A 选择需要在 Internet Explorer 8 中运行的所有用户情景测试点,并运行这些测试点。 测试人员 B 选择需要在 Firefox 3.5 中运行的所有用户情景测试点,并运行这些测试点。

  7. 功能测试套件的所有手动和自动测试完成后,您可以从**“测试”活动的“运行测试”**视图中查看该测试套件的测试状态。 还可以运行报告以查看状态。 根据对 Alpha 测试设置的质量目标,您可以确定测试任务是否已完成。 有关 Microsoft 测试管理器报告功能的更多信息,请参见报告测试计划的测试进度

Beta 1 测试

  1. 将测试套件从 Alpha 测试计划复制到 Beta 1 测试计划。 有关如何从另一测试计划复制测试套件的更多信息,请参见如何:从另一个测试计划复制测试套件

  2. 如果使用静态测试套件,请将签出的测试套件和查看订单的测试套件添加到 Beta 1 测试计划。 如果对区域路径使用基于查询的测试套件,则为区域路径 1 或 2 创建的任何测试都将自动添加到从 Alpha 测试计划复制的测试套件中。

  3. 将称为“端到端”的测试套件添加到 Beta 1 测试计划。 可以将测试用例添加到此测试套件中以测试包含多个功能的端到端方案。

  4. 将测试用例添加到这些新功能的这些测试套件中,如果使用的是基于查询的测试套件,则只需使用正确的区域路径值创建测试用例。 还可以添加测试用例,以更改 Alpha 功能或为这些功能添加新项。 例如,您可以添加以下测试用例:

    1. 签出:从购物车中签出商品

    2. 签出:在未创建登录帐户的情况下签出。

    3. 登录(其他测试用例):用户忘记密码

    4. 查看订单:查看帐户的订单

    5. 端到端:添加商品、登录并签出

      您可以在创建测试用例时添加测试步骤,测试步骤也可以由另一测试人员在清楚步骤的具体内容后添加。

  5. 如果创建任何自动测试,则可以将它们添加到测试套件中。 例如,如果您具有任何单元测试或编码的 UI 测试,则可以将它们与测试用例关联,然后将其添加到测试套件中。 可以在 Beta 1 期间这些测试就绪时添加它们。

  6. 在 Beta 1 期间准备测试功能时,将测试套件的状态更改为**“进行中”**。 然后,运行该功能测试套件的手动和自动测试。

    提示

    您可能还需要添加探索测试用例以便对 Beta 1 的每个新功能执行探索测试。 此测试用例只需一个测试步骤即可创建,该测试步骤用于探索此功能并在您查找 Bug 时录制操作。

  7. 现在可以从**“测试”活动的“运行测试”**视图中查看每个测试套件的测试状态。 还可以运行报告以查看状态。 根据对 Beta 1 设置的质量目标,您可以确定测试任务是否已完成。

  8. 运行 Beta 1 所需的任何端到端测试。

如果您的项目具有多个里程碑,则可以对每个里程碑继续执行此过程。 使用此方法,您将为每个里程碑创建一个新测试计划。 还将生成由端到端测试组成的测试套件,这些测试会复制到下一里程碑的测试计划。 如果您没有足够的时间来运行前一里程碑的测试套件中的所有测试,可以限制测试套件中已复制的测试。 例如,您可以将要运行的测试限制为仅优先级为 1 的测试。 如果使用的是基于查询的测试套件,则可以更改查询以添加优先级。 如果使用的是静态测试套件,则只需删除不需要对里程碑重新运行的测试用例。

请参见

任务

使用 Microsoft 测试管理器的手动测试快速入门指南

概念

使用测试计划定义测试工作量