博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TFS 测试用例导入、导出工具
阅读量:4505 次
发布时间:2019-06-08

本文共 3146 字,大约阅读时间需要 10 分钟。

 

TFS的测试管理提供了测试规划、创建、运行以及进度跟踪等功能。测试人员通过浏览器就几乎可以完成手个测试的全部过程。

用过TFS测试用例的朋友们,很多人应该都知道,在TFS的Portal中以及相应的数据仓库中,没有直接或者间接导入、导出测试用例的功能和方法。但是在实际的过程中,我接触到多个研发团队都有这个方面的需求,测试用例在团队中使用Excel进行编制和管理的,测试人员也非常习惯于Excel工具的便捷和高效,因此完全用TFS Portal中的原生功能就降低了测试人员编制测试用例的效率。

2013后的TFS版本,尽管在Portal中提供了与Excel直接进行复制和粘贴的功能,但是受制与条数的限制,操作起来仍旧不太方便。因此,我编写了一个TFS测试用例导入、导出的工具。工具使用的是C#编写的一个WindowForm应用程序,通过调用TFS的链接库组件和Excel组件来实现的。

工具的导出用例结果

 

 

程序中引用的DLL库

 

 

程序的导入思路如下,按照测试团队现有的测试用例模板格式,把Excel中的用例数据读出来,在程序中组织并形成TFS中测试用例WorkItem对象数据,之后通过TFS组件的功能把用例数据保存到TFS的数据库中。

导入界面功能

 

 

创建用例的代码如下:

public bool CreateWorkItem(Project tfsProject, List
tfsModels) { WorkItemType workItemType = tfsProject.WorkItemTypes["测试用例"]; TFSUserCaseModel tfsModel = null; List
allWorkItem = new List
(); for (int i = 0; i < tfsModels.Count; i++) { tfsModel = (TFSUserCaseModel)tfsModels[i]; WorkItem workItem = new WorkItem(workItemType); workItem.Title = tfsModel.Title; workItem.AreaPath = tfsModel.Area; workItem.IterationPath = tfsModel.Iteration; workItem.Fields["测试类型"].Value = tfsModel.TestType; workItem.Fields["用例设计人"].Value = tfsModel.Designer; workItem.Fields["用例创建阶段"].Value = tfsModel.CreatedPhase; workItem.Fields["指派给"].Value = tfsModel.AssignTo; workItem.Fields["步骤"].Value = TestStepConvert.ConvertToStep(tfsModel.Steps); if (!string.IsNullOrEmpty(tfsModel.RequirementID)) { WorkItemLinkTypeEnd workItemLinkTypeEnd = tfsProject.Store.WorkItemLinkTypes.LinkTypeEnds["测试"]; WorkItemLink workItemLink = new WorkItemLink(workItemLinkTypeEnd, int.Parse(tfsModel.RequirementID)); workItem.Links.Add(workItemLink); } if (workItem.Validate().Count > 0) { StringBuilder sb = new StringBuilder(); string userCaseErrorMessage = string.Format("用例:{0} 格式不正确。",workItem.Title ); sb.Append(userCaseErrorMessage ); foreach (Field item in workItem.Validate()) { sb.Append( "--" + item.Name); } invalidWorkItems.Add(sb.ToString()); } allWorkItem.Add(workItem); } if (invalidWorkItems.Count <= 0) { foreach (var item in allWorkItem) { try { item.Save(); } catch { throw new LinkedWITException("wrong requirement ID"); } } } return true; }

 

 

     程序的导出思路如下,链接到TFS团队项目中,并加载出团队项目中的所有查询,把查询结果数据中包含的测试用例类型的工作项数据导出到Excel中。

导出功能界面

 

 

posted on
2017-05-08 12:17  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/zhaodahai/p/6824490.html

你可能感兴趣的文章
iOS遍历数组的同时删除元素
查看>>
小强的HTML5移动开发之路(16)——神奇的拖放功能
查看>>
zookeeper FastLeaderElection
查看>>
Jquery AJAX如何使用Promise/Deferred实现顺序执行?
查看>>
进度条
查看>>
maven 常用命令
查看>>
用户画像
查看>>
HTTP报文(面试会问开发时常用的报文头格式)
查看>>
机器学习从业人员到底做什么?
查看>>
word发表博客的方法
查看>>
Programming Erlang_CHAPTER2_Basic Erlang 学习笔记(2)。
查看>>
Linux基础
查看>>
2019北航软工暑期班作业-预培训个人项目(地铁线路规划)
查看>>
【模板】高精度
查看>>
弱弱的玩下Javascript
查看>>
二叉树相关操作
查看>>
在webstorm开发微信小程序之使用阿里自定义字体图标
查看>>
序列化模块/模块/包
查看>>
eclipse maven plugin 插件 安装 和 配置
查看>>
收集一些复杂有用的正则表达式
查看>>