概述

在本实验中,您将学习如何使用Azure DevOps来管理项目的测试生命周期。该项目将指导您创建旨在有效验证软件里程碑的测试计划。您还将创建并执行手动测试,这些测试可在每个版本的过程中一致地重现。

先决条件

  • 本实验要求您从先决条件说明中完成任务1和2。

练习1:管理测试计划,套件和案例

在本练习中,您将学习如何创建和管理测试计划,测试套件和测试用例。

任务1:了解测试计划,套件和案例

  1. 导航到Azure DevOps上的团队项目。

  2. 选择测试计划以导航到测试中心。测试中心为所有测试计划,执行和分析提供了一个中心位置。

  3. 一般而言,项目中的每个重要里程碑都应该有自己的测试计划。在每个测试计划中都有测试套件,它们是用于验证工作项的测试用例(以及可选的其他测试套件)的集合,例如功能实现或错误修复。每个测试用例旨在确认特定行为,并且可能属于一个或多个测试套件。Parts Unlimited项目有一个测试计划,在Parts Unlimited Team下,名为Parts Unlimited_TestPlan1。选择Parts Unlimited_TestPlan1测试计划。

  4. 选择故事测试套件作为客户,我希望安全地存储我的信用卡详细信息。这套测试重点关注该工作项,这恰好是一项功能。请注意,每次为实验室生成演示数据时,工作项编号都会有所不同。

  5. 在右侧,您可以看到此测试套件有三个测试用例,旨在确认功能实现的预期行为。双击验证用户是否可以保存他的信用卡详细信息测试用例。

  6. 此对话框提供了此测试用例所需的所有信息。找到Related Work面板,并注意此测试用例链接到它所属的套件。单击工作项以导航到它。

  7. 在测试套件中,我们可以看到所有链接的工作项,这恰好是测试用例。

    但是,它还没有与它设计用于测试的功能相关联,我们现在可以链接它。单击添加链接| 现有项目

  8. 链接类型设置为并搜索“信用卡”。

  9. 选择功能 信用卡购买

  10. 单击确定

  11. 父功能现在与测试它的套件相关联,任何人都可以在它们之间导航以查看它们与所涉及的其他工作项的关系。

  12. 单击保存并关闭

  13. 关闭原始测试用例对话框。

任务2:管理测试

  1. 有时,应按特定顺序运行一组测试用例,以最大限度地提高效率。单击订单测试以指定应运行这些测试用例的顺序。

  2. 虽然这些测试用例可以单独运行以确认行为,但运行首先拒绝无效卡的测试用例可能更有意义。然后,测试人员可以确认可以保存有效的卡,然后是用于编辑已保存的卡的测试​​用例。将第二个测试用例拖放到第一个测试用例上方,然后单击完成

  3. 您现在可以看到订单已更新,列表现在已按其排序。

  4. 测试的另一个重要方面与每个测试运行的环境有关。对于这个Web应用程序,浏览器和操作系统是关键考虑因素。现在所有测试只使用一种配置:Windows 10。

  5. 选择配置选项卡。

  6. 请注意,Windows 10有一个现有配置。每个测试配置都包括名称和描述,以及一组可自定义的配置变量。该项目为操作系统设置了一个配置变量。您可以轻松添加更多和/或编辑每个条目的可用条目。单击添加配置变量

  7. 选择Browser变量并将其设置为Microsoft Edge

  8. 单击保存以保存配置。

  9. 现在让我们假设测试团队已经获得了一个iPhone X,并希望将其添加到测试矩阵中。将此环境注册为新配置非常容易,以便测试用例可以指定它。但是,在添加它之前,我们需要iOS 10操作系统选项。单击Operating System配置变量。

  10. 单击添加新值并为iOS 12添加条目。

  11. 单击保存

  12. 现在我们已经拥有了添加iPhone X所需的一切。单击添加下拉列表并选择新测试配置

  13. 名称设置为“iPhone X”。

  14. 单击添加配置变量两次,将浏览器设置为Safari操作系统设置为iOS 12

  15. 单击保存以保存新配置。

  16. 返回测试计划选项卡。

  17. 单击我们目前使用的测试套件旁边的下拉列表,然后选择将配置分配给测试套件

  18. 检查iPhone X选项,然后单击保存

  19. 请注意,每个测试用例都已复制,并附带iPhone X的附加配置。现在可以单独测试和跟踪每个环境。

任务3:编写测试

  1. 展开测试计划旁边的下拉列表并选择New static suite。测试用例的静态套件是手动分配案例的套件。您还可以根据常见要求(基于需求的套件)或测试用例和/或工作项的查询(基于查询的套件)创建套件。

  2. 将新套件的名称设置为“运输测试”。这些测试都将专注于与运输相关的功能。请记住,您可以轻松地跨套件共享测试用例,因此在拥有大量重叠套件时,冗余最小。

  3. 展开新创建的套件旁边的下拉列表,然后选择新的基于需求的套件

  4. 您可以自定义查询用于数据检索,但本实验中只需保留默认项并单击运行查询。找到并选中与运输相关的三个产品待办事项。单击创建套件,为每个套件创建一个测试套件。

  5. 选择一个新创建的套件,例如与跟踪包裹状态相关联的套件。

  6. 虽然您可以一次创建一个测试用例,但有时使用网格布局更容易快速添加多个测试用例。在测试用例面板中,选择New | 使用网格的新测试用例。

  7. 输入几个测试用例,然后单击Save All按钮。标题将是测试用例的最终标题。步骤操作将是测试的第一步(也可能是唯一的步骤)。如果该步骤具有预期结果,则可以将其指定为步骤预期结果

  8. 您可以选择继续在网格视图中添加和编辑工作项。完成后,单击View:Grid切换返回列表视图。

  9. 列表视图显示的是相同的数据,只是展示方式不同。

  10. 创建套件的另一个方式是通过工作项查询。展开Shipping tests套件旁边的下拉列表,然后选择基于查询的新套件

  11. 假设您想要从与项目中和运输相关的测试用例中创建测试套件。将工作项类型更改为Microsoft.TestCaseCategory以搜索测试用例并单击运行查询。您现在已经有了一个测试用例列表,您可以选择从中创建套件。

  12. Esc关闭对话框。

练习2:手动测试的编写,运行和分析

在本练习中,您将学习如何创建手动测试计划并使用步骤填充它。然后可以运行该计划以确认软件的预期行为。在本实验中,我们将专注于创建一个新的手动测试用例并运行它。

任务1:安装 Test & Feedback 插件

  1. http://google.com/chrome安装Google Chrome。本练习的其余部分将使用Chrome作为其浏览器。如果您已经在使用Chrome,只需为下一组步骤打开一个新实例。

  2. 导航到位于http://marketplace.visualstudio.comAzure DevOps Marketplace

  3. 选择Azure DevOps选项卡。搜索“feedback”并单击测试和反馈扩展。

  4. 单击详细信息页面上的安装按钮。

  5. 单击安装以获取Chrome扩展程序。

  6. Chrome网上应用店中,点击添加到Chrome

  7. 询问时确认安装。

  8. 要打开扩展程序,请单击地址栏右侧显示的扩展程序图标。选择连接设置选项卡。输入Azure DevOps实例的URL,例如“https://dev.azure.com/{OrganizationName}”,作为服务器URL,然后单击Next

  9. 扩展可以使用两种模式:连接独立模式。如果您有Azure DevOps或Team Foundation Server(TFS),请选择“已连接”模式。独立模式适用于没有Azure DevOps或TFS且希望使用该插件来提交bug并与其团队共享报告的用户。

  10. 连接到Azure DevOps后,您需要选择希望与这些工作相关联的团队。选择Parts Unlimited项目下的Parts Unlimited Team,然后单击Save继续。

任务2:编写手动测试计划

  1. 在Chrome中,导航至Parts Unlimited项目。

  2. 和以前一样,导航到测试计划中心。

  3. 展开测试计划旁边的下拉列表,然后选择New static suite

  4. 为新套件命名“端到端测试”并按输入

  5. Tests选项卡中,选择New | 新的测试用例创建一个新的测试用例。

  6. 标题框中,键入“确认订单号出现在成功订单后”作为新测试用例的名称。

  7. 此时,我们已准备好为此手动测试添加步骤。每个步骤都包含一个Action,它描述了测试人员需要执行的操作。可选地,步骤可以包括预期结果,其描述给定动作的预期结果。在Steps面板中,为以下每个Actions创建一个步骤,其中只有一个具有预期结果

    行动 预期结果
    打开项目网站  
    点击刹车  
    单击磁盘和填充组合  
    单击添加到购物车  
    单击结帐  
    输入@Email,@Password  
    输入@Name,@Phone,@Email,@Address,@City,@State,@PostCode,@Country,@Pro  
    单击提交订单  
    确认订单页面有订单# 订单#应出现在订单确认页面上
    退出  
    关闭浏览器  

    注意: 如果您最终得到一个额外的空步骤,请将其删除。

  8. 此时,Steps面板应类似于以下内容:

  9. 注意“输入@Email,@Password”和“输入@Name,@Phone,@Email,@Address,@City,@State,@PostCode,@Country,@Promo”步骤。在这些步骤中,我们使用 @ 符号表示在手动测试过程中要使用特定于迭代的变量。我们可以通过向下滚动到此表单的参数值部分并为每次迭代输入它们来定义要使用的变量。请注意,您可能需要使用测试用例对话框最右侧的滚动条来查看此部分。

  10. 使用下表设置两次迭代的值。

    字段 迭代1 迭代2
    电子邮件 admin@test.com sachin@test.com
    密码 P@ssw0rd P@ssw0rd
    姓名 管理员用户 Sachin Raj
    电话 425-555-1234 555-555-5555
    地址 One Microsoft Way Two Tailspin Trail
    Redmond Springfield
    WA IL
    邮编 98052 11135
    国家 USA USA
    推广 FREE FREE
  11. 参数值部分现在应该如下所示。请注意,您可以根据需要输入尽可能多的迭代,以完全测试场景的广度。

  12. 单击保存并关闭以保存测试用例。

任务3:运行手动测试计划

  1. 在此任务中,您将学习如何运行我们之前创建的手动测试计划。请注意,触发自动测试运行的过程遵循类似的工作流程。您可以在文档中了解更多相关信息。

  2. 右键单击先前创建的测试用例,然后选择Run with options以开始手动测试运行。

  3. 您可以使用几个选项来自定义每个测试运行。第一个选项是选择Runner,它将是此场景中的浏览器。接下来,您可以选择指定要收集哪种数据。最后,您可以选择指定正在测试的构建,以便更容易将结果与构建相关联。单击确定继续。

  4. 如果没有出现Test Runner窗口,请检查它是否被弹出窗口阻止程序阻止。如果是这样,请单击弹出窗口阻止程序按钮,选择始终允许弹出窗口…,然后单击完成。然后,您可以成功再次启动测试运行。

  5. Test Runner窗口中,展开Test 1 of 1:Iteration 1下拉列表。请注意,有两个迭代:每个都一组有用于测试用例参数。在第一次迭代中,使用admin@test.com帐户。第二此将使用sachin@test.com

  6. 测试的第一步是打开项目站点。为此,请切换到已加载Parts Unlimited解决方案的Visual Studio实例。从IIS Express目标下拉列表中,选择Browse with …

  7. 选择Google Chrome,然后点击浏览

  8. 如果您正在大屏幕上工作,可能更容易调整新窗口的大小以适应Test Runner窗口旁边。否则你可以来回切换。

  9. 加载站点后,返回Test Runner并单击Pass test step按钮。在完成此测试的后续步骤时,请务必检查Pass test step按钮。

  10. 下一步是单击Brakes菜单项。

  11. 然后单击Disk and Pad Combo产品。

  12. 下一步是点击添加到购物车

  13. 在下一页上,单击Checkout

  14. 使用下一步中指定的凭据登录。

  15. 遗憾的是,这将失败,因为没有admin@test.com帐户。

  16. Test Runner提供了三种有价值的方法来记录测试运行中的媒体。第一个选项是截取屏幕截图。第二种是捕获图像操作日志中的每个用户操作。最后是将屏幕录制为视频。单击捕获屏幕截图按钮以截取屏幕截图。

  17. 裁剪屏幕以显示登录表单和错误消息。指定名称“无管理员帐户”并单击确认按钮。

  18. 右键单击失败的步骤,然后选择添加注释

  19. 输入“管理员帐户默认不存在”的注释,并使用失败测试步骤按钮使测试失败。

  20. 单击创建bug以记录新错误。

  21. 输入错误标题“管理员帐户默认不存在”并单击保存并关闭以记录错误。

  22. 由于与测试功能无直接关系的错误导致测试无法完成,请展开标记测试用例结果下拉列表并选择Block test。单击保存并关闭以保存测试运行。

  23. 关闭测试浏览器窗口。

任务4:分析手动测试结果

  1. 在此任务中,您将学习如何查看手动测试运行的结果。

  2. 返回托管Test Hub的浏览器窗口。选择运行选项卡。

  3. 双击最近的测试运行以将其打开。您可能需要刷新数据才能看到它。

  4. 运行摘要选项卡提供了测试运行的概述,以及作为运行一部分包含的所有测试结果的高级详细信息。

  5. 选择测试结果选项卡。此选项卡列出运行中包含的每个单独测试用例的结果及其结果。由于此处仅包含一个测试用例,请双击它以打开。

  6. 您可以从此处查看此特定测试用例的所有详细信息。

  7. 滚动到底部以找到迭代。展开第一次迭代。

  8. 查看此迭代中每个步骤的结果,以及失败的登录步骤,该步骤显示测试运行期间附加的屏幕截图。

任务5:创建共享步骤

  1. 在此任务中,您将学习如何创建共享步骤。共享步骤将通常按顺序执行的多个步骤组合到一个逻辑步骤中,该步骤可以跨测试共享。如果共享步骤定义的进程将来发生更改,您可以在一处更新共享步骤,它将反映在所有引用它的测试中。

  2. 单击Summary部分中的测试用例链接。

  3. 双击用例以在测试用例编辑器中将其打开。

  4. 选择步骤2-4(使用Shift +单击),然后单击创建共享步骤按钮。

  5. 将这些共享步骤的名称设置为“将磁盘和填充组合添加到购物车”并单击创建

  6. 现在,您可以看到先前的步骤已替换为共享步骤。双击要打开的共享步骤。

  7. 如有必要,您可以稍后重新访问这些步骤,以更新它们以满足新要求。

  8. Esc关闭共享步骤对话框。

  9. 单击保存并关闭以保存测试用例。