您的当前位置:首页正文

基于WebService接口的软件测试技术探讨

2023-08-26 来源:我们爱旅游
-64- 科学技术创新2019.14基于WebService接口的软件测试技术探讨宋海洋'许晓飞2朱昭俊2(1、海军驻武汉地区第五军事代表室,湖北武汉430079 2、中国船舶重工集团公司第七二二研究所,湖北武汉430079)摘 要:本文结合基于WebService接口的软件测试实际,探讨了此类软件的功能、性能的测试方法,包括WebService接口分 析、测试框架描述、测试流程等;通过分析WebService接口软件的测试特点及传统测试的困难,以网管类软件为例提出基于

WebService接口的软件测试的流程方法,并进行了测试实践.根据被测软件的特征开发相应测试工具,便捷的开展测试,提高测

试效率和质量关键词:WebService;测试框架;工具开发中图分类号:TP311.5 文献标识码:A 文章编号:2096-4390(2019)14-0064-031概述随着技术的发展.越来越多

的领域使用通信软件来进行设

备间的交互,设备间的接口协议

类型有传统的基于串口、TCP/IP 协议。基于串口或TCP/IP协议 的测试都有成熟的测试方法及

工具,如用TCP调试助手发送协 议报文到被测软件,观察被测软 件收到报文后的响应,以此来判

断被测软件对报文处理的正确

性。WebService的框架基于

图1 WebService调用关系SOAP (Simple Objeel

AccessProtocol)和 XML 技术,具

备语言及运行平台独立性的特 点.由于WebService本身具有的 优势,越来越多的接口采用

WebServiceo 对基于 WebService

接口的软件进行测试时存在困 难如下:⑴从客户端入手测试, 测试者无法获取服务器端

图2 WebService工作原理WebService的具体信息,只能通过WebService接口来进行服务 返回给请求者\"⑶服务提供者通过SOAP消息实现Web服务的

调用〉⑵从服务端入手测试,基于WebService接口的软件存在 应用.根据SOAP消息响应相符合的Vi外服务,然后将结果返 语言及运行平台独立性的特点,只能通过具体的客户端实现测 回给Weh服务请求者,试.而往往客户端的测试参数无法灵活输入本文以网管软件 WebService的规范标准完全独立于平台及语言,因此多个 测试为例,针对基于WebService的特点进行了测试方法的探 平台上的不同应用之间能无障碍的实现信息互通而不再依赖 讨于附加的第二:方软件 若多个应用都是基丁 WebService的规范

标准.那么服务之间可实现数据的互通.无需关心具体的实现语 2 WebService 接 口分析WebService的应用实现通过向外界发布如何调用自身功能 言、应用平台等实现WebService服务的过程是服务端与客户

和服务的描述,包括地址URI.、所提供的接\"方法和输入参数 端共同完成的,WebService服务端通过WSDL来描述服务的相 等说明信息.WebService的构成结构包含-:角色及三操作,:. 关信息,而客户端通过SOAP消息发出请求并调用服务 在具体

角色分别指服务提供者、服务请求者和服务中介者,三操作分 项目上将业务需求封装成方法生成WSL)L文档,并通过Web服 别指发布、査找和绑定;通过•:角色及-:操作的配合共同实现 务中介者发布,WebService客户端通过WS1儿文档获取相应的

WebService应用,实现过程如下:⑴实现WebService服务应用的 方法描述及输入参数.依据方法参数调用服务.客户端服务调 前提是有一个调试正常的Weh服务,该Weh服务由服务提供 用过程是将含有服务方法名及参数的SOAP消息传递给服务 者提供并将其向服务中介者申请发布' (2)若服务请求者发出服 端,服务端根据得到的方法参数执行服务并将SOAP结果传回 务请求时,需要通过服务中介者传递请求并查询UDDI注册中 客户端.客户端依据SOAP结果解析生成对象结果:工作流程如

心,为请求者搜寻符合条件的服务,并将该Web服务描述信息图2所示2019.14科学技术创新 - 65 -3基于WebService的测试框

架基于WebService接口的软件 测试中,主要是的测试方面有功能

Service被测软件MyPortWebserxdceTool及性能测试,而负载测试是性能测 试中的重要组成部分。功能测试由

自开发的模拟客户端WebService

Request测试工具对Web服务进行测试; 负载测试则可以模拟不同的时间

间隔服务调用功能操作来对Web

服务测试。Reponse图3表示基于WebService功 能测试的框架图.其中Service表

示一个WebService应用的服务,

Myport 代表客户端, WebServiceTool为装在客户端上的

自研测试工具,可以对Service发

“1图3基于WebService的测试框架文件列表si文件内容on=*i 0* •i»codin^*UTF-8*?>

接收内容imi ocalhost 1043/v*bsit«l/Service asnxdktkbks* x・l送Request进行功能请求,请求发 送后可返回功能请求是否成功的 回应。在WebSenieeTool工具上选 择单次服务调用町进行功能测试,

\\blocklist

xmlns=*http //www mozillt o rc/2006/»dddns-bl«cklist*>亦可选择定时调用,输入时间间

隔,来进行负载压力测试。4基于WebService的测试分

析1 d=\"fd»_ffext8fr*edownloadB ut・“r or<*>■:nV«rs>on=\"i 0*■ axVtriion=*l 3 1*>XtrgelAppli cation>d=\" {«c8030n-c20*-464f- 9b0.-13*3*9»97384)\"> onRuige■ inV«rsion=*3 0*1 * «*xV«rt>oa=\"*\" />pVtkrcttAppli■VvtrsjonRane*v»rs>on-*lv«rs>on= 1v*rsion= 1v«rsion: 1 v«rsion=\"l v»rs> on=*lv«rsion= 1vernon= 1version= 1version: 1v»rsion= 1v・rsion=*l0*0'0\"0*0\"0*0\"0'0\"0\"0'0*tneoditif^encodingencoding•ncodinv encoding eneodinfSencodingeneodinc:encodingeacedinc:•ncodi n< encoding *方法GetSs参数•多个参数用” Nt开回定时砸問期3):1000I巌务调用]厂剧逆蔘亠1「示空步数]|潘空调用頑| [ at空援收内容|调用宛表v«r»»on=*l0*A«nc«dinc=*UTF_6*?> xmlns=\"http //www mozilla or ¢/2006/»ddon»-blockl ist*'-<*all«as>:d=*fdk_ff«xtQ£reedovnlo*di>*

4.1自研工具介绍对服务端的应用程序缺少必 要的测试工具,如何去连接应用服

nyer or<\">onRange

・inV«r”on=\"l 0* ■*xV«moa=\"l 3J\">务端并对其进行应用测试显得十

分必要在本次测试中,自开发了可用于WebService接口的测 试工具。根据服务端提供的URI.、方法、参数可以对其服务调 用,进而进行相应的测试:验证服务端提供的功能及性能是否 满足要求。败时返回“FALSE”;性能要求满足每O.h上报一次故障时.客户

端Web界面显示不会出现卡顿现象。4.2.1基于WebService的测试流程如下:1>.定义服务请求的数据类型.描述服务方法和参数, MethodNanie指要请求的方法名称;输入参数类型为字符串,采

用XML标准格式。文件以列表的形式显示在XML文件列表中。选中某个XML文

type record ServiceType {件可以显示文件内容,可以对文件内容进行编辑修改并及进行

启动工具可加载工具文件夹下的XM1.参数,所有的XMI.

保存,对调用参数设置.输入URL地址,调用方法,并进行服务

string xml调用,对服务端函数的调用结果做为接收内容显示出来本工具能够支持XML文件做为输入参数,能够显示调用服

string MethodName,务端的结果。输入定时时间,可按照定时时间间隔对服务进行

b.按照自定义的服务请求数据类型.确定测试数据模板,包

含测试输入及期望测试结果。调用,用于性能测试,当前的服务调用参数保存在列表中,下次 可直接使用。工具界面如图4所示。如服务端的一个简单的功

template ServiceTypeReq_a := {能.收到一个XML文件数据,将相应的数据返冋给客户端:对该 功能进行测试.输入服务所在的URL、需要的方法及参数,进行 服务调用。若功能止常,则会返冋相应的XML数据,进而可验证

MethodName: = \" rptAlarm \xml: = \" -< username=\"ii(lnHnn password=\"admin\">—-该服务功能是否正常4.2测试流程本文使用 www.guzhangjiance.net 提供的 rpt Alami 作为

WebService测试实例.参数为string的XML类型格式 该服务

提供网管分系统设备故障上报接口,上报参数为XML类型信 息XML类型信息描述了故障发生的设备、故障类型、故障原

reason=\"disconnectH desc.ription=\"down'' tinie=\"2016-l 1-248:09:

17\" />因、描述、发生时间等消息上报成功时会返回字符“TRUE”,失-66- 科学技术创新2019.14表1测试结果测试用例测试输入测试输出预期结果T_001URL: www.guzhangjiance.net方法:rptAlarm参数:XML (故障信息)TRUE上报成功URL: www.guzhangjiance.netT_002方法:rptAlarm参数:XML (故障信息)定时调用间隔:100msTRUE客户端Web界面显示流畅艮如能流畅显示故障信息。basedFramework for WebServices Testing [C]//Proc. of the 7thIEEEIntemational Symposium on High Assurance SystemsEngineering.Tokyo, Japan: [s.n.], 2002: 173-174.Templatestring Req_a :二\"true\";c.确定URL、服务名称、xml参数,分别输入WebServicetool

工具中的调用参数列,运行工具,查看Web客户端是否显示调 用服务输出的参数。调用返回结果是否预期结果一致。4.2.2性能测试实践模拟设备上报故障信息,输入服务调用URL、方法、模拟包,

定时速率发送,查看Web客户端是否收到模拟上报信息。当故

障报文每间隔0.1s上报一条时,客户端Web界面需支持流畅显 不。在WebServicetool调用参数设定栏中URL为www.

guzhangjiance.net,方法为rptAlarm,输入参数为XML文件(故障

报文信息),与测试流程中b.中的XML1参数信息一致。打开定

时调用选项,输入时间间隔为100ms,持续调用服务1小时,观

察客户端Web界面故障告警信息显示是否流畅。4.3测试结果在功能测试中,采用自研测试工具WebServicetool,确定调 用服务的WSDL、方法名称、参数XML,调用服务成功后,查看

web客户端界面显示故障信息,比较故障信息与所调用的服务

的参数XML里的内容,确定故障类型、故障原因、描述、发生时 间等字段信息两者一致。在性能测试中,采用自研测试工具WebServicetool,确定调 用服务的WSDL、方法名称、参数XML,输入定时调用时间间隔。 启动工具运行,查看Web客户端逐条显示故障信息是否流畅,

故障内容是否与参数XML—致。测试结果见表1。结束语本文基于WebService软件测试的特点,进行了 WebService 接口分析、测试框架、功能性能测试方法等方面做了探讨。以网

管类软件为例描述了测试的方法步骤,做了相应的WebService 专用测试工具以适应此类软件的测试,提高了测试效率,取得 良好成效。参考文献[1] 庄秀丽,孙波.基于WebService异构教育资源库数据共享方

法的研究与实现[J].电化教育研究,2003, (02):47-50.[2] Tsai W T, Ray P, Song Weiwei, et al. Coyote: An XML-

因篇幅问题不能全部显示,请点此查看更多更全内容