Azure Devops/TFS测试管理(上)

Posted leolaw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Devops/TFS测试管理(上)相关的知识,希望对你有一定的参考价值。

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

 

本篇文章分上下

上 主要更多说在测试流程和手工测试的管理下

下 主要是更多探讨自动化的一些流程(暂时摸索结合Specflow的形式来搞,这样可以方便和测试用例映射)

 

现状:

先业务部门先加业务需求到Jira,然后视情况有可能要配合QA添加测试任务,由此可能会带一个主Jira任务和若干个子测试任务。

然后QA可能会根据此会有他们的测试用例,写在各自的excel里,可能会某些时候汇总下但总体依然是本地保存。

 

对此我的疑惑:

Jira的目的应该是任务管理,任务管理里穿插着测试任务这样真的好吗?

另外就算任务分解也应该是开发的任务分解,比如业务部门提的应该是业务目标咯,为了完成一个业务目标开发可能要完成若干个事情,那任务管理里更应该体现的是这个而不是测试。

测试任务应该是另外的地方分门别类把?(当然之后肯定要有一个汇总展示的地方将业务目标/开发任务/测试任务都显示出来的)。

 

然后眼光放到了TFS上面的“Test”上。

发觉一个事情,TFS四大支柱里,Code/Work/Build And Release/Test。

技术图片

网上介绍的最少的就是Test,最多的是Build And Release(也就是Azure Pipeline)。

 

摸索TFS的Test流程

Test下分为Test Plans/Parameters/Configurations/Runs/Machine这几个子tab。

 

除了一个Runs显然是显示测试结果用的,其他的我之前一点都没接触郭,然后我重点去摸索了下他的Test Plan

技术图片

 

通过它的Test Plan大概整理出按照TFS的套路,一个测试流程是由三部分构成:

Test Plan 测试计划:猜想就是对应到某个迭代周期的意思

Test Suit 测试套件:猜想是映射到某个业务目标的意思

Test Case 测试用例:具体的某一个测试场景

 

一个测试计划包含若干个测试套件,一个测试套件包含若干个测试用例

但是一个测试用例可以属于多个测试套件,一个测试套件也可以属于多个测试计划 

 

而最细粒度的测试用例则是类似下面的样子录入 

技术图片 

然后应该会是类似下面这样的结构组成 

技术图片

 

有个细节是测试用例里的状态只有三个 设计/就绪/已关闭

之前有人问我,怎么没有“已完成”之类的状态,不然如何表达我测试完了,我一愣。

继续琢磨下发现测试用例本身是没生命周期的,他的生命周期是隶属于他所属的测试计划

也就是测试用例是可以放到多个测试计划里,每个测试计划下可能成功可能失败,但它自身是没生命的 

技术图片

隔壁的五颜六色测试用例里就长这样 

技术图片

 

测试人员应该如何使用

 

前方大概聊了下TFS下的设计套路,下面聊聊作为一个QA如何使用。

1.创建测试计划

技术图片

创建下,关联当前迭代,没啥好说的,一步略过。

2.筛选需要测试的需求

技术图片

对着测试计划右键,可以通过这2个进行筛选,我觉得好一点做法是创建一个查询,制订好对应查询的条件那么就可以恒定用第三个基于查询的套件,我这选择第二个基于需求的套件。

(隐含一句话:这就要求需求也要是在TFS里进行管理才行)

技术图片

查出了一堆任务,然后从中捞是分配给我的测试任务,比如我这里选择前三个后创建套件(Create Suites)

技术图片

自动根据你选择的积压工作项创建了测试套件,然后我要在每个套件下创建对应测试用例 

技术图片

技术图片

好,现在用例有了,我们运行测试,运行测试会有2种情况,分为自动化了的和没自动化的,自动化的下篇讲,先谈未自动化的。

技术图片

选中用例,点击运行,之后会弹出一个框,就是对照着你的测试用例出来的每个步骤,那我们照着测试流程来一轮把 

技术图片

卧槽,该页无法显示,这是bug 

技术图片

先记录下我是在第一个步骤就出错了,然后上方有个创建Bug,点下然后填写好对应信息扔给开发 

技术图片 

 

关于手工测试的时候,可以在浏览器安装对应插件之后,还能录制执行的动作,支持截屏等 

https://marketplace.visualstudio.com/items?itemName=ms.vss-exploratorytesting-web 

 

由于目前出现了Bug,所以测试流程中断,保存下 

技术图片

 

之后Dev说修好了,在重新走一次验证流程。

 

后续

由于各种流程还在探索中,暂时主要就上述部分。

另外还应该提供几个图表给测试人员看,暂时能想到的几个:

①当前已经可以进行测试了的任务(开发已提交了的) 

②当次迭代还没被分配测试套件的任务

③手头还完成(即失败或未开始的)测试任务 

④自动化测试占比 

这几个应该要在一个测试专用的Dashboard里展示出来,让大家都能共享知道进度 

 

手工测试部分和测试流程部分大概就那么多,自动化部分还在坑里中。

另外Test里还有Parameter和Configuration之类的,虽然感觉我能理解它是什么,但是不知道怎么用,微软官方里感觉也写的不明不白

一切都是自己摸索的,如果有误还望指正

以上是关于Azure Devops/TFS测试管理(上)的主要内容,如果未能解决你的问题,请参考以下文章

编写 Azure Devops / TFS API 脚本时 - 有没有办法在不退出的情况下处理“Get Repo 不存在”错误响应?

在 Docker 中运行的自定义 Azure DevOps 构建代理上具有卷装载的测试容器

windows azure 自动缩放

在 Azure 批处理上运行 Selenium 并行测试

Azure 通知中心测试发送带标签

如何测试数据库是不是托管在 SQL Azure 上?