使用生成系统运行测试

更新:2011 年 5 月

您可以定义一个生成过程,该过程将运行测试并分析代码更改对您的测试产生的影响。 例如,您可定义一个生成过程,将其作为团队的定期计划的版本验证测试 (BVT) 运行。

主题内容

  • 准备在您的生成过程中运行测试

  • 在基于 DefaultTemplate.xaml 的生成中使用测试

    • 所需权限

    • 运行自动测试

    • 暂时禁用测试

    • 启用测试影响分析

  • 在自定义生成过程中使用测试

  • 更多信息

准备在您的生成过程中运行测试

准备您的测试:确保将从生成过程中运行的测试不显示用户界面。 通常,显示用户界面的测试不适合在生成系统上运行。 如果您必须使用您的生成系统来运行一个显示用户界面的测试,则您必须在以交互方式运行的计算机上运行生成定义。 有关更多信息,请参见配置生成计算机

准备您的生成计算机:某些类型的测试只能由专门配置的生成计算机上的生成代理运行。 在您尝试使用生成过程运行测试之前,请确保这些测试能够在您计划使用的生成计算机上运行。 有关更多信息,请参见使用生成代理运行测试

在基于 DefaultTemplate.xaml 的生成中使用测试

您可将生成设计为执行一个或多个自动测试运行,并分析代码更改对测试产生的影响。

所需权限

若要执行这些过程,您的**“编辑生成定义”权限必须设置为“允许”**。 有关更多信息,请参见 Team Foundation Server 权限

运行自动测试

您可以设计您的生成以执行一次或多次自动测试运行。 对于您设置的每次测试运行,您可指定以下设置:

  • 运行哪些测试

  • 哪些设置用于运行测试

  • 测试失败的情况下生成是否应失败

配置您的生成以运行自动测试

  1. 在生成定义的**“流程”选项卡上,展开“基本”**节点。

  2. 选中**“自动测试”框,然后单击此框中的省略号按钮 (...**)。

    此时将出现**“自动测试”**对话框。

  3. 执行以下步骤之一:

    • 若要添加测试运行,请单击**“添加”**。

    • 若要修改现有测试运行,请单击该测试,然后单击**“编辑”**。

    此时将出现**“添加/编辑测试”**对话框。

  4. 单击要用于运行测试的方法:

    • 测试程序集文件规范(建议)

      如果您希望生成代理以递归方式搜索与该生成代理工作目录的 binaries 子目录中的 *test*.dll 相匹配的任何 .dll 文件,则保留默认值 (**\*test*.dll)。 此外,也可修改文件规范以满足您的需要。

      (可选)指定**“测试设置文件”**以配置如何运行测试。 有关更多信息,请参见创建测试设置以从 Visual Studio 中运行自动测试

    • 测试元数据文件 (.vsmdi)

      如果单击此选项,则请单击**“浏览”以查找并指定要使用的测试元数据文件。 然后,您可以将“运行此 VSMDI 文件中的所有测试”复选框保持选中状态,也可以清除该复选框,然后在“要运行的测试列表”**中选择一个或多个测试。

      有关更多信息,请参见定义对测试进行分组的测试列表

  5. 单击**“条件/参数”**选项卡。

  6. (可选)按照类别筛选要运行的测试。

    有关更多信息,请参见本主题后面部分中的指定测试类别。

  7. (可选)按照优先级别筛选要运行的测试。

    提示

    如果您为测试分配了优先级别,则可使用此参数在详尽测试与快速生成之间达到更好的平衡。

    将**“最低测试优先级别”设置为等于或小于“最高测试优先级别”**的正整数,或设置为 -1 以表示没有最小值。

    将**“最高测试优先级别”设置为一个大于或等于“最低测试优先级别”**的正整数,或设置为 -1 以表示无最大值。

  8. 如果您希望当此测试运行中的任意测试失败时则生成失败,请选中**“使未通过测试的生成失败”复选框。 如果保留此复选框的未选中状态且任何测试均失败,则已完成的生成将被分类为“已部分成功”**。

  9. 单击**“确定”**。

指定测试类别

您可以使用测试类别来筛选测试运行过程中要运行的测试。

对您的测试进行分类

可使用专业测试工具版为测试分配类别。 例如,您可以创建称为 CI 的测试类别,然后在持续集成生成中指定该类别。 您可以为称为 bvt 的版本验证测试创建其他类别,然后在已计划的生成(例如每夜生成)中指定该类别。

有关更多信息,请参见定义对测试进行分组的测试类别

为测试运行指定测试类别

可通过以下方式指定测试类别:

  • 在创建测试运行时(如本主题前面所述)。

  • 通过修改现有测试运行。 (修改现有测试运行的方法是:依次展开**“基本”节点、“自动测试”节点、您要修改的测试运行,然后在“类别筛选器”**框中单击。)

您可以指定以下任一形式的测试类别:

  • **指定要包含或排除的单一测试类别。**例如,您有一个名为 bvt 的测试类别。 可以将此参数设置为 bvt 以仅运行此类别的测试,或设置为 !bvt 以运行此类别的测试之外的所有测试。

  • **通过使用 &&(“and”运算符)和 !(“not”运算符)来指定多个测试类别。**例如,可以指定 quick&&gui&&!deep 以仅运行属于 quick 和 gui 类别但不属于 deep 类别的测试。

  • **通过使用 |(“or”运算符)和 !(“not”运算符)指定多个测试类别。**例如,可指定 quick|gui|!deep 以运行 quick 类别的测试、gui 类别的测试以及非 deep 类别的任何测试。

设置多种测试运行

您可以根据需要设置多种测试运行,以便满足您团队的生成和测试过程的需要。 例如,在以下方案中,您可能需要在单一生成中设置多个测试运行:

  • 两组测试:

    • 一组必须通过的高优先级别核心测试。 添加一个**“最低测试优先级别”“最高测试优先级别”均指定为 1 的测试运行。 选中“使未通过测试的生成失败”**复选框。

    • 一组不太重要的测试,是您希望运行但对于生成的可用性而言不是必须要求通过的测试。 添加一个**“最低测试优先级别”指定为 2 和“最高测试优先级别”指定为 3 的测试运行。 保留“使未通过测试的生成失败”**复选框处于未选中状态。

  • 您希望使用不同的测试设置运行同一组测试。

  • 您希望生成的一组主要程序集受代码覆盖率的约束。 但是,您拥有来自外部源的不需要代码覆盖率的另一组程序集。 若要启用此类过程,您可以使用配置为使用两组测试设置文件的两种测试运行。

暂时禁用测试

如果您必须暂时禁用测试而不删除您的测试运行,请展开**“高级”节点,将“禁用测试”设置为“True”。 如果希望再次启用测试,请将该值设置回“False”**。

启用测试影响分析

测试人员和开发人员可能需要了解已完成的生成中包含的代码更改对于您的测试产生了哪些影响。 如果在生成中启用测试影响分析,则系统将进行分析,然后在已完成生成的生成报告中报告代码更改对于测试产生了哪些影响。

启用测试影响分析

  1. 在测试设置文件中配置测试影响分析。

    有关更多信息,请参见如何:收集数据来检查在代码更改后应该运行的测试

  2. 创建一个配置为使用测试设置文件的测试运行。

    有关更多信息,请参见本主题前面部分的运行自动测试。

  3. 展开“高级”节点,确保**“分析测试影响”设置为“True”,并且“禁用测试”设置为“False”**。

在自定义生成过程中使用测试

可从自定义生成过程中运行测试,并分析代码更改对您的测试产生的影响。 有关更多信息,请参见运行测试(MSTest 活动)

更多信息

使用默认模板定义生成提供有关如何创建基于 DefaultTemplate.xaml 的生成定义的更多信息。

如何:在生成应用程序之后配置和运行计划的测试提供有关如何从生成系统运行测试的更多信息。

请参见

其他资源

定义生成过程

修订记录

日期

修订记录

原因

2011 年 5 月

新增主题。

信息补充。