[Azure DevOps] 管理测试计划、测试套件和测试用例
我喜欢测试计划,它能让团队清楚测试进度,还能妥善分配测试人员,更重要的是它能保证测试质量和效率。Azure DevOps 里提供了 Test Plans 这个模块用于管理测试计划。
1. Azure Test Plans 中的测试计划、测试套件和测试用例
这篇文章主要讲解 Azure Test Plans 中怎么管理测试计划、测试套件和测试用例。在 官方文档 中这三者的定义如下:
测试计划(Test Plan): 用于对测试套件和单个测试用例进行分组。
测试套件(Test Suite): 在单个测试计划中将测试用例分组为单独的测试方案。 对测试用例进行分组可以更轻松地查看已完成的方案。
测试用例(Test Case): 定义用于测试代码或应用以用于部署的步骤。 定义测试用例以确保代码正常运行、没有错误,并满足业务和客户要求。
这三者之间,以及它们与 Azure DevOps 中其它对象之间的关系如下图:

2. 创建测试计划
为了演示如何使用测试计划,我先创建了一些迭代,并添加了一些 PBI。

在 “Test Plans” 页中,选择 “New Test Plan”创建新的测试计划。

在 “New Test Plan”页面中,输入测试计划的名称。通常 “Iteration”会默认选中当前迭代,如果没有的话请手动选中,然后点击 “Create”完成测试计划的创建:

3. 创建静态测试套件
现在,用户可以直接向测试计划添加测试用例,也可以先创建测试套件再向套件中添加测试用例。静态套件(Static suite)是最基本的测试套件。若要将套件添加到测试计划,请选择 "More options" 、“New Suite”,然后选择 "Static suite"。

静态测试套件就只是个目录,用于分组测试用例。点击 “New Test Case”创建测试用例,可以输入标题及测试步骤。最后记得选择对应的 PBI 作为 Tests,表明这个测试用例用于测试这个 PBI:

4. 创建基于需求的套件
如果测试用例比较多,需要按 PBI 分组,可以使用 “基于需求的测试套件”。选择 "More options" 、“New Suite”,然后选择 "Requirement based suite" 打开创建基于需求的测试套件的页面,在这个页面输入查询条件,点击 “Run query”,然后在查询结果中选中需要创建测试套件的项目,点击 “Create suites”:

这样每一个选中的项目都会创建一个独立的测试套件:

5. 创建基于查询的套件
基于查询的套件(Query based suite)是按给定的条件将已存在的测试用例查询出来并作为一个测试套件。这种套件很有用,例如在一个软件版本发布前要对这个 Release 的所有功能做一次测试,这时候可以创建一个测试计划,并用基于查询的套件将这个 Release 所有的测试用例整理出来,而无需重新创建这些测试用例。
要创建基于查询的套件,请选择 "More options" 、“New Suite”,然后选择 "Query based suite" 打开创建基于需求的测试套件的页面,在 “CERATEA QUERY-BASED SUITE” 页面输入查询条件(注意,Work Item Type 必须是 Microsoft.TestCaseCategory),点击 “Run query”,确认查询出来的测试用例符合自己要求,然后点击 “Create suite”。

生成的测试套件如下:

6. 执行测试计划
有了完整的测试计划,剩下的就是执行了。
切换到 “Execute” 选项卡,可以看到测试用例的执行结果。如果要将一个测试用例标记为通过,可以在这个测试用例的 “More options”中选择 “Mark Outcome”,然后选中 “Pass Test”。

7. 跟踪测试计划
除了直接查看测试用例列表,Azure Test Plans 还提供了测试计划的图表用于跟踪测试计划。切换到 “Chart” 选项卡,选择“New”,然后选中“New test result chart”。

在 Configure Chart 页面中输入图标名称,选择 Chart Type 为 Pie,Group by 为 Outcome,点击“OK”创建图表:

Azure Test Plan 允许创建多个图表,并通过 “Add to dashboard”添加到仪表板。

8. 最后
Azure Test Plan 还有几种方式管理测试用例和测试套件,例如导入导出到别的测试计划,或通过 Excel 导入和导出,还可以使用 Grid 的方式管理测试用例,具体可以参考 Azure Test Plans 的 官方文档。
[Azure DevOps] 管理测试计划、测试套件和测试用例的更多相关文章
- [SoapUI] 从测试套件,测试用例,测试步骤,测试数据各个级别控制是否执行
自动保存 # -*- coding: utf-8 -*- import java.awt.Color import org.apache.poi.ss.usermodel.Cell import or ...
- RIDE-工程、测试套件、测试用例三者关系
理论 type的选择: 一般来说:测试项目(directory)-测试套件(file)-测试用例 本质上,“测试项目”和“测试套件”并没有什么区别,但是testcase只能放在file类型的test ...
- 从一个小Bug,到Azure DevOps
1. 一个小Bug 最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量.那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错.经过排 ...
- Robot Framework(四)创建测试套件
2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...
- Unittest框架之测试套件:TestSuite
前言 使用了unittest.main()方法执行当前模块里的测试用例. 除此之外,Unittest还可以通过测试套件构造测试用例集,再执行测试用例 将测试用例添加至TestSuite(测试套件) 方 ...
- Azure Devops测试管理(上)
因为最近测试人员合并到我这边开发组,对于如何能更好管理测试流程和测试与开发能更高效的完成任务,通俗的说如何能更敏捷,深入思考,然后就开始琢磨起TFS(也称之为VSTS/Azure Devops,因为我 ...
- Azure Devops/TFS测试管理(下)
紧接着 上篇 经过上篇折腾,我们已经有了: ①手工测试的流程规范 ②测试用例的管理 对于开发出身的我,我觉得一个项目上线流程应该主要瓶颈只能是开发本身,因为我认为最复杂过程应该就是开发,而肯定不能是测 ...
- 如何利用Azure DevOps快速实现自动化构建、测试、打包及部署
前两天有朋友问我,微软的Azure好用吗,适不适合国人的使用习惯,我就跟他讲了下,Azue很好用,这也是为什么微软云营收一直涨涨涨的原因,基本可以再1个小时内实现自动化构建.打包以及部署到Azure服 ...
- 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)
概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...
随机推荐
- C++ default constructor | Built-in types
Predict the output of following program? 1 #include <iostream> 2 using namespace std; 3 4 int ...
- Java对象的创建过程:类的初始化与实例化
一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...
- 【C#】【MySQL】C#连接MySQL数据库(二)解析
C# MySQL 实现简单登录验证 后端代码解析 Visual Studio中使用MySQL的环境配置 下文所有到的代码(前端后端) 请查阅这篇博文 C#连接MySQL数据库(一)代码 获取前端数据 ...
- Java常用类,这一次帮你总结好!
常用类 常用类概述: 内部类 Object类 包装类 数学类 时间类 字符串 String Builder和StringBuffer DecimalFormat 一.内部类 概念:在一个类内部再定义一 ...
- opencv学习(四)——轨迹栏作为调色板
轨迹栏作为调色板 在这里,我们将创建一个简单的应用程序,以显示指定的颜色.有一个显示颜色的窗口,以及三个用于指定B.G.R颜色的轨迹栏.滑动轨迹栏,并相应地更改窗口颜色.默认情况下,初始颜色将设置为黑 ...
- 前端浅谈---协议相关(TCP连接)
TCP连接 http的描述里面,我弱化了交互过程的描述,因为它相对复杂.所以我在此单独描述.客户端和服务端传递数据时过程相对谨慎和复杂,主要是开始和结束的过程.而这整个过程就是TCP连接.连接流程大体 ...
- 如何实现 range 函数的参数?
关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...
- 为什么众多软件厂商无法提供APS高级计划排程系统?工厂目前生产计划是怎么排产的?
一.行业现状如想了解一下目前现状,去考察一下上了ERP的企业,会发现一个有趣的现象该企业无论ERP软件搞得如何如火如荼,似乎都与生产调度人员无关. 车间里或者生产线上的生产作业计划.生产过程的调度和管 ...
- python 快速启动http监听服务
python3 [root@vm10-20-9-45 ~]# python3 -m http.server 2378 Serving HTTP on 0.0.0.0 port 2378 (http:/ ...
- ThreadLocal的正确使用与原理
ThreadLocal是什么 ThreadLocal是线程Thread中属性threadLocals即ThreadLocal.ThreadLocalMap的管理者,ThreadLocal用于给每个线程 ...