QCAPI-编程实践.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《QCAPI-编程实践.pdf》由会员分享,可在线阅读,更多相关《QCAPI-编程实践.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 QC API 编程实践编程实践 作者:作者:bblong 一起测试网一起测试网:软件质量专家软件质量专家 2007 年年 5 月月 29 日日 :软件质量专家 第 2 页 共 13 页 摘要:Quality Center(以下简称 QC)是一款优秀的软件测试管理工具,它可以在测试的不同阶段帮助你管理你的测试,但是不同的公司对于不同类型的测试项目测试流程可能不尽相同,QC 能否更好的提供服务还需要看它能否满足你的测试管理的实际需要。运用 QC API 可以在 QC框架下通过自定义编写程序代码定制复杂的测试流程,实现更具有针对性的操作。题记:在一次项目中,为了加强测试管理,利用 QC 管理已有的
2、测试用例,这些测试用例都记录在 WORD 文档中,用例格式及组织方式不尽相同,有些并没有严格按照规范书写,如何将这些用例导入到 QC 中,是笔者面对的一大问题。在开始这个工作前,本人对 QC 的底层架构和接口并不太了解,也算是从零开始,借助 QC 提供的帮助文档,在摸索中向着目标靠近,并达到了预期想要的结果。在这个过程中,并没有系统的对 QC API 进行系统的学习,大多也停留在“知其意”上,本文就这个过程略作说明,也作自我勉励,力求温故知新。1 一、关于一、关于 QC API 使用 QC API 可以将外部应用程序与 QC 集成,QC API 对象会公开基于 COM 的接口,通过这些接口,我
3、们可以直接与 QC 服务器通信以执行各种测试任务。QC 用户界面将同一 API 用于其所有操作例如,连接到项目、将信息从外部应用程序导入到项目以及将信息从项目导出到外部应用程序。我们可以通过 COM 对象将外部应用程序与 QC 项目相集成。每个对象的定义(包括其属性、方法和参数)都打包在 OTA(开放式测试架构)客户端动态链接库(根据版本不同这个库也有所不同,我安装的 9.0 版本的库 OTA COM 9.0 Type Library)中。当您的应用程序已执行了对象函数调用后,会将其发送到 QC 服务器进行处理。要利用 QC API 将外部应用程序与 QC 集成,必须了解 QC 项目的数据库设
4、计以及 QC API 对象模型。本文重点是对如何向 QC 中导入测试用例进行阐述,因此也仅以于此相关的部分进行说明。2 二、了解二、了解 QC 项目数据结构项目数据结构 图 1 数据表关系图 与 QC 服务器通信执行某项操作,需要对 QC 的数据如何存放有一定的了解,图 1 给出了项目中主要数据表之间的关系,并给出这些表相关的字段。我们要向 QC 的测试计划中加入一条测试用例,与此相关的数据表有:TEST 表和 DESSTEPS 表。TEST 表包含项目中每个测试的信息,如测试 ID(TS_TEST_ID)、名称(TS_ NAME)和类型(TS_TYPE)等。新建测试后,会向 TEST 表中添
5、加新的一行。表中不同字段定义各自的信息,有些是内部标识如 TS_TEST_ID,有些是存储用例的直接信:软件质量专家 第 3 页 共 13 页 息,如 TS_NAME,TS_DESCRIPTION 等,有些则字段则记录用例额外的信息,如 TS_TYPE(MANUAL、WR-AUTOMANTED),TS_EXEC_STATUS 等,参照图 2。图 2 TEST 表字段与 QC 中各字段的对应关系 DESTEST 表包含有关设计步骤的信息。设计步骤包含有关如何执行测试的详细的分步说明,包括对应用程序执行的操作、所需的输入以及预期的输出。新建设计步骤后,会向表中添加新的一行。它包含字段有 TS_ST
6、EP_ID、DS_STEP_ID、DS_STEP_NAME、DS_DESCRIPTION、DS_EXPECTED 等。此外我们还可以向表中添加一定的自定义字段。3 三、了解三、了解 QC API 对象模型对象模型 在 QC API 对象模型中,只有一个 COM 类(即 TDConnection)可以直接创建。所有其他对象类都通过 TDConnection 对象创建。在大多数情况下,TDConnection 创建类工厂对象。然后:软件质量专家 第 4 页 共 13 页 类工厂对象创建类的子对象。还有另外一些对象也由 TDConnection 创建,如定义字段、命令和用户权限的对象。图 3 说明在
7、 QC API 对象模型中的对象创建层次结构。图 3 QC API 对象模型中的对象创建层次结构 这些对象可以划分为多种类别,这里我们主要关注对下面三类对象:实用程序类,该类别包括使用文件存储、数据库筛选和列表等资源的类。比如,在导入测试用例时,我们要对 TEST 数据表中的数据进行筛选,或者要获取表中当前用例名称的列表等。数据对象,这些对象处理项目的数据元素,如 TestFactory 负责测试管理,Test 负责测试计划等。数据对象与项目的数据元素是对应的,熟悉了项目数据结构后,需要对那些数据进行操作,相应的使用相关的数据对象。系统和安全对象,下列对象用于数据库管理。这包括数据库命令、字段
8、和字段属性、历史记录、列表以及系统树管理。对这些对象模型有了一定的了解,便可以知道使用那些对象可以帮你完成某个操作了,具体需要用到该对象的时候再通过帮助文档查看对象的引用细节。:软件质量专家 第 5 页 共 13 页 :软件质量专家 第 6 页 共 13 页 4 四、向四、向 QC 导入用例思路分析导入用例思路分析 向 QC 导入测试用例需要完成以下几个过程:1、连接 QC,用户登录,选择域和项目。2、导入用例。1)设置树结构文件夹 A 设置根节点;B 以根节点为父节点,在子节点搜索用例所在的文件夹,若没发现此节点,则添加新节点;C 根据实际需要重复 B 过程,直至最底层的文件夹,即用例主题的
9、父节点。2)从文档中读取一个用例 3)根据用例主题字段内容设置主题文件夹 4)在主题文件夹下添加用例,根据读取相关内容设置用例各字段信息 5)逐一向用例添加测试步骤及预期结果 6)重复 2)至 5),直至用例全部导入 第一个过程对于不同的版本存在一些差异,QC 9.0 的习惯做法是连接服务器,登录用户,然后依次选择域和项目,但是此登陆方法在 TD 8.0 中不支持,TD 8.0 的一般登录方法为连接到服务器的某个域,再登录用户连接项目。具体采用哪种方法,我们只能依赖 QC API 提供的方法。5 五、细化设计,编写代码五、细化设计,编写代码 明确了开发的过程,就可以进一步细化设计,用程序将设计
10、描述出来。我选择比较简洁的 VB语言来实现。首先需要安装 OTA(开放式测试架构)客户端动态链接库,这只需安装 QC 客户端就可以了。然后,设置 VB,引用 QTA COM 9.0 Type Library(不同版本的 QC,此类型库有所不同),如图 4 所示。下面就按照上面介绍的几个过程列举说明。图 4 引用 OTA(开放式测试架构)客户端动态链接库 变量声明:Public tdc As New TDConnection TDConnection 对象是唯一可以在 QC 内直接 创建的对 象,它表示单个 QC 服务器连接 Public testNodesTree As TreeManager
11、 系统树结构 Public tstFactory As TestFactory 测试计划管理对象引用 Public rootNode As SysTreeNode 文件夹树根节点,TreeManager 对象的一个树节点 Public nodeParent As SysTreeNode 父节点文件夹 Public treeNode As SysTreeNode 测试主题文件夹节点 Public TestPlan As Test 测试用例对象引用 Public newtestPlan As Test 新添加测试用例 :软件质量专家 第 7 页 共 13 页 :软件质量专家 第 8 页 共 13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QCAPI 编程 实践
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内