Lab version:15.4
Last updated:11/13/2017
概述
在本实验中,您将学习如何使用Microsoft Team Foundation Server 2018来管理项目的测试生命周期。该实验将指导您创建测试计划,以有效验证您的软件版本。您还将创建并执行手动测试,这些手动测试可以在每个开发迭代中重复执行。
登陆培训环境
-
打开实验室环境 。
-
点击右上角的登陆链接。
- 使用微信登陆。
- 扫描二维码。
- 选择环境列表。
- 选择TFS2018 培训环境。
- 找到已购环境,点击进入。
- 点击 远程连接 中的图标,连接到远程实验环境。
> **Note:** 实验环境默认登陆用户为系统账户**azureuser**, 实验中需要使用环境预制账户如:**Sachin Raj (Sachin)**。
- 如果实验中需要切换用户,可以点击远程连接页面下拉菜单中的用户切换,输入用户名以及密码,点击连接,就可以实现切换实验环境远程登陆账号。
- 如果实验中需要复制粘贴文档中的相关内容到虚机中可以使用labs自带的复制粘贴版进行操作
关于Fabrikam Fiber的项目背景
这套动手实验室使用一家虚拟的公司Fabrikam Fiber作为实验背景。Fabrikam Fiber向美国提供有线电视和相关服务。他们正在迅速增长,并且已经将产品部署到Windows Azure,产品包括允许用户在网站上自助购票的应用;还有为其客户经理管理客户订单的ASP.NET MVC应用程序。
在这套动手实验室中,您将参与许多Fabrikam Fiber团队的开发和测试场景。在实验中这个由8-10人组成的团队使用Team Foundation Server来管理他们的源代码,运行他们的生成,测试他们的产品,并管理软件研发计划和跟踪软件项目的开发过程。
练习1:管理测试计划,套件和用例
在本练习中,您将学习如何创建和管理测试计划,测试套件和测试用例。
任务1:了解测试计划,套件和用例
-
使用切换用户功能,切换登陆用户为 Sachin Raj (Sachin). 所有密码都是 P2ssw0rd。
-
从任务栏启动Internet Explorer, 打开http://vsalm:8080/tfs。
-
使用顶部导航下拉菜单选择PartsUnlimitedCollection团队项目集合。
-
在此集合里的PartsUnlimited团队项目中选择Test以打开测试中心。测试中心可以对测试的计划,执行和分析进行统一管理。
-
总的来说,项目中的每个重要里程碑或者迭代都应该有自己的测试计划。在每个测试计划中都有测试套件,这些测试套件是用于验证工作项目(例如User Story或Bug)的测试用例(以及其他类型的测试套件)的集合。每个测试用例都旨在对一个软件的测试场景进行测试,并且测试用例可能属于一个或多个测试套件。Parts Unlimited项目有多个里程碑(v1.0,v2.0和v2.1),每个项目都有自己的测试计划。确认当前里程碑(v2.1)的测试计划已选中。
-
展开Regression tests测试套件并选择New products do not show up on site测试套件。为了练习目的,这个套件下的测试用例已经关联了Bug。
-
在右侧,你可以看到这个测试套件中有两个测试用例,这里的测试用例已经关联了Bug工作项。双击Administrator can create product测试用例。
-
当前打开的窗口中显示了该测试用例的所有信息。找到Related Work面板,此测试用例链接了两个其他工作项。第一个红色的是一个bug,第二个蓝色的是用户故事。点击查看用户故事。
-
在用户故事视图中,请注意Bug和测试用例也在Related Work面板中显示。按Esc关闭用户故事并返回到测试用例。
-
回到测试用例对话框,点击查看相关的Bug工作项。
-
用户故事也在当前Bug工作项的相关连接的工作项中显示。在TFS中所有工作项之间都是依靠连接关系进行关联。除了Bug,您还可以看到有两个测试用例被用来验证此用户故事。按Esc关闭Bug。再次按Esc关闭测试用例并返回到测试套件视图。
任务2:管理测试
-
在实际使用场景中我们经常根据需要按照特定的顺序运行一组测试用例,这样可以最大限度地提高效率。点击Order tests对测试用例排序。
-
这里的两个测试用例用来对之前已经修复的Bug进行回归测试。应为这里我们要用第二个测试用例验证Bug,所以他的优先级较高,将第二个测试用例拖放到第一个测试用例上方,然后单击Done。
-
您现在可以看到Order已更新,并且列表现在按照它排序。
-
测试环境对运行的测试很重要。对于Web应用程序,浏览器和操作系统是最关键的。当前所有的测试使用的配置为:Windows 10。
-
现在假设测试团队已经购买了iPad Pro,并且希望将其添加到测试环境矩阵中。添加新的测试设置很简单,选择Configurations选项卡。
-
当前有三个测试配置Windows 10, iPhone 7,和 Android 4。每个测试配置都包含一个名称和一个描述,以及一组可定制的配置变量。测试配置中的配置变量从下方的Configuration variables中设置。 当前团队项目有2组配置变量,分别为Browser和Operating System。我向想要添加的iPad Pro测试配置也可以使用这些变量。点击添加下拉菜单并选择New test configuration。
-
将Name设置为“iPad Pro”。
-
点击两次Add configuration variable,将Browser设置为Safari,Operating System设置为iOS 10。
-
单击Save按钮保存新配置。
-
返回到Test Plans选项卡。
-
点击我们一直在使用的测试套件旁边的下拉菜单,然后选择Assign configurations to test suite。
-
选择iPad Pro选项并点击Save按钮。
-
测试套件下的每个测试用例都添加了iPad Pro测试配置。现在可以对每个配置的环境单独进行测试和跟踪。
任务3:编写测试用例
-
展开v2.1测试计划旁边的下拉菜单,然后选择New static suite。static suite可理解为管理手动测试用例的分类。您还可以根据需求类型工作项创建requirement-based suite套件,或使用对测试用例工作项的查询创建query-based suite套件。
-
将新套件的名称设置为“Authentication tests”。这个测试套件下的测试用例将全部用来验证与用户身份验证相关的功能。因为TFS测试管理支持跨套件共享测试用例,因此在有大量重复执行的测试用例时,冗余度最小。
-
展开新创建的套件旁边的下拉菜单,然后选择New requirement-based suite。
-
您可以使用类似工作项查询的方式,将工作项类型为RequirementCategory或者FeatureCategory的工作项查询出来,并以测试套件的形式添加。 这里点击Run query后找到,registering, logging in, 和 logging out的三个用户故事,点击Create suites。
-
选择第二个log in的用户故事。
-
当以List形式在右侧显示测试用例列表时,每次可以创建一个测试用例,使用Grid网格布局可以实现快速添加许多测试用例。在测试用例面板中,选择New | New test case using grid。test case using grid**.
-
在Title列输入测试用例的标题,Step Action列输入测试步骤,注意一个测试标题的输入代表一个测试用例,标题列空白代表当前测试步骤属于商标测试标题的测试用例。测试步骤执行结果预期可以写在列Step Expected Result。 输入几个测试用例后点击Save All保存测试用例。
-
所有测试用例编辑完成后点击View: Grid,从网格切换返回到列表视图。
-
列表视图中直接显示的是测试用例额标题列表。
-
也可以通过工作项查询创建测试套件。展开Authentication tests旁边的下拉菜单并选择new query-based suite。
-
这里我们直接在Name输入All test case,点击Run Query然后点击Create suite。这样所有团队项目下的测试用例都被添加到这个测试套件下,当你在团队项目里创建了新的测试用例时,这个套件下的测试用例也会自动添加。
-
可以看到在Authentication tests测试套件下,新建了一个All test case的基于查询的测试套件。
练习2:编写,运行和分析手动测试
在本练习中,您将学习如何创建测试用例并在测试用例中细化测试步骤。该测试用例可以用来验证用户的使用场景。
任务1:安装测试和反馈扩展插件
-
本练习的其余部分将使用Chrome浏览器,打开桌面的Chrome
-
请单击Chrome浏览器地址栏右侧出现的扩展程序图标。选择Connection Settings项卡。输入”vsalm“作为服务器URL,然后单击Next。
-
该分机可用于两种模式:Connected和Standalone。如果您有Team Foundation Server(TFS)服务器或Visual Studio Team Services(VSTS)帐户,请选择Connected模式。Standalone模式适用于没有TFS(或VSTS帐户)的用户,并希望使用扩展程序来记录Bug并将其与团队共享得场景。
-
连接到TFS后,选择团队项目下的团队。选择PartsUnlimitedCollection下的PartsUnlimited Team。点击Save继续。
任务2:编写手动测试计划
-
在Chrome中,导航至http://vsalm:8080/tfs。
-
从导航下拉列表中选择PartsUnlimited项目。
-
导航到Test测试管理界面。
-
展开v2.1测试计划旁边的下拉菜单,然后选择New static suite。
-
将新套件命名为“End-to-end tests”,然后按Enter键。
-
从Tests选项卡中,选择New | New test case创建一个新的测试用例。
-
在Title输入框中,输入”Confirm that order number appears after successful order“作为新测试用例的名称。
-
现在我们准备为此手动测试添加步骤。每个步骤都包含一个Action,用来描述了测试人员需要执行的操作。Expected Result是可选输入项,用来保存每个步骤操作的预期结果,其描述了前面Action的预期结果。在Steps面板中,按照下表为导入所有步骤步骤,其中只有一个步骤具有Expected Result。
Action Expected Result 打开 http://www.partsunlimited.com 点击 Brakes 点击 Disk and Pad Combo 点击 Add to Cart 点击 Checkout 输入 @Email, @Password 输入 @Name, @Phone, @Email, @Address, @City, @State, @PostalCode, @Country, @Promo 点击 Submit Order 确认订单编号已生成 订单号应显示在订单确认页面上 登出 关闭浏览器 Note: 注意删除测试步骤下方空的测试步骤。
-
现在Steps面板应如下所示:
-
请注意“输入 @Email,@Password”和“输入 @Name,@Phone,@Email,@Address,@City,@State,@PostalCode,@ Country,@Promo”步骤。在这些步骤中,我们使用了@符号来标识手动测试过程中每个测试迭代会使用的变量。向下滚动到此表单的Parameter Values部分并为每次测试迭代定义要使用的变量。
-
使用下表为两次测试迭代设置变量。
Fields Iteration 1 Iteration 2 Email admin@test.com sachin@test.com Password P@ssw0rd P@ssw0rd Name Admin User Sachin Raj Phone 425-555-1234 555-555-5555 Address One Microsoft Way Two Tailspin Trail City Redmond Springfield State WA IL PostalCode 98052 11135 Country USA USA Promo FREE FREE -
现在Parameter Values展示如下。这里可以根据逻辑实现或实际用户使用场景加入更多参数,以便完整验证功能质量。
-
单击Save & Close保存测试用例。
任务3:运行手动测试
-
在这个任务中,您将学习如何运行我们之前创建的手动测试用例。触发自动化测试运行的操作和这个练习中的操作类似。您可以在 文档 中了解更多信息。
-
返回到IE浏览器。右键单击前面创建的测试用例,选择Run with options运行测试用例。
-
这里提供了几个选项用于自定义每次的测试运行。第一个选项是选择一个Runner作为测试场景的执行者。然后,可以指定data to collect设置要收集哪些类型的数据。最后,您可以选择指定正在测试哪个TFS生成的版本,以便将测试结果与由测试生成的版本关联起来。点击Browse按钮选择一个生成结果。
-
点击Find搜索生成。使用默认设置将返回所有版本。 Click Find to search builds. Using the default settings returns all builds.
-
按Esc关闭Find Builds窗口,这里不选择生成。
-
点击OK继续。
-
如果Test Runner窗口未显示,请检查浏览器设置中弹出窗口是否被阻止。如果是,请单击Pop-up blocker按钮,选择Always allow pop-ups…,然后单击Done。然后再次启动测试运行。
-
在Test Runner窗口中,展开Test 1 of 1: Iteration 1下拉菜单。这里有两个测试迭代:每个测试迭代用于测试用例中指定的一个参数集。在第一个迭代中,使用 admin@test.com 帐户。第二个将使用 sachin@test.com 。
-
在Chrome中打开一个新窗口,打开 www.partsunlimited.com 。如果您的显示器分辨率足够大,可以调整新窗口的大小以适应Test Runner窗口。要不然需要来回切换完成此次测试。
Note: 由于在本地修改了hosts文件,将测试访问的网址 www.partsunlimited.com s指向了一个本地站点。因此测试时必须使用完整URL。
-
加载该网站后,返回到Test Runner并单击Pass test step按钮。
-
下一步是点击Brakes菜单项。
-
然后点击Disk and Pad Combo产品。
-
下一步是点击Add to cart。
-
在下一页上,点击Checkout。
-
使用下个步骤中指定的凭据登录。
-
填写运送信息并添加促销代码。点击Submit Order。
-
确认订单号显示在确认页面上。由于在测试用例指定了预期结果,因此这里如果没出现订单号,则说明测试失败。
-
最后一步是通过点击 Profile | Log off 注销并关闭浏览器窗口。
-
在Test Runner中点击next转到下一个测试迭代。这里你会发现只有包含测试参数的步骤中参数的值发生了变化。
-
按照测试用例步骤操作,直到登录步骤失败,因为没有 sachin@test.com 帐户。
-
Test Runner提供了三种记录测试的方式。第一个是截取屏幕截图。第二个是捕获用户每个操作的图像。最后是测试时录制屏幕视频。选择失败的步骤并点击第一个截屏选项。从下拉列表中选择正在运行测试的Log in窗口。
-
截图显示登录表单以及错误消息。指定名称“No Sachin account”并单击Confirm按钮。
-
右键单击失败的步骤并选择Add comment。
-
输入注释:“Sachin account does not exist”,并使用失Fail test step按钮指定测试失败。
-
点击Create bug创建一个新的Bug工作项。 Click Create bug to log a new bug.
-
Bug标题输入“Sachin test account does not exist”,然后单击Save & Close保存该工作项。
-
由于非功能性Bug导致测试失败,因此展开Mark test case result下拉列表并选择Block test。单击Save and close保存测试运行。
-
关闭测试浏览器窗口。
任务4:分析手动测试结果
-
在此任务中,您将学习如何查看并分析手动测试运行的结果。
-
在浏览器中返回Test管理中心窗口。选择Runs选项卡,然后双击打开最近的测试运行。
-
Run summary选项卡显示测试运行的概述,以及测试运行的其他高级信息。
-
选择Test results选项卡。这里列出了所有测试用例的测试运行及其结果。双击打开唯一的测试用例。
-
你可以从这里查看测试用例运行的所有详细内容。
-
滚动到底部的迭代列表。展开第二迭代。
-
这里记录了此迭代中每个步骤的结果,以及失败的登录步骤,同时也显示测试运行过程中我们上传的屏幕截图。
任务5:创建共享步骤
-
在这个任务中,您将学习如何创建共享步骤。共享步骤是将一组测试步骤合并为一个逻辑步骤,所有测试用例可以使用此共享步骤。如果共享步骤定义的过程将来发生变化,则每个使用此共享步骤的测试用例步骤也会更改。
-
在测试运行的Summary中单击测试用例链接。
-
双击该用例进行编辑。
-
选择步骤2-4(使用Shift+Click)并单击Create shared steps按钮。
-
将这些共享步骤的名称设置为“Add Disk and Pad Combo to cart”,然后单击Create。
-
现在,您可以看到之前的步骤被替换为共享步骤。双击打开共享步骤。
-
稍后您可以重新编辑这些步骤。
-
按Esc键关闭Shared Steps对话框。
-
单击Save & Close保存测试用例。