将 IBM Rational Quality Manager 与 IBM Rational Test Workbench 集成进行移动终端应用测试

IBM Rational Test Workbench (简称 RTW) 是 IBM Rational 的统一的测试工具集,包括功能测试、性能测试、接口 SOA 测试等模块。IBM Rational Quality Manager(简称 RQM)则是 IBM 针对测试管理的解决方案,提供了诸如测试用例、测试执行进度、缺陷关联及测试统计等功能。IBM 提供了 RTW 和 RQM 的集成功能,通过进行相应的配置设置,可以在 RQM 上调用 RTW 来完成相应的脚本的测试执行,生成和管理测试执行的结果,提供相应的 report 以便对结果进行分析。通过二者的集成,可以有助于对于大规模测试项目的测试管理,提升测试效率,并方便跨区域团队的团队合作。本文将介绍如何用 RTW 与 RQM 进行集成来实现上述目标。

郑 杰, 软件工程师, IBM

郑杰 IBM CDL软件工程师,具有丰富的移动应用开发和软件测试经验。目前从事软件测试方向工作,主要为 GPS 相关的项目,在多个项目的测试工作中应用 Rational 产品。



徐 欣, 软件工程师, IBM

徐欣,IBM CDL 软件测试工程师, 参加过多个项目的测试工作,目前主要从事 Mobile 方向解决方案的产品测试。



邹 海波, 高级软件工程师, IBM

邹海波,是 IBM CDL 全球流程服务部门的高级软件工程师;主要从事移动解决方案,内容管理,工作流和 Window 桌面自动化等方面解决方案的设计和开发工作。



2014 年 5 月 28 日

IBM RTW 8.5 版本增加了针对移动应用的 App 自动化测试功能,目前支持 Android、Apple iOS 两个版本的 App 应用。本文将介绍如何通过将 RTW 与 RQM 集成来实现移动应用(以 Android 应用为例)的自动化测试,同时总结常用问题解决方法。

RTW 与 RQM 集成预览

RTW8.5 提供了移动应用自动化测试功能,本文主要讨论其与 RQM 的集成方法及集成后的测试运行。RQM 由于其协作性好,基于 Web 等性能,作为一款出色的质量管理软件,用于贯穿软件生命周期的综合测试规划和测试资源管理,管理并运行由其他任何测试工具创建的自动测试脚本。该软件建立在 Jazz™ 平台的基础之上,适用于所有规模大小的测试团队,并支持不同的用户角色,例如测试管理员、测试结构师、测试负责人、测试员以及实验管理员,甚至测试组织以外的角色。基于以上优点,我们选择二者的集成以提升移动应用自动化测试的效率,削减成本。

集成后运行测试项目的优势:RQM 支持项目成员共享,将 RQM 与 RTW 集成起来后,不同的项目成员都可以登录 RQM 查看我们的测试套件、用例和脚本,并直接执行脚本、查看运行结果;

将不同 RTW 端分散运行的数据收集起来,更好地查看测试计划总体的执行状态、进度等。

Report 比 RTW 本身的更为丰富,并且可以定制。


配置 RQM 适配器

总体来说,RTW 与 RQM 的集成有三种方式,即平台|服务和命令行(workbench、service、command line)。接下来将详细说明该过程,但是无论用哪一种方式,首先需要进行 RQM 适配器的配置。

明确了 RTW 中的测试脚本将关联至哪个 RQM 服务器的项目域中后,我们需要在 RTW 工具的首选项配置中进行 RQM 适配器的配置。如图 1 所示,打开 RTW 工具,点击 Windows->Preferences (首选项) ,选择"Quality Manager Adapter", 填写右边对应的 RQM URL 及登录信息.点击应用按钮并提示成功,意味着 RQM 适配器已经配置成功。

RQM 的服务器 URL 通常格式为可以访问到的 RQM 服务器地址,例如 https://RQM01:9443/qm. 登录账号和密码要求有权限访问该 RQM 服务器。对于 Adapter Name,为 RTW 输入一个可以唯一识别该 RQM 适配器的名字, 默认情况下,该适配器使用此台电脑的主机名,如果用户需要创建多个 RQM 服务器的适配器,则建议修改。最后如果希望将适配器指向一个特定的项目区域(RTW 上的脚本需要导入到的项目区域),则将项目区域的名字加上。

图 1. 配置 RQM 适配器
配置 RQM 适配器

注意,这里是以 RTW 为例进行介绍的,此外 Rational Performance Tester, Rational Functional Tester, Rational Service Tester 等工具有类似的方式来配置其参数。

前文提到,RTW 支持三种运行适配器的方式:平台、服务和命令行。该首选项配置完成后,可以完成由 workbench 运行集成过程,如果需要通过服务和命令行方式,还需要对修改其中的配置文件。首先进入 RTW 的安装目录(例如:C:\Program Files\IBM\SDP\),进入 RPT-RST_RQMAdapter\config 文件夹,打开 adapter.config 文件。可以看到图 2 所示,该文件中 WORKSPACE_DIR 变量的属性为空,这里需要添加 RTW 项目所使用的 workspace 路径,即希望导入 RQM 的脚本文件所在的项目空间,例如 C:\Users\IBM_ADMIN\IBM\rationalsdp\workspace_rtwse。

图 2. Adapter.config 文件
Adapter.config 文件

三种运行适配器的方式介绍:平台,服务和命令行

配置完成后,可以由以下三种方式中的任一种来启动适配器服务。

平台方式

打开 RTW,点击 Window > Show View > Quality Manager Adapter,来打开 Quality Manager Adapter 视图。在该视图中,分别有 Connect to RQM 和 Disconnect from RQM 两个图标,我们可以直接在这儿点击进行与 RQM 的连接。注意,Connect 过程需要等待一些时间,通常都是在后台运行。

图 3. RTW 中的 RQM 适配器管理视图
RTW 中的 RQM 适配器管理视图

服务方式

如果您使用的时 Window 系统,当安装了 RTW 后,其实您已经将适配器作为 Windows service 安装成功了,而且默认情况下,该服务为手动启动。入口:右键点击"我的电脑",选择"管理",然后进入"服务和应用",即 Services and Applications 功能。

使用该功能需要计算机支持微软的.NET 2.0 或更高的框架。

图 4. Window Service 管理界面
Window Service 管理界面

命令行方式

首先打开一个命令行窗口,定位至 RTW 的安装目录,例如 C:\Program Files\IBM\SDP. 然后接着定位至 RPT-RST_RQMAdapter\bin\目录,因为在该目录下有可以通过命令行启动适配器的可运行文件。

启动适配器的命令:

Windows 下,输入:RQMAdapter.bat START;

Linux 下,输入:RQMAdapter.sh START

停止适配器的命令:

Windows 下,输入:RQMAdapter.bat STOP;

Linux 下,输入:RQMAdapter.sh STOP


在 RTW 上运行移动测试脚本

此章节讲述如何在 RTW 上创建脚本,如果这个过程已完成,请直接跳转至下一节从 RQM 运行测试对象

如前文所说,RTW 8.5 版本支持移动 App 的自动化测试功能,本文以 Android 移动应用为例来完成其自动化脚本的录制、修改、添加验证点等功能,得到一个简单的自动化测试脚本,以此脚本为例,实现与 RQM 的集成,最终从 RQM 端自动运行该脚本。关于如何安装 RTW 8.5, Android SDK 以及进行配置实现 RTW 与 Android 模拟器的连接、录制过程,在参考文献 4 中有详细的说明,在此不在详述,仅以一个例子简单说明脚本录制、修改和添加验证点的过程。

脚本录制

脚本录制的前提是:RTW 8.5、Android SDK 正确安装;Android 设备上的 RTW Mobile 应用正确安装;Android 设备已并与 RTW 成功连接。此时在 RTW 的控制界面,可以看到该 Android 设备处理连接状态,在 Android 设备的 RTW 应用上,可以管理 RTW 上导入的 App 应用。如图 5 所示。

图 5. RTW 与 Android 设备正确相连
RTW 与 Android 设备正确相连

本文要进行测试的 App 是一款百度推出的课表管理软件-"超级课程表",因为 RTW 8.5 目前对 hybrid 结构的 App 测试支持不不好,因此选用了该款 Native 类型的应用,本文仅对应用开始的选择学校、专业和年份功能进行测试(相当于 Welcome 功能),以说明脚本的基本录制过程和对脚本的简单修改、添加验证点。

首先在 RTW 上新建测试项目 ClassTableClass(如图 5 所示),在该项目中导入"超级课程表"App。然后进入 Android 终端上的 RTW 应用,选择 active 模式(设备可选 active 和 passive 模式,active 模式可以在手机终端上操作应用,passive 模式被动接受 RTW 的驱动)以便在终端上进行应用管理。其工作原理为:在 RTW mobile 中录制脚本,传递回 RTW Eclipse 上编辑。在 RTW 或者在移动终端上发起录制皆可。

录制步骤如下:

RTW 中,菜单栏依次选择:新建 --〉录制产生脚本 --〉录制类型选择移动测试,继续。测试名称中输入"TestScript1", 点击完成,会自动弹出录制窗口,开始录制。

移动终端上,进入 RTW 应用, 选择管理的应用程序,选择超级课程表,进入选择 Record。这时候针对该 App 所做的记录都会被自动录制下来,我们仅录制到提示使用邮箱登录界面,关闭该 App 后,这些动作会保存为脚本传递回 RTW 客户机。如图 6 所示为录制过程部分截图以及 RTW 中得到脚本。录制结束后在 RTW 客户机中点击传回的脚本文件并保存即可。

图 6. 录制过程截图以及得到的脚本
录制过程截图以及得到的脚本

修改脚本

双击项目列表中的 TestScript1 脚本文件,在 RTW 窗口的右侧打开脚本视图。修改脚本主要包括对现有的脚本进行添加、修改、删除。

由于我们在录制脚本的最后,还有一些返回操盘,但这些操作并不是我们想要测试的内容,因此可以在编辑脚本页面直接选中它们,然后选择"Remove"按纽即可将其删除。

此外,由于我们进行脚本录制的过程,一定是时间不均匀的,特别是如果有些事中途打扰了录制过程,两个操作之间会有很长时间的间隔,对于自动化测试来说,修改这些脚本步骤之间的 ThinkTime 是十分有必要的。单击某条脚本,在其右侧是这条脚本对应的各个参数。我们可以修改包括 ThinkTime 在内的所有参数,例如文本内容、控件位置等。

添加一个验证点

最后,我们需要添加一个验证点。在本例中,我们在最后提示进行邮箱登录界面添加一条验证点,验证"Hint 为"请输入常用邮箱"的 EditText 控件是 editable 的",即如果在该页面发现一个可编辑文本框里的提示内容为"请输入常用邮箱",而且这个控制是可以编辑的,那么就认为通过。添加完验证点的脚本视图如图 7 所示。

图 7. 修改后的脚本视图
修改后的脚本视图

最后保存我们的脚本 TestScript1,其位于项目 ClassTableTest 项目下。


向 RQM 导入测试对象

至此我们已经完成了 RTW 与 RQM 的集成过程中基本的配置过程,以前脚本的创建,接下来可以切换至 Rational Quality Manager 来导入测试脚本。

进入 RQM 的相应项目区域首页,点击 Construction 图标,然后点击 Import Test Script,如图 8 所示。

图 8. 在 RQM 中导入脚本
在 RQM 中导入脚本

然后打开的界面上,选择 Rational Test Workbench作为 Script Type,选择"Use test resources that are local to a test machine",点击 Select Adapter 按钮。在列出的适配器列表中,会出现前面配置好的 Adapter 所在机器的机器名,如图 9 所示,适配器名称显示为 RTW on TESTDOMO(TESTDEMO 即我们对该适配器取的命名)。选中该适配器并点击继续。

图 9. 选择适配器
选择适配器

图 10 所示,在打开的 Import Test Script 界面中,输入 RTW 中您要导入的脚本所在的项目名称,该项目则会出现在列表中。选中它并单击Next。然后就能够选择您想要导入的测试脚本了。选择脚本以后,点击Finish。需要注意的是,此时不能退出,还需要点击IMPORT按钮将刚才的脚本导入才真正将 RTW 中相应的测试脚本导入 RQM。

图 10. 选择测试项目中的测试脚本进行导入
选择测试项目中的测试脚本进行导入

导入成功后,从Construction 图标>Browse Test Script入口进入,查看当下所有的脚本信息,即可以看到自己刚刚导入的脚本文件,图 11 所示为本文前面导入的示例。

图 11. 查看已导入的脚本
查看已导入的脚本

在导入测试脚本之后,需要新建测试用例将其与该测试脚本联系起来,然后还可以通过新建一个测试组件(Test Suite)将测试用例管理起来。通过为该测试组件建立一个测试执行记录,来执行这个自动化的脚本。脚本执行过程在后文中展示。


从 RQM 运行测试对象

在前文中已经详细描述了如何集成 RTW 与 RQM,现在我们就在 RQM 端运行已经建立的测试脚本。现在我们已经得到一个录制好的移动应用的脚本文件 TestScript1,并将其导入了 RQM。接下需要通过 RQM 来调用这个脚本,通过观察 RQM 的运行结果报告以及脚本在移动终端上的自动运行,来成功验证 RQM 与 RTW 的集成。

点击 Construction 图标,然后点击 Create Test Case,新建一个测试用例:ClassTableTest_Welcome。在新建的测试用例界面,点击左侧导航栏中的 Test Script, 展开 Test Script 栏目。然后点击该栏右上角的"+"按钮,即 Add Test Script。在弹出的窗口中选择我们在前文中导入的测试脚本,如图 12 所示。保存该测试用例。

图 12. 创建测试用例并添加测试脚本
创建测试用例并添加测试脚本

在 Android 移动终端(或模拟器)上,打开 RTW Mobile 应用,将其设置为"Passive"模式,以支持 RTW,或者说从 RQM 端直接启动移动终端运行脚本。在 Passive 模式下,Manage Applications 和 Upload Application 都是不可用状态。图 13 所示。

图 13. 将移动终端调成 Passive 模式
将移动终端调成 Passive 模式

进入 RQM 中刚才测试的测试用例界面,点击执行按钮为该条测试用例新建一条执行记录并直接执行,如图 14 所示。在弹出窗口中选择了运行环境之后,点击确定就开始该条测试用例的执行过程了。此时,您可以通过观察 RQM 中显示的进度条,或者直接观察移动终端界面的变化看到我们所录制的脚本的自动化运行过程。

图 14. 创建测试用例并添加测试脚本
创建测试用例并添加测试脚本

脚本执行结束后,RQM 端会显示执行结果:Failed 或者 Passed,并且附带执行完成后各类 report、执行详细数据等信息。在本文中仅执行两种情况:1)成功执行;2)将 App 预先安装在终端上,以使其没有欢迎界面,执行失败。分别在这两种情况下运行该测试用例,可以得到两个执行结果,分别是失败和成功。图 15 为执行失败后的截图示例,执行成功有相似的界面,都可以通过点击结果显示来查看具体的执行结果。

图 15. 用例执行结果失败示图

图 15. 用例执行结果失败示图
用例执行结果失败示图

此外 RQM 还提供了几个可供查看具体执行细节的报告,列表如图 16 所示。其中,MobileReport 是在 RTW 客户机也可以看到的,关于移动应用具体脚本执行情况的报表,从这个报表中可以读出哪些步骤执行失败,并且所有的操作步骤、验证点步骤都有系统界面截图,方便用户跟踪用例执行情况。其他三个报告都是从不同维度,用不同的图表呈现形式来反应该测试用例的执行情况,在此不做详细说明。

图 16. 执行结果 report 列表
执行结果 report 列表
图 17. MobileReport 示例
MobileReport 示例

创建定制报告并远程访问

在创建定制报告之前,用户先确认需要哪种报告:类似于系统提供的报告,还是完全不同于已提供的报告。如果是类似的,只需要稍加修改已有的模板,编辑关注的系统参数和计数器;如果是定制全新报告,需要先清楚当前协议的计数器。

选择文件菜单中的新建——性能测试报告,输入定制报告的名称并点击插入按钮,如图 18 所示。

图 18 新建测试报告窗口
图 18 新建测试报告窗口

插入需要定制的已有标签还是特殊的定制标签,文中选择单幅图的定制标签,并点击下一步。如图 19 所示。

图 19.选择需要添加的报告
选择需要添加的报告

下一步选择定制页图像显示的属性,文中选择饼图,并定制显示效果和显示色彩,最后点击完成。如图所示。

图 20. 报告显示图像的配置选择
报告显示图像的配置选择

点击插入按钮后可以添加计数器,设置阀值显示等,如图 21 所示。

图 21.选择添加计数器
选择添加计数器

点击添加后即可选择多个性能监控参数,如图所示。

图 22.可选的性能计数器
可选的性能计数器

在 RTW 客户端应用的窗口菜单中选择偏好(Preference),并在弹出窗口中选择测试——性能测试报告——网页报告,就会显示如图所示的配置界面。在"通用访问"中勾选检查框可以远程访问报告,在"远程访问"中勾选可以远程控制计划执行的任务。通常来说,网页报告的端口号是 8080,如果已被其他服务占用,可以配置为其他端口号。如果需要给网页报告加密,可以勾选检查框,并设置安全端口号为 8443(如果被占用则为其他),以及用户名密码,使得远程访问的用户在提供了正确的认证信息后才可正常访问网页版报告。

图 23.远程访问报告配置方法
远程访问报告配置方法

如果需要在另外一台电脑上远程访问网页版报告,只需要打开浏览器,输入地址 http://host_name:port_number/RPTWeb/WebAnalytics/,并回车,其中主机名称是 RTW 所在台式机的主机名,端口号是在上图中配置的端口号,如果设置了加密,还需要输入正确的用户名密码,用户就可在任意一台机器上远程查看网页版的运行报告了,或者将链接和密码用邮件发出给相关人员随时查看网页版运行报告。


常见问题分析及解决方案

1.为什么我的 RTW 不能正确集成连接 RQM?

请首先确认您的 RQM 的版本号是否是 4.0 或以上,本文的集成过程不支持 RQM4.0 以下版本。

2.RQM 中连接的用户账户的最低权限是什么?

连接账户首先需要在 RQM 中有连接客户端访问许可证,并且被加入适配器可访问的项目,具有写权限。推荐赋予缺省的测试组人员的角色。

3.我能同时启动几个适配器?

每台电脑上只能启动一个。如果您需要在同一台机器上运行多个适配器,请首先确认他们使用不同的工作空间。

4.平台和适配器的启动先后顺序要注意什么?

当适配器在运行过程中不建议使用平台,因为这样做会影响适配器运行测试脚本的能力,所以打开平台之前需要先停止适配器。

5.适配器默认安装路径是哪里?

C:\Program Files\IBM\SDP\RPT-RST_RQMAdapter\bin\,出错后可以去查看日志,观察相关信息。

6.我可以随时编辑测试资源吗?

不可以在适配器的工作空间编译测试资源,因为很可能会丢失您所做的所有改动。只有在运行测试和设置计划安排的时候使用测试资源。

7.我应该怎样使用定制的 Java 代码?

在工作空间外,共享资源中定制的 Java 代码类是不能使用函数库的。如果您的定制代码必须要用到这种函数库,那么就将函数库拷贝到项目里,并更新类路径(classpath)来使用本地备份。

8.为什么我的运行总是提示失败?

请检查 Adaptor 的连接是否断开;确认模拟器必须是被动(passive)模式下才能正常运行,主动模式是不行的。

9.对移动应用的版本有什么要求?

移动应用需要是 native 的,移动应用的最低支持版本是 Android 2.2 以上。

10.用手机和模拟器测试有什么区别?

把模拟器或终端的连接模式调成 passive,可直接在 RTW 端/RQM 端调用脚本进行执行,这是推荐过程,如果自己在手机上进行测试,往往系统不能识别测试的终结状态,生成的报告会始终显示正在运行的状态(running),且不停的刷新,影响使用者直观的查看。

如下图标显示两种报告的区别:

参考资料

学习

  • RTW infocenter:比绞全面的包括了 RTW 从安装、升级、配置、使用到和与其他软件集成的基本过程说明,供 RTW 的初学者参考。
  • RQM infocenter:该资料为 RQM 的信息中心,比较全面的包括了 RQM 的概念、安装、使用和与其他软件集成的基本过程说明,供 RQM 的初学者参考。
  • Rational Test Workbench 基础: 使用 IBM Rational Test Workbench 测试 Android App 应用:文章介绍了如何使用 RTW 进行一个移动 APP 的测试,包括了环境、安装、集成,以及一个简单过程的录制实现,适合 RTW 初学者进行移动 APP 测试的入门学习。
  • Rational Test Workbench 系列:本系列文章结合具体的应用,和大家一起分析如何使用 RTW 完成手机自动化测试,接口集成测试,以及通过服务虚拟化实现测试环境的仿真,从而展示 RTW 全面的自动化测试能力,方便大家了解 RTW 并在您的实际工作中应用 RTW。
  • 访问 IBM developerWorks 中国网站 Rational 专区,获得关于 IBM Rational 软件交付平台(Rational Software Delivery Platform)产品的技术资源和最佳实践。

获得产品和技术

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=972351
ArticleTitle= 将 IBM Rational Quality Manager 与 IBM Rational Test Workbench 集成进行移动终端应用测试
publish-date=05282014