CN102012863A - 反应式系统测试方法 - Google Patents
反应式系统测试方法 Download PDFInfo
- 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
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所述的方法,其特征在于,所述测试系统部署在云计算平台上。
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)
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)
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 | 国际商业机器公司 | 服务测试方法和服务测试系统 |
-
2010
- 2010-11-23 CN CN 201010565999 patent/CN102012863A/zh active Pending
Patent Citations (4)
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)
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 |