CN102012863A - 反应式系统测试方法 - Google Patents

反应式系统测试方法 Download PDF

Info

Publication number
CN102012863A
CN102012863A CN 201010565999 CN201010565999A CN102012863A CN 102012863 A CN102012863 A CN 102012863A CN 201010565999 CN201010565999 CN 201010565999 CN 201010565999 A CN201010565999 A CN 201010565999A CN 102012863 A CN102012863 A CN 102012863A
Authority
CN
China
Prior art keywords
test
language
basic
remote
testing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 201010565999
Other languages
English (en)
Inventor
蒋凡
程绍银
储诚操
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN 201010565999 priority Critical patent/CN102012863A/zh
Publication of CN102012863A publication Critical patent/CN102012863A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种反应式系统测试方法,包括以下步骤:a)将测试过程划分成若干个基本测试模块;b)使用测试语言实现基本测试模块;c)使用业务流程语言对基本测试模块进行编排,生成新的测试例;以及d)使用业务流程语言执行器执行所述测试例。本发明能够实现较好地重用已有的测试脚本,提高测试工作的效率。

Description

反应式系统测试方法
技术领域
本发明涉及测试技术,尤其涉及一种反应式系统测试方法。
背景技术
目前的反应式系统测试技术,对于测试流程发生变化时,通常需要重新设计修改测试脚本进行适应,不能较好的重用已有的测试脚本,降低了测试工作的效率。
另外,在反应式系统测试中,各地厂商需要亲自到达设置测试系统的位置,造成物资运输开销过大,测试费用高昂。因此,需要提出一种可以远程调用的测试流程来解决这一问题。目前远程测试实现方法多种多样,常用的实现方法是通过高级语言远程调用实现,如Java RMI(Java Remote Method Invocation,Java远程方法调用)或.Net Remoting(.Net Remoting是.Net Framework中一部分,是为远程方法调用设计的编程体系,为分布式系统专门设计的)技术,都有一定的实现语言依赖性。
发明内容
本发明的目的旨在至少解决现有技术中的上述问题之一。
为此,本发明的实施例提出一种可重构的反应式系统测试方法,以实现已有测试脚本的重用,提高测试工作的效率。
根据本发明的一个方面,本发明实施例提出了一种反应式系统测试方法,包括以下步骤:a)将测试过程划分成若干个基本测试模块;b)使用测试语言实现基本测试模块;c)使用业务流程语言对基本测试模块进行编排,生成新的测试例;以及d)使用业务流程语言执行器执行所述测试例。
根据本发明进一步的实施例,在所述步骤b之后还包括利用Web服务将所述基本测试模块封装为若干个服务的步骤。
根据本发明再一步的实施例,远程测试系统和本地客户端利用Web服务接口的方式执行对所述基本测试模块对应的测试过程的远程测试服务,所述远程测试服务包括以下步骤:
本地客户端在提供远程测试服务的网站上配置测试参数,并控制启动相应的测试例;
网站的所述业务流程语言执行器通知远程测试系统执行所述测试例;
所述远程测试系统按要求执行测试例,并向被测系统发出测试消息;
被测系统响应测试消息向所述远程测试系统发送测试结果;以及
所述远程测试系统将测试结果返回到网站上并进行网页显示,以告知所述本地客户端。
根据本发明进一步的实施例,所述测试语言为测试和测试控制表示法第三版TTCN-3语言。
根据本发明进一步的实施例,所述业务流程语言为业务流程执行语言BPEL。
根据本发明进一步的实施例,所述测试系统部署在云计算平台上。
本发明通过对测试流程进行基本测试模块的划分和完成,可以方便拆卸组装,比整体编写成一个测试例要灵活有效。从而,能够实现较好地重用已有的测试脚本,提高测试工作的效率。
本发明通过利用Web服务将划分基本测试模块封装为若干个服务,并应用于远程测试服务中,可以省去物资运输开销,远程的调用测试流程,并可以广泛的提供通用测试服务给某一领域的用户,以服务方式提供,将有助于管理。
此外,通过将测试系统部署在云计算平台上,利用云计算平台相对低廉的计算资源,有助于降低高昂的测试费用,并可以借助云计算技术快速完成测试。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明反应式系统测试方法的总体流程图;
图2为本发明应用于远程测试服务的反应式系统测试方法的流程示意图;
图3为本发明实施例的应用于远程测试服务的反应式系统测试结构图;
图4为本发明第一实施例的反应式系统测试方法示意图;
图5(a)、图5(b)和图5(c)为本发明第二实施例的反应式系统测试方法示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
参考图1,该图为本发明反应式系统测试方法的总体流程图。如图所示,该方法包括以下步骤:将所需的预定测试过程划分成若干个基本测试模块(步骤102);然后,使用测试语言实现基本测试模块(步骤104);接着,使用业务流程语言对基本测试模块进行编排,生成新的测试例(步骤106);最后,使用业务流程语言执行器执行所述测试例(步骤108)。
对于测试过程的基本测试模块划分,例如对于图4的手机支付过程的测试为例,在手机支付过程中包括在线支付和离线支付两种方式,通过对它们进行基本测试模块的划分,可以得到在线支付测试过程对应的基本测试模块12、14和16组成的流程;相应地,可以得到离线支付测试过程对应的基本测试模块22和24组成的流程。
对于图5所示的银联业务测试流程为例,将该流程分解构建基本测试模块,例如将存款流程分解,得到两个基本测试模块:“余额查询”、“存款”。依次执行“余额查询”、“存款”、“余额查询”,完成整个存款流程;将取款流程分解,得到两个基本测试模块:“余额查询”,“取款”。依次执行“余额查询”、“取款”、“余额查询”,完成整个取款流程。
在步骤104中,实施过程可以使用任何测试语言来完成基本测试模块的实现,例如可以包括Java、C语言等编程语言。优选地,由于具有实现方便的优点,本发明实施例可以选用TTCN-3(测试语言为测试和测试控制表示法第三版)语言来实现每一个基本测试模块。
在步骤106中,实施过程可以使用任何工作流工具来完成基本测试模块的组装或编排。在本发明实施例中,可以使用包括业务流程执行语言(BPEL)、.net workflow等的业务流程语言编排或编制基本测试模块。
业务流程执行语言目前广泛应用的有BPEL,BPEL全称是BPEL4WS(Business Process Execution Language For Web Services,用于Web服务的业务流程执行语言),它由BEA、IBM和Microsoft编写和公布的。
.net workflow是一种业务流解决方案。.net workflow是微软设计的一种业务流解决方案,处理对象必须按它的方式编写。BPEL处理的对象是Web服务(Web Services)。
相应地,在步骤108中利用对应业务流程语言的执行器或引擎,例如BPEL语言对应的执行器或引擎为Apache ODE(Apache Orchestration Director Engine,Apache编排控制引擎)执行对应测试例,其中Apache是一个开源组织名称。
在本发明实施例中,还可以在步骤104之后包括利用Web服务(Web Services)将得到基本测试模块进一步进行封装,从而将这些基本测试模块封装成一个一个的服务。
这样,在测试时,可以Web服务的方式提供给需要执行测试的用户,对于上一层的测试例调用人员,可以通过调用这些基本测试服务,完成远程测试工作。
下面,结合图2的实施例,对本发明应用于远程测试服务的反应式系统测试方法的流程进行详细描述。
远程测试服务的概念框架如图2所示:其中“客户”,即本地客户端是测试执行人员;“测试服务网站”是测试服务的Web界面;“测试系统”是测试执行系统(例如可以是TTCN-3测试系统);“测试系统”可以部署于“云计算支撑系统”上,使用云计算的资源执行测试;“被测系统”即被测试的软件、设备等,例如银联商业收款机(POS)。
远程测试系统和本地客户端利用Web服务接口的方式执行对基本测试模块对应的测试过程的远程测试服务,运程测试服务的测试流程如下:
客户在提供测试服务的网站上配置测试参数,网站应用这些参数告知测试系统与被测系统的连接方式,测试系统与被测系统建立连接(步骤1),如有必要,用户要手动配置下被测系统的某些参数(步骤1.1),例如配置服务端网际协议(IP);
客户在测试服务网站的网页上控制启动测试例(步骤2),网站告知测试系统执行相应测试例(步骤2.1);
测试系统按要求执行测试例(步骤3),向被测系统发出测试;
被测系统响应测试消息(步骤4),测试系统收到响应;
测试系统返回测试结果给测试服务网站(步骤5);
测试服务网站将测试结果显示在网页上,以告知用户(步骤6)。
远程测试的基本思路是实现测试控制与测试平台的分离,解决测试时需要进行测试平台部署的复杂性,远程测试平台服务接口主要提供包括测试控制,测试记录,测试信息获取,测试管理等四类接口,它们的作用分别为:
测试控制:提供包括启动测试,停止测试,暂停测试,恢复测试等功能;
测试记录:提供包括测试结果记录,测试中消息通信,定时器事件等事件记录功能;
测试信息获取:提供包括获取静态测试套信息及运行时测试状态信息等功能;
测试管理:提高包括测试套上传,编译,运行,测试编解码器与适配器配置等功能。
其中,测试控制、测试记录和测试信息获取接口是下层测试执行模块需要向上层提供的接口,作为Web服务发布时其WSDL(Web SerVices Description Language,用来描述Web服务和说明如何与Web服务通信的XML语言)文件中操作部分需要声明以下操作:
GetTestExecutableState:获得测试执行时状态的操作;
GetModuleParameters:获得模块参数(外部配置的测试数据)的操作;
GetTestCases:获得测试例名称的操作;
GetTestCaseParameters:获得测试例参数的操作;
StartTestCase:启动测试例的操作;
StopTestCase:终止测试例的操作;
GetListenEvent:获得测试例执行结果的操作。
这样,测试以Web服务的方式提供给需要执行测试的用户,对于上一层的测试例调用人员,可以通过调用这些基本测试服务,完成测试工作。
图3为本发明实施例的应用于远程测试服务的反应式系统测试结构图,在该实施例中,利用TTCN-3实现基本测试模块上,并基于Web服务方式实现的可重构测试服务详细描述如下:
(1)TTCN-3测试系统以Web服务方式提供基本测试服务接口;
(2)PHP(Hypertext Preprocessor,超文本预处理语言)网页是一个界面,界面之下将通过BPEL引擎--Apache服务调用基本测试服务接口,BPEL引擎中的BPEL代码完成基本测试服务的组装;
(3)测试系统部署于云计算平台上,利用云计算平台高性价比的计算资源,与被测系统进行交互,完成实际的测试过程。
下面,结合具体的实施例对本发明的反应式系统测试方法给出描述。
图4为本发明第一实施例的反应式系统测试方法示意图,该实施例涉及手机支付过程的远程服务测试。
对于图4所示的在线支付和离线支付流程划分对应的基本测试模块,例如通过使用TTCN-3语言方式,以Web Services封装好这些基本测试模块,将这些基本测试模块封装成一个一个的服务。这样就可以使用BPEL业务流程编排语言组织基本测试模块来得到在线支付流程和离线支付流程的测试过程。
在这个过程中,普通支付流程这个测试模块在BPEL组装的情况下得到了重用,体现了可重构特征。在实际应用中,因实际业务需要经常会导致业务逻辑发生改变,例如在“普通支付流程”前需要有“页面通知流程”,只需在BPEL中重新组装业务流程测试顺序即可,这也体现了可重构的优势。
图5(a)、图5(b)和图5(c)为本发明第二实施例的反应式系统测试方法示意图,该实施例涉及银联业务测试流程。
如上文所述,将存款流程分解得到两个基本测试模块:“余额查询”、“存款”。依次执行“余额查询”、“存款”、“余额查询”,完成整个存款流程。其中的“余额查询”将可以重用在存款流程。基本测试模块的调用接口以Web服务(Web Services)方式实现,用BPEL组装的示意图如图5(a)所示。
对于将取款流程分解得到的两个基本测试模块:“余额查询”,“取款”。依次执行“余额查询”、“取款”、“余额查询”,完成整个取款流程。这里重用了“余额查询”这个基本测试模块。基本测试模块的调用接口以Web服务方式实现,用BPEL组装示意图如图5(b)所示。
另外,在存款或取款流程划分得到的“余额查询”基本测试模块,可以在存款和取款流程中进行重用。基本测试模块的调用接口以Web服务方式实现,用BPEL组装示意图如图5(c)所示。
这样对于下层有大量可重构成分的测试方案来说,可以通过重用下层Web服务来快速的组装出上层的流程,大大减少代码开发时间。开发者需要写的仅仅是用BPEL描述调用过程,而BPEL还可以通过图形化BPEL工具:ActiveBPEL Designer或ActiveVOS等来实现图形化开发,十分的方便。
本发明具有以下优点:
(1)可重构优势;
通过对测试流程进行基本测试模块的划分和完成,可以方便拆卸组装,比整体编写成一个测试例要灵活有效。从而,本发明能够实现较好地重用已有的测试脚本,提高测试工作的效率。
(2)以服务方式提供测试;
通过利用Web服务将划分基本测试模块封装为若干个服务,并应用于远程测试服务中,可以省去物资运输开销,远程的调用测试流程,并可以广泛的提供通用测试服务给某一领域的用户,以服务方式提供,将有助于管理。
(3)利用云计算平台高性价比的计算资源。
通过将测试系统部署在云计算平台上,有助于降低高昂的测试费用,并可以借助云计算技术快速完成测试。云测试作为云计算上的一种应用层,是提高测试质量、降低测试成本的有效手段。云测试服务中需要的远程测试技术一直是测试中实用的技术,对于提高测试的易用性非常有效。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (6)

1.一种反应式系统测试方法,所述测试方法包括以下步骤:
a)将测试过程划分成若干个基本测试模块;
b)使用测试语言实现基本测试模块;
c)使用业务流程语言对基本测试模块进行编排,生成新的测试例;以及
d)使用业务流程语言执行器执行所述测试例。
2.如权利要求1所述的方法,其特征在于,在所述步骤b之后还包括利用Web服务将所述基本测试模块封装为若干个服务的步骤。
3.如权利要求1或2所述的方法,其特征在于,所述测试语言为测试和测试控制表示法第三版TTCN-3语言。
4.如权利要求1或2所述的方法,其特征在于,所述业务流程语言为业务流程执行语言BPEL。
5.如权利要求2所述的方法,其特征在于,远程测试系统和本地客户端利用Web服务接口的方式执行对所述基本测试模块对应的测试过程的远程测试服务,所述远程测试服务包括以下步骤:
本地客户端在提供远程测试服务的网站上配置测试参数,并控制启动相应的测试例;
网站的所述业务流程语言执行器通知远程测试系统执行所述测试例;
所述远程测试系统按要求执行测试例,并向被测系统发出测试消息;
被测系统响应测试消息向所述远程测试系统发送测试结果;以及
所述远程测试系统将测试结果返回到网站上并进行网页显示,以告知所述本地客户端。
6.如权利要求5所述的方法,其特征在于,所述测试系统部署在云计算平台上。
CN 201010565999 2010-11-23 2010-11-23 反应式系统测试方法 Pending CN102012863A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010565999 CN102012863A (zh) 2010-11-23 2010-11-23 反应式系统测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010565999 CN102012863A (zh) 2010-11-23 2010-11-23 反应式系统测试方法

Publications (1)

Publication Number Publication Date
CN102012863A true CN102012863A (zh) 2011-04-13

Family

ID=43843039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010565999 Pending CN102012863A (zh) 2010-11-23 2010-11-23 反应式系统测试方法

Country Status (1)

Country Link
CN (1) CN102012863A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707943A (zh) * 2012-04-12 2012-10-03 广东欧珀移动通信有限公司 一种远程控制自动化工具的实现方法
CN102855182A (zh) * 2011-06-28 2013-01-02 乐活在线(北京)网络技术有限公司 一种Web系统测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2826847Y (zh) * 2004-09-28 2006-10-11 中国电子产品可靠性与环境试验研究所 集成电路远程测试系统
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法
CN101026503A (zh) * 2006-02-24 2007-08-29 国际商业机器公司 Web服务业务流程的单元测试的方法和设备
CN101286131A (zh) * 2007-04-09 2008-10-15 国际商业机器公司 服务测试方法和服务测试系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2826847Y (zh) * 2004-09-28 2006-10-11 中国电子产品可靠性与环境试验研究所 集成电路远程测试系统
CN101026503A (zh) * 2006-02-24 2007-08-29 国际商业机器公司 Web服务业务流程的单元测试的方法和设备
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法
CN101286131A (zh) * 2007-04-09 2008-10-15 国际商业机器公司 服务测试方法和服务测试系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855182A (zh) * 2011-06-28 2013-01-02 乐活在线(北京)网络技术有限公司 一种Web系统测试方法及装置
CN102855182B (zh) * 2011-06-28 2016-03-02 百度在线网络技术(北京)有限公司 一种Web系统测试方法及装置
CN102707943A (zh) * 2012-04-12 2012-10-03 广东欧珀移动通信有限公司 一种远程控制自动化工具的实现方法

Similar Documents

Publication Publication Date Title
AU2019232804B2 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
Rosenberg et al. Business rules integration in BPEL-a service-oriented approach
Akram et al. Evaluation of BPEL to scientific workflows
WO2007077026A2 (en) Architectural design for time recording application software
US20060224702A1 (en) Local workflows in a business process management system
US20040064805A1 (en) Enterprise scoped software factory
CN100561920C (zh) Web服务事务处理系统及处理方法
Autili et al. CHOReVOLUTION: automating the realization of highly–collaborative distributed applications
Lins et al. PACAs: process-aware conversational agents
Kuk et al. An e-Engineering framework based on service-oriented architecture and agent technologies
CN102012863A (zh) 反应式系统测试方法
US20100235839A1 (en) Apparatus and method for automation of a business process
Huang An SOA-based software development management system
Petrie et al. Adding AI to web services
Holm et al. CloudFlow-an infrastructure for engineering workflows in the cloud
Lavrischeva et al. General disciplines and tools for e-learning software engineering
Khan et al. Modeling of services and their collaboration in enterprise cloud bus (ECB) using UML 2.0
Chemaa et al. Web services modeling and composition approach using object-oriented petri nets
Padilha et al. WED-SQL: An intermediate declarative language for PAIS execution
Chakraborty et al. Enabling runtime adaptation ofworkflows to external events in enterprise environments
Chen et al. Modeling cross-organizational services composition with pi-calculus
Qiang et al. A Web-based material requirements planning integrated application
Brito et al. Orchestrating loosely coupled and distributed components for product/process servitization
El-Ghareeb et al. Aligning service oriented architecture and business process management systems to achieve business agility
Dikenelli et al. Engineering a multi agent platform with dynamic semantic service discovery and invocation capability

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110413