类似rational工具_在敏捷世界中使用Rational工具进行自动功能测试

在本教程中,您将学习如何自动化大型多组件系统的功能和系统回归测试。 您将了解创建的一些自定义工件,这些工件可为测试工具添加自动化功能。

随着企业适应瞬息万变的世界,他们的IT系统也必须适应不断变化的需求和技术。 大型IT系统可以包含许多组件,每个部分都由不同的团队开发。 这些团队的需求,时间表和优先级在不断变化。

在不断发展的任何大型系统中,新功能和对现有功能的更改使得很难确保现有功能仍然有效并且不受影响。 部署新版本时,标准做法是对现有功能进行回归测试。 敏捷开发要求代码在每次冲刺结束时也必须通过回归测试,即使没有计划的正式发布。 在某些情况下,如果在功能测试的早期阶段通过的测试条件在测试阶段结束时重新运行,则可能会失败。 造成这种情况的一些原因是相关功能的错误修复所引入的不必要的问题,或者是在开发周期后期发布的会影响现有功能的新功能。

回归测试是相关的。 您执行回归测试以:

  • 确认以前版本中现有功能的有效性。
  • 确保当前版本中引入的所有功能均已完成。

每当您的复杂系统随时间累积了数百个测试用例时,手动重新运行旧的测试用例既不切实际,也不经济。 此外,随着测试团队组成随时间的变化,新团队成员可能无法完全了解给定测试用例的详细信息,因此必须手动验证结果或每次运行测试时分析问题。

系统描述

在本教程中,您将了解我们为IBM Digital Marketing创建并测试的系统。 它是联系人和组织的记录系统。 如图1所示,IBMInfoSphere®Master Data Management(MDM)的一个实例存储数据。 数据通过IBM信息总线(企业服务总线)或通过IBM InfoSphereDataStage®ETL作业进入系统,该作业直接从源系统数据库读取数据或处理平面文件。

该图显示了正在讨论的应用程序的高级概述

功能和系统测试在IBMRational®Performance Tester中运行。 Rational Quality Manager协调Rational Performance Tester测试。 自动化的功能和系统回归测试可验证所有现有组件和功能是否正常工作,以及它们是否可以协同工作。 自动化的回归测试使测试团队腾出精力来专注于测试新功能和组件。

IBM信息总线

IBM信息总线(也称为企业服务总线或ESB)是一种传递中间件应用程序,它提供了可靠的集成机制,可以在不同的源系统和目标系统之间路由和转换消息协议和格式。 ESB提供实时和批处理数据传输,并维护跨接口的数据完整性。

  • 源系统发送系统处理的MQ请求。 响应返回到源系统。 所有使用者的请求/响应消息格式和消息传输协议都是相同的。
  • ESB为InfoSphere MDM提供转换和集成服务。 ESB将传入的通用代码值(例如国家/地区名称和语言)转换为MDM所需的代码,然后将MDM响应代码转换回通用代码值。 转换还插入特定于MDM的元素,并根据模式验证结果消息。

InfoSphere DataStage

InfoSphere DataStage从异构源中提取数据,获取和转换数据,并以MDM可以使用的格式向MDM提供XML数据。 IBM InfoSphere DataStage使用IBMPureData®(Netezza设备)将数据临时存储在临时区域中,以进行ETL处理和XML创建。

DataStage在系统中执行几种不同的功能:

  • 数据清除-系统中的某些数据直接来自自由格式的最终​​用户输入,并且可能是愚蠢的(名称=“米老鼠”),淫秽或难以理解的(名称=“ Mike123 @#$”)。 在DataStage中实现的清理服务运行一系列清理规则以识别不良数据。 清理服务在系统消息流中的多个位置实现,以确保清理所有数据。
  • 源系统提取—并非所有源数据都通过MQ请求进入系统。 相反,DataStage直接在源系统数据库中检测更改,生成XML,然后通过MQ或平面文件将该XML发送到MDM。
  • 平面文件处理-一些源系统以平面文件发送数据。 DataStage处理这些文件,生成XML,然后将XML放入MQ队列中,在该队列中将其转换并发送到MDM以进行处理。

InfoSphere MDM

InfoSphere MDM是项目解决方案的核心组件。 MDM从多个来源接收新联系人并更新现有联系人,然后使用具有特定于项目扩展名的MDM模式将数据持久保存在DB2®数据库中。 概率匹配引擎执行可疑重复处理,以将联系人的多个副本(可能来自不同来源)折叠到单个黄金记录中。 MDM具有以下子组件:

  • MDM Server高级版-MDM Server高级版是充当主联系人数据存储的组件,该组件提供和管理联系人记录的黄金副本以与企业中的各种应用程序一起使用。 它采用由DataStage转换,由QualityStage®标准化的源数据,并为需要直接与MDM服务器交互的其他应用程序提供数据服务。 MDM Server提供了行业标准的接口,其中包括基于Java的远程方法调用(RMI),JMS消息服务和基于SOAP的Web服务。 这些接口为将来各种应用程序直接与MDM Server交互提供了基础。 MDM Server使用概率匹配引擎(PME)。
  • MDM Batch Processor — MDM Server的一个组件,用于初始和增量加载。 一些DataStage作业专门用于准备平面文件格式的批量MDM请求,以通过批处理程序进行处理。
  • MDM数据库—用于存储数据的MDM服务器的DB2数据库。
  • MDM DSUI-这是用于日常数据维护的数据管理用户界面。

回归自动化

IBM Rational测试工具套件可帮助您应对与功能和系统回归测试有关的挑战。 这些工具还有助于减少回归测试阶段的总体执行时间。 时间的减少使测试团队可以根据需要重新运行回归测试用例,而不会影响测试周期中的成本或时间。

本节介绍了用于在多个版本上构建健壮且有效的功能和系统回归测试桶的一些技术。 它还探讨了我们的团队在尝试完全自动化测试用例时面临的一些挑战,以及我们如何解决这些问题。

测试环境包含以下工具:

  • 理性服务测试员
  • Rational Performance Tester
  • 理性质量经理
  • Rational Team Concert™

Rational Service Tester和Rational Performance Tester

Rational Service Tester允许通过HTTP,JMS和MQ协议自动测试后端服务。 它通常用于应用程序的功能验证测试(FVT)。 它还具有用于服务的负载测试和计划测试的功能。 Rational Performance Tester提供性能和负载测试功能,并且通过其自然扩展,为类似于Rational Service Tester的自动化服务测试提供支持。

尽管Rational Service Tester和Rational Performance Tester具有不同的功能,但是它们都是基于Eclipse的工具。 为了我们的目的,两者都是可以互换的,因此在本教程中我们将混合使用它们的引用。 Rational Service Tester和Rational Performance Tester允许测试将一系列消息发送到被测系统并验证响应。 有些测试只能在Rational Service Tester或Rational Performance Tester上运行,但是这些差异超出了我们的范围。

理性质量经理

基于Quality of Jazz™项目,Rational Quality Manager是基于Web的协作式质量管理解决方案。 它为全面的测试计划,手动测试,报告,状态跟踪提供支持,并支持处于不同角色的测试团队成员,包括测试架构师,测试负责人,测试人员等。 通过与其他IBM Rational测试工具(如Rational Service Tester和Rational Performance Tester)进行交互的能力,使之成为可能。

理性团队音乐会

Rational Team Concert是一个变更配置管理工具,具有迭代计划,流程定义,变更管理,缺陷跟踪,源代码控制,报告等功能。 使用Rational Team Concert维护项目中的所有Rational Service Tester和Rational Performance Tester测试用例。

创建回归测试桶

在Rational Quality Manager中,可以创建两个主要实体来进行测试。 首先是单个测试用例的定义,该定义最终指向在Rational Service Tester或Rational Performance Tester中定义的可执行测试用例。 在Rational Quality Manager中执行此测试用例会触发在运行Rational Service Tester的远程机器上执行在Rational Service Tester中定义的链接测试用例。 第二个实体是测试套件的定义,它是Rational Quality Manager中已经定义的测试用例的松散耦合集合。

回归测试桶定义为Rational Quality Manager测试套件,其中可以按功能将一组先前存在的Rational Quality Manager测试用例进行松散分组并一起执行。 组成测试套件的一组测试用例不是唯一的,这意味着给定的Rational Quality Manager测试用例可以根据其涵盖的功能范围以及在给定的回归桶中的相关性而成为多个测试套件的一部分。 这个概念如下所示。

我们创建了单独的Rational Quality Manager测试套件,以测试MDM中的重要功能。 还有针对MQ和ETL函数的单独测试套件。 如果特定版本仅包含MDM功能或仅包含ETL更改,则可以选择运行测试套件的子集。

该图描绘了RQM测试套件和测试用例的概念,以及测试用例可以成为多个测试套件的一部分的事实

Rational Quality Manager-Rational Service Tester连接

定义测试套件后,Rational Quality Manager服务器可以在任何安装了Rational Quality Manager适配器的Rational Service Tester的机器上运行该测试套件。 您可以在几台不同的计算机上的每一个上启用一个适配器。 Rational Quality Manager将测试用例拆分为一个测试套件,并在所有适配器上并行运行它们。 在每台机器上,都从Rational Team Concert中提取了最新版本的测试用例。 在我们的设置中,专用的Linux云映像运行Rational Performance Tester,用于回归测试。 有时使用单个测试人员的笔记本电脑上的适配器,以便可以并行运行测试用例。 因为Rational Performance Tester的一个实例只能在一台机器上运行,所以使用测试人员的便携式计算机进行回归测试意味着在回归测试运行时,该测试人员无法运行其他Rational Performance Tester测试用例。

此过程有两个步骤。 首先,在Rational Service Tester中配置Rational Quality Manager适配器。 在Rational Service Tester中,选择Windows>首选项> Quality Manager Adapter

该图显示了RST中捕获RQM适配器配置的对话框窗口

如果来自多个Rational Service Tester安装的适配器附加到您的项目区域,请确保适配器名称在环境中是唯一的。 在Rational Quality Manager中运行测试用例时,适配器名称有助于确保在预期的Rational Service Tester实例上执行测试用例。

有两种启动适配器的方法。 要从Rational Performance Tester启动适配器,请打开Rational Quality Manager适配器视图(“ 窗口”>“显示视图”>“其他” ,然后搜索Quality Manager),然后单击“ 连接到Rational Quality Manager”图标。 当Rational Quality Manager运行测试用例时,日志消息将出现在此视图中。 当测试用例运行时,Rational Performance Tester也会打开视图。

该图显示了RPT中RQM适配器的状态

运行适配器的第二种方法是在没有运行Rational Performance Tester GUI的无头模式下。 而是,适配器在后台静默运行。 要启动适配器,请在SDPShared目录下的适配器所在目录中打开DOS窗口(或Linux终端)。 在我们的测试计算机上,适配器位于C:\ RationalPerformanceTester85 \ RationalPerformanceTester-RationalService Tester_RationalQualityManagerAdapter目录中。 更新config \ adapter.config中的配置文件。 要启动或停止适配器,请CD到bin目录,然后使用命令Rational Quality ManagerAdapter.bat [START | STOP | STATUS] Rational Quality ManagerAdapter.bat [START | STOP | STATUS] Rational Quality ManagerAdapter.bat [START | STOP | STATUS]

我们有轶事证据表明,与在Rational Performance Tester或Rational Service Tester中运行相比,该适配器在无头模式下运行得更好,特别是在运行大量测试用例时。 我们的理论是,Rational Performance Tester / Rational Service Tester-adapter必须打开更多的窗口,从而使用更多的资源并最终导致适配器挂起。

运行测试套件

要在Rational Quality Manager中执行测试套件:

  • 打开要在Rational Quality Manager Web客户端上运行的测试套件。
  • 单击页面顶部的Run Test Suite图标(在图4中用圆圈圈出)。
  • 在打开的窗口中,选择要在套件中或所有套件中运行的测试用例,然后选择一个活动的Rational Quality Manager适配器以运行测试套件。 您可以选择针对单个Rational Service Tester安装或多个Rational Service Tester安装运行套件的所有测试用例。
  • 您可以在Rational Quality Manager中计划测试套件的执行。 在正常工作时间执行其他测试活动,代码部署,维护等,并在下班时间运行回归测试用例会很有帮助。
  • 选择是否允许将早期测试中的执行变量传递到后续步骤。 如果任何单个测试用例失败,您也可以选择停止运行测试套件,或者继续执行完整的测试套件。 对于典型的测试套件,最好运行所有选定的测试用例,即使有些失败。
该图显示了从网络上注册的RQM适配器的列表

测试结果和故障排除

随着测试套件执行的进行,Rational Quality Manager将显示测试套件中各个测试用例的进度。 如果需要,您可以在执行过程中中断该过程。 在执行的最后,您将看到每个测试用例的状态,通过或失败(假设它被配置为运行所有测试用例,即使某些测试用例失败)。

回归环境配置

现在您已经了解了准备和设置Rational Quality Manager测试套件,测试用例,Rational Service Tester和Rational Performance Tester测试用例的步骤,接下来可以继续进行回归测试环境的物理配置,如图2所示。 6.需要注意的一些细节:

  • 测试团队成员连接到公司网络,并通过其Web界面访问Rational Quality Manager。
  • Rational Quality Manager服务器可以在网络中的任何位置运行。
  • 包含Rational Service Tester和Rational Performance Tester测试用例的Rational Team Concert存储库可以在网络中的任何地方运行。
  • Rational Service Tester或Rational Performance具有配置的Rational Quality Manager适配器以连接到Rational Quality Manager服务器实例。
  • 运行系统的应用程序测试服务器在同一网络中进行测试。
该图显示了回归测试环境的物理配置

定制Rational Service Tester和Rational Performance Tester

Rational Service Tester具有满足多种测试需求的功能。 但是,没有任何软件产品可以声称没有任何扩展它的方法就可以解决所有问题。 我们需要具备以下能力才能完全自动化我们的测试:

  • 调用RMI服务
  • 阅读来自JMS源的消息
  • 运行SQL命令

幸运的是,Rational Service Tester提供了一种扩展其即装即用功能的方法,可以帮助我们解决这些挑战。 尽管可以通过在测试案例中使用手动步骤解决这些问题,但是这将使我们无法实现功能和系统回归测试工作的完全自动化。

RMI测试装置

Rational Service Tester提供对HTTP,JMS /WebSphere®MQ和Microsoft .NET协议的支持,以调用正在测试的应用程序。 但是,即使MDM支持服务和JMS接口,我们的应用程序的MDM部署也仅针对RMI接口进行了配置和设置。 这是基于在给定系统需求的前提下尽早做出的体系结构决策,并降低了复杂性。

为了使Rational Service Tester能够测试基于RMI的应用程序,我们开发了一个RMI Test组件Servlet Web应用程序。 这充当传递应用程序,该应用程序在Rational Service Tester和MDM之间交换请求和响应消息。 每个Rational Service Tester / Rational Performance Tester测试步骤在“传输”选项卡上都有一个HTTP URL参数,该参数指向接收测试服务器。 要使用RMI测试工具,Rational Service Tester测试步骤使用“传输”选项卡中测试工具的URL。 在将XML请求发送到MDM之前,RMI Test Harness处理JNDI查找,建立与MDM的RMI连接并添加MDM所需的安全性。 RMI Test Harness在带有MDM应用程序的WAS服务器上作为WAR文件部署。

该图显示了支持RST的RMI / JMS调用的客户测试工具
JMS通知工具

我们有一种独特的情况,其中一个正在测试的服务具有RMI接口用于请求和响应,但是在某些情况下它还会生成JMS通知。 作为自动化测试用例的一部分,我们需要阅读和验证那些JMS消息。 Rational Service Tester支持JMS进行请求/响应,但是没有读取JMS消息的打包功能。 为了测试此功能,开发了一个基于servlet的Web应用程序来读取和解析IBM WebSphere MQ消息。 我们使用Rational Service Tester的内置功能来自动验证消息本身,然后将JMS Test Harness作为WAR文件部署在具有MDM应用程序的WAS服务器上。

要在Rational Service Tester中测试JMS消息,需要一个自定义的Rational Service Tester步骤,并在该步骤的Transport选项卡中输入JMS Test Harness的URL。 消息标识符提供给Rational Service Tester步骤,以在队列中搜索特定消息。 JMS Test Harness连接到适当的MQ队列,并在队列中搜索队列中消息的XML有效负载中的消息标识符。 如果队列中的消息包含标识符,那么它将返回到Rational Service Tester测试以进行验证。 可选地,线束可以使用该消息标识符对队列中的消息数进行计数。

SQL调用

测试用例中创建数据条件的步骤之一需要进行测试。 这就造成了必须修改应用程序数据库的情况。 这是使用Rational Service Tester的Java扩展来实现的。

Java扩展程序从运行Rational Service Tester的机器连接到DB2。 然后,它将SQL语句发送到DB2以运行,然后获取结果集。 测试用例必须提供SQL语句并调用此Java扩展程序。

结论

本教程演示了在动态敏捷世界中使用Rational套件自动执行复杂业务应用程序的回归和系统测试的方法。 Rational产品之间的集成以及扩展其包含的功能的能力提供了对现有功能进行SVT测试自动化的灵活性,因此您可以专注于创建新功能。


翻译自: https://www.ibm.com/developerworks/library/d-auto-func-testing-agile-trs/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值