SOA 组合业务服务的自动化测试:第 3 部分

发表于:2008-11-24 16:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨晢、袁俊峰、宋玉红    来源:IBM

  介绍

  对于 SOA功能测试我们要分三层的测试:第一层是用 RFT(Rational Functional Tester)进行 UI 界面层的测试;第二层和第三层是用 Junit 进行 Business Process 层和 Service 层的测试。性能测试方面,用 RPTA(Rational Performance Tester)进行 UI 界面层的测试,而 RPT for SOA 用 Business Process 层和 Service 层的性能测试

  UI 界面层的自动化测试用例

  (1)用 RFT 来录制的 UI 层的测试用例脚本。

  使用 RFT 开发自动化测试脚本的过程大致是:录制对象映射,使用对象映射对 GUI 对象进行操作从而完成自动化测试。

  图 3.1 RFT 流程图

  (2)使用RFTUI测试框架来编写测试脚本。

  有了这套框架可以为你的自动化测试项目提供以下帮助:加速脚本编写;

  快速调试以及易于维护;

  代码重用;

  很好的组织脚本文件;

  帮助协作;

  从他人经验得到益处;

  这套框架由以下三个部分组成:通过Appobjects,Tasks以及Testcases来实现三层架构;ibm工具包;以及配套的最佳实践。

  Appobjects用于存储关于应用程序GUI元素的信息。在appobjects里面你将写一些getter方法,这些getter方法返回对象给调用者,这些对象将用于查询和操作GUI元素。一般,这些getter方法将在tasks层调用。

  Tasks用于写一些可重用的方法,这些方法将对应用程序执行一些操作。如果需要操作和查询复杂的特定于某应用程序的控件,也可以写在tasks的方法中。Tasks包里的方法将被testcases调用。

  Testcases便是最终的测试用例。它们将操作应用程序、验证其状态以及记录下结果。

  (3)使用RPT(RationalPerformanceTester)来录制自动化测试用例脚本。

  RationalPerformanceTester(简称RPT)是IBM基于Eclipse平台及开源的测试及监控框架Hyades,开发出来的最新性能测试解决方案,总体架构如图一所示。它可以有效地帮助测试人员和性能工程师验证系统的性能,识别和解决各种性能问题。它适用于性能测试人员和性能优化人员,用于开发团队在部署基于HTTP和HTTPs通信协议的Web应用程序前,验证其可扩展性、性能和可靠性。

  BusinessProcess和Service层自动化测试用例

  在BusinessProcess和Service层,业务接口通常以SCA或WebService的接口暴露出来。在功能测试阶段,有很多编写测试用例的工具,这里我们使用JUnit来编写测试用例脚本。JUnit是一个易用的,灵活的,开源的,测试平台。就像所有其他项目一样,它有很多优点,但也有不足之处。通过使用无需人工干预的JUnit自动测试平台,我们很容易累积起大量的JUnit测试程序从而保证以往的错误不会重现。另外,JUnit便于和编译单元(如,Ant)以及IDE单元(如,Eclipse)集成。JUnit中有两个基本对象,TestCase和TestSuite。TestCase通过提供一组方法来实现一系列测试。例如,setup()方法用来在每项测试开始前建立测试所需的测试环境,而teardown()方法用来在测试后销毁该环境。TestSuite是由几个TestCase或其他的TestSuite构成的。你可以很容易的构成一个树形测试,每个测试都由持有另外一些测试的TestSuite来构成。被加入到TestSuite中的测试在一个线程上依次被执行。

  在性能测试阶段,我们使用RPTforSOA(RationalPerformanceTesterforSOA)来编写调用服务的脚本。

  RPTforSOAExtension根据WSDL进行语法解析,生成参数输入界面。测试人员可输入测试数据,RPTRecorder会捕获到进行WebService通信的协议内容,并记录到脚本中(如图3.2)。

  图3.2RPTforSOA界面图


  自动化测试用例执行脚本介绍

  本文的第二部分介绍了测试 build 的自动卸载和安装部署。本部分介绍在新的 build 自动安装部署完成后,自动执行测试用例并将测试结果发给相关人员。

  若要实现测试用例的自动执行,需要在第二部分中的 buildToTest.py 文件中添加四个重要任务:

  判断 Build 是否安装成功

  系统获取服务器 profile 下的 \config\cells\localhostNode03Cell\applications 中已安装的 ear 文件,判断是否所有应该安装的 ear 文件都在其中,并且判断这些文件的 Date Modified 时间是否是当天。若从该文件夹下查询到所有的 ear 文件,说明新 Build 已成功安装。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号