我喜欢测试计划,它能让团队清楚测试进度,还能妥善分配测试人员,更重要的是它能保证测试质量和效率。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 TypePieGroup byOutcome,点击“OK”创建图表:

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

8. 最后

Azure Test Plan 还有几种方式管理测试用例和测试套件,例如导入导出到别的测试计划,或通过 Excel 导入和导出,还可以使用 Grid 的方式管理测试用例,具体可以参考 Azure Test Plans 的 官方文档

[Azure DevOps] 管理测试计划、测试套件和测试用例的更多相关文章

  1. [SoapUI] 从测试套件,测试用例,测试步骤,测试数据各个级别控制是否执行

    自动保存 # -*- coding: utf-8 -*- import java.awt.Color import org.apache.poi.ss.usermodel.Cell import or ...

  2. RIDE-工程、测试套件、测试用例三者关系

    理论 type的选择: 一般来说:测试项目(directory)-测试套件(file)-测试用例 本质上,“测试项目”和“测试套件”并没有什么区别,但是testcase只能放在file类型的test ...

  3. 从一个小Bug,到Azure DevOps

    1. 一个小Bug 最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量.那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错.经过排 ...

  4. Robot Framework(四)创建测试套件

    2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...

  5. Unittest框架之测试套件:TestSuite

    前言 使用了unittest.main()方法执行当前模块里的测试用例. 除此之外,Unittest还可以通过测试套件构造测试用例集,再执行测试用例 将测试用例添加至TestSuite(测试套件) 方 ...

  6. Azure Devops测试管理(上)

    因为最近测试人员合并到我这边开发组,对于如何能更好管理测试流程和测试与开发能更高效的完成任务,通俗的说如何能更敏捷,深入思考,然后就开始琢磨起TFS(也称之为VSTS/Azure Devops,因为我 ...

  7. Azure Devops/TFS测试管理(下)

    紧接着 上篇 经过上篇折腾,我们已经有了: ①手工测试的流程规范 ②测试用例的管理 对于开发出身的我,我觉得一个项目上线流程应该主要瓶颈只能是开发本身,因为我认为最复杂过程应该就是开发,而肯定不能是测 ...

  8. 如何利用Azure DevOps快速实现自动化构建、测试、打包及部署

    前两天有朋友问我,微软的Azure好用吗,适不适合国人的使用习惯,我就跟他讲了下,Azue很好用,这也是为什么微软云营收一直涨涨涨的原因,基本可以再1个小时内实现自动化构建.打包以及部署到Azure服 ...

  9. 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

    概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...

随机推荐

  1. 【编程思想】【设计模式】【行为模式Behavioral】模板模式Template

    Python转载版 https://github.com/faif/python-patterns/blob/master/behavioral/template.py #!/usr/bin/env ...

  2. spring cloud 通过 ribbon 实现客户端请求的负载均衡(入门级)

    项目结构 环境: idea:2020.1 版 jdk:8 maven:3.6.2 1. 搭建项目 ( 1 )父工程:spring_cloud_demo_parent pom 文件 <?xml v ...

  3. maven高级学习

    上一篇<maven是什么>介绍了最初级的maven学习,今天就趁着周末的大好时光一起学习下maven的高级知识吧. 1.maven工程要导入jar包的坐标,就必须要考虑解决jar冲突 1) ...

  4. 【Linux】【Services】【NetFileSystem】Samba

    1. 简介 1.1. 背景:case is initiative by 某windows无良人事,需求是需要一整块4T的硬盘,由于ESXi5最大支持一块盘是2T大小,而且不可以使用windows动态卷 ...

  5. 【力扣】剑指 Offer 50. 第一个只出现一次的字符

    在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例: s = "abaccdeff"返回 "b" s = &qu ...

  6. .NET Core工程应用系列(2) 实现可配置Attribute的Json序列化方案

    背景 在这篇文章中,我们实现了基于自定义Attribute的审计日志数据对象属性过滤,但是在实际项目的应用中遇到了一点麻烦.需要进行审计的对象属性中会包含其他类对象,而我们之前的实现是没办法处理这种类 ...

  7. RIP2与OSPFv2 动态路由协议区别

    OSPF五种报文解析 Hello:招呼信息 Route-ID:换回口地址/活动的物理接口最大值 Hello作用: 1. 发现邻居 2. 对一些数据的协商 3. 保持邻居的Keeplive状态.选举DR ...

  8. Log4j2 消停了,Logback 开始塌房了?

    今天一早,还没起床,拿起手机赫然看到一个头条信息,标题着实让我心理咯噔了一下! 马上起床,直奔官网,看看到底什么问题?塌的有多厉害? 既然是1.2.9版本以下问题,那就直接找到1.2.9版本修复了些啥 ...

  9. MyBatis学习(二)MyBatis-Statement方式的增删改查

    1.前期准备 项目骨架图如下所示 1.配置conf.xml <?xml version="1.0" encoding="UTF-8" ?> < ...

  10. vsp配合Qt5开发,解决virtual void * __cdecl PopDialogManger::qt_metacast

    Qt错误提示 virtual void * __cdecl PopDialogManger::qt_metacast(char const*)"(?qt_metacast@PopDialog ...