WebService测试方案.docx_第1页
WebService测试方案.docx_第2页
WebService测试方案.docx_第3页
WebService测试方案.docx_第4页
WebService测试方案.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WebService测试方案by 姚婷婷2011-1-131. WebService简介WebService是一种革命性的分布式计算技术,本质上就是网络上可用的API,可以直接在网络环境调用的方法。WebService常用的框架有axis、xfire、cxf等。WebService发布后,其服务是封装在一个wsdl(Web Services Description Language,Web服务描述语言)文件中,客户端发请求主要是向发布好的wsdl地址以SOAP方式发请求,调用过程如下: 服务端:n 生成服务描述文件,以供客户端获取。n 接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。n 根据wsdl和wsml的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。 客户端:n 取得服务端的服务描述文件,解析该文件从而获得服务端的服务信息以及调用方式。n 指定调用方法和参数,生成恰当的SOAP请求消息,发往服务端。n 等待服务端返回的SOAP回应消息,解析得到返回值。2. WebService测试说明WebService的测试主要围绕功能测试、性能测试和安全性测试展开,下面主要描述WebService三大测试的要点。2.1 WebService功能测试测试目的:测试系统所实现WebService接口的功能。进入条件:开发人员提供已实现功能的程序包,和待测试webservice的方法名、参数以及实现的功能描述。测试要点:不同的参数组合,应按设计要求返回相应的信息。2.2 WebService性能测试测试目的:测试系统所实现WebService接口的性能。进入条件:WebService接口的功能测试已完毕。测试要点:测试并发调用WebService接口,观察其性能表现,主要是在不同的并发量、持续运行时间和数据库不同容量下,事务的响应时间、总事务数、事务的成功率、点击率等,同时监控硬件资源的消耗情况。2.3 WebService安全性测试测试目的:测试系统所实现WebService接口的安全性。进入条件:WebService接口的功能测试已完毕。测试要点:测试WebService接口的调用是否有用户名、密码验证,恶意调用是否会导致系统崩溃等。3. WebService功能测试目前掌握的测试工具soapUI可以进行WebService的功能测试,下面以测试存储服务的PIXManager接口详细介绍使用soapUI进行WebService功能测试的操作步骤。3.1 新建工程1、 单击File- New soapUI Project,如下图:2、 在弹出的对话框中输入待测试的ws信息,然后点击 OK 到下一步Project Name:PIXManagerInitial WSDL/WADL:1:8181/WEB-INF/services/PIXManager?wsdlCreate Requests:选中Create TestSuite:选中Relative Paths:选中3、 保存project4、 生成初始的测试用例选择One TestCase for each Operation:每个接口创建一个用例选择Create new empty requests:创建一个空的请求Operations:选择待测试的方法选择Generates a default LoadTest for each created TeseCase:每个用例生成一个负责测试(为后面性能测试做准备)5、 生成TestSuite这里可以根据习惯更改TestSuite的名称,如TestSuite:PIXManager。6、 在soapUI的左侧生成如下目录此时新建project已完成!3.2 发送请求1、创建项目的时候我们选择了Create sample requests for all operations,所以每个接口方法都会自动创建一个请求,如下图:2、双击它就可以打开编辑面板,左边是请求内容,右边是响应内容。3、在Form页面输入参数,单击按钮执行,右侧查看结果。根据反馈的结果判断请求是否发送成功。输入的xml内容如下: 01 小花 1988-02-01T00:00:00 1 男性 10 未婚 01 居民身份证 12586 01 社会基本医疗保险 Y001 111 01 户籍住址 上海 上海 浦东区 霞飞路 街 门牌号 01 本人电话 1232312 2010-09-27T14:31:00 小芳 01 01 中科 2010-09-27T14:32:00 798921772 222222222222 4. WebService性能测试目前掌握的是两个测试工具soapUI和LoadRunner,其中soapUI可以进行WebService的功能和性能测试,而LoadRunner主要是性能测试。下面分别介绍两个工具进行WebService性能测试的步骤。 采用soapUI测试步骤基于前面soapUI功能测试的步骤,若已成功,可将脚本参数化后用于性能测试,具体步骤如下:4.1.1 数据生成器1、右键单击Test Steps,Add Step-DataGen,如下图:2、输入步骤名称3、设置生成方法1) 点击新建2) 定义名称和类型Name:自定义,如MEDICALSERVICE_NOType:选择Number型,3) 设置为Randomize instead of step4.1.2 参数化打开待参数化的请求,找到需参数化的内容,选中并右键单击,如下图:。选择Get Data-Step 1:DataGen-property MEDICALSERVICE_NO原来的数据被替换为:$DataGen#MEDICALSERVICE_NO4.1.3 场景执行和监控1、打开TestSuite:PIXManager-registerPatientInterface-Load Tests-registerPatientInterface2、设置并发线程,单击执行测试4.1.4 结果分析4.2 采用LoadRunner测试步骤4.2.1 脚本准备1.选择协议2、导入wsdl3、Add Service Call 设置好后生成如下脚本:web_service_call( StepName=registerPatientInterface_101,SOAPMethod=PIXManager_Service|PIXManager_ServicePort|registerPatientInterface,ResponseParam=response,Service=PIXManager_Service,ExpectedResponse=SoapResult,Snapshot=t1294907356.inf,BEGIN_ARGUMENTS,msgID=,sendMsgOrgID=,sendMsgPosID=,eventDateTime=,eventDateTimeSpecified=,xml=,END_ARGUMENTS,BEGIN_RESULT,return=Param_return,END_RESULT,LAST);4、输入参数1) 输入msgID、sendMsgOrgID、sendMsgPosID、eventDateTime、eventDateTimeSpecified;msgID=11111,sendMsgOrgID=111111,sendMsgPosID=111111,eventDateTime=2011-01-12 10:10:10,eventDateTimeSpecified=true,2) 输入Xml;xml= 01 小花 1988-02-01T00:00:00 1 男性 10 未婚 01 居民身份证01 社会基本医疗保险 Y001 111 01 户籍住址 上海 上海 浦东区 霞飞路 街 门牌号 01 本人电话 1232312 2010-09-27T14:31:00 小芳 01 01 中科 2010-09-27T14:32:00 798921772 222222222222 ,5、脚本增强1) 参数化;2) 增加事务并打印返回结果;lr_start_transaction(registerPatientInterface);if (strstr(lr_eval_string(Param_return),C99999999$)=NULL) if (strstr(lr_eval_string(Param_return),empty!)=NULL) /*如果返回的结果中既没有C99999999$也没有empty!,则表示存储出现异常!*/lr_end_transaction(registerPatientInterface, LR_STOP);lr_output_message(lr_eval_string(出错了!返回的信息如下:Param_return);else/*如果返回的结果中包含empty!,则表示存储保存XML失败!*/lr_end_transaction(registerPatientInterface, LR_FAIL);lr_output_message(lr_eval_string(请求成功,保存失败!返回的信息如下:Param_return);else/*如果返回的结果中包含C99999999$,则表示存储保存XML成功!*/lr_end_transaction(registerPatientInterface, LR_PASS);lr_output_message(lr_eval_string(请求成功,保存成功!返回的信息如下:Param_return);3) 调试;在run-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论