版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WebService测试方案by 姚婷婷2011-1-131. WebService简介WebService是一种革命性的分布式计算技术,本质上就是网络上可用的API,可以直接在网络环境调用的方法。WebService常用的框架有axis、xfire、cxf等。WebService发布后,其服务是封装在一个wsdl(Web Services Description Language,Web服务描述语言)文件中,客户端发请求主要是向发布好的wsdl地址以SOAP方式发请求,调用过程如下:Ø 服务端:n 生成服务描述文件,以供客户端获取。n 接收客户端发来的SOAP请求消息,解析其中的方
2、法调用和参数格式。n 根据wsdl和wsml的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。Ø 客户端:n 取得服务端的服务描述文件,解析该文件从而获得服务端的服务信息以及调用方式。n 指定调用方法和参数,生成恰当的SOAP请求消息,发往服务端。n 等待服务端返回的SOAP回应消息,解析得到返回值。2. WebService测试说明WebService的测试主要围绕功能测试、性能测试和安全性测试展开,下面主要描述WebService三大测试的要点。2.1 WebService功能测试测试目的:测试系统所实现WebService接口的功能。进入条件
3、:开发人员提供已实现功能的程序包,和待测试webservice的方法名、参数以及实现的功能描述。测试要点:不同的参数组合,应按设计要求返回相应的信息。方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。2.2 WebService性能测试测试目的:测试系统所实现WebService接口的性能。进入条件:WebService接口的功能测试已完毕。测试要点:测试并发调用WebService接口,观察其性能表现,主要是在不同的并发量、持续运行时间和数据库不同容量下,事务的响应时间、总事务数、事务的成功率、点击率等,同时监控硬件资源的消耗情况。2.3 WebService安全性测试测试目的:测试系统所
4、实现WebService接口的安全性。进入条件:WebService接口的功能测试已完毕。测试要点:测试WebService接口的调用是否有用户名、密码验证,恶意调用是否会导致系统崩溃等。3. WebService功能测试目前掌握的测试工具soapUI可以进行WebService的功能测试,下面以测试存储服务的PIXManager接口详细介绍使用soapUI进行WebService功能测试的操作步骤。3.1 新建工程1、 单击File-> New soapUI Project,如下图:2、 在弹出的对话框中输入待测试的ws信息,然后点击 OK 到下一步Project Name:PIXMa
5、nagerInitial 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 defa
6、ult LoadTest for each created TeseCase:每个用例生成一个负责测试(为后面性能测试做准备)方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。5、 生成TestSuite这里可以根据习惯更改TestSuite的名称,如TestSuite:PIXManager。6、 在soapUI的左侧生成如下目录此时新建project已完成!3.2 发送请求1、创建项目的时候我们选择了Create sample requests for all operations,所以每个接口方法都会自动创建一个请求,如下图:方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。2、双击它
7、就可以打开编辑面板,左边是请求内容,右边是响应内容。3、在Form页面输入参数,单击按钮执行,右侧查看结果。方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。根据反馈的结果判断请求是否发送成功。输入的xml内容如下:<?xml version="1.0" encoding="GB2312"?> <V_PATIENTREGC99999999 xsi:noNamespaceSchemaLocation="PATIENTREGC99999999.xsd" xmlns:xsi="/
8、2001/XMLSchema-instance"> <MEDICALSERVICE_NO>01</MEDICALSERVICE_NO> <NAME>小花</NAME> <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE> <GENDER_CD>1</GENDER_CD> <GENDER_VALUE>男性</GENDER_VALUE> <MARITAL_ST_CD>10</MARITAL_ST_CD>
9、<MARITAL_ST_VALUE>未婚</MARITAL_ST_VALUE> <ID_NO_CD>01</ID_NO_CD> <ID_NO_VALUE>居民身份证</ID_NO_VALUE> <ID_NO>12586</ID_NO> <MEDICARE_CD>01</MEDICARE_CD> <MEDICARE_VALUE>社会基本医疗保险</MEDICARE_VALUE> <MEDICAL_INSURANCE_NO>Y001</M
10、EDICAL_INSURANCE_NO> <AR_CD>111</AR_CD> <AD_CD>01</AD_CD> <AD_VALUE>户籍住址</AD_VALUE> <PROVINCE_NAME>上海</PROVINCE_NAME> <CITY_NAME>上海</CITY_NAME> <AREA_NAME>浦东区</AREA_NAME> <STREET_ID>霞飞路</STREET_ID> <VILLAGE_NAM
11、E>街</VILLAGE_NAME> <HOUSE_NO>门牌号</HOUSE_NO> <TEL_TYPE_CD>01</TEL_TYPE_CD> <TEL_TYPE_VALUE>本人电话</TEL_TYPE_VALUE> <TEL_NO>1232312</TEL_NO> <REGISTER_DATE>2010-09-27T14:31:00</REGISTER_DATE> <RECORDER_NAME>小芳</RECORDER_NAME&g
12、t; <REGISTER_PERSON_CODE>01</REGISTER_PERSON_CODE> <REGISTER_ORG_CODE>01</REGISTER_ORG_CODE> <REGISTER_ORG_NAME>中科</REGISTER_ORG_NAME> <SEND_TIME>2010-09-27T14:32:00</SEND_TIME> <SEND_ORG_CODE>798921772</SEND_ORG_CODE> <SEND_SYSTEM>22
13、2222222222</SEND_SYSTEM> </V_PATIENTREGC99999999>4. WebService性能测试目前掌握的是两个测试工具soapUI和LoadRunner,其中soapUI可以进行WebService的功能和性能测试,而LoadRunner主要是性能测试。下面分别介绍两个工具进行WebService性能测试的步骤。1.方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。4.1 采用soapUI测试步骤基于前面soapUI功能测试的步骤,若已成功,可将脚本参数化后用于性能测试,具体步骤如下:4.1.1 数据生成器1、右键单击Test S
14、teps,Add Step->DataGen,如下图:2、输入步骤名称3、设置生成方法1) 点击新建方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。2) 定义名称和类型Name:自定义,如MEDICALSERVICE_NOType:选择Number型,3) 设置为Randomize instead of step方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。4.1.2 参数化打开待参数化的请求,找到需参数化的内容,选中并右键单击,如下图:。选择Get Data->Step 1:DataGen->property MEDICALSERVICE_NO原来的数据被替换为:
15、$DataGen#MEDICALSERVICE_NO方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。4.1.3 场景执行和监控1、打开TestSuite:PIXManager->registerPatientInterface->Load Tests->registerPatientInterface2、设置并发线程,单击执行测试4.1.4 结果分析4.2 采用LoadRunner测试步骤4.2.1 脚本准备1.选择协议方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。2、导入wsdl方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。方案范文无法思考和涵盖全面,最好仔
16、细浏览后下载使用。3、Add Service Call方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。 设置好后生成如下脚本:web_service_call( "StepName=registerPatientInterface_101","SOAPMethod=PIXManager_Service|PIXManager_ServicePort|registerPatientInterface","ResponseParam=response","Service=PIXManager_Service",&qu
17、ot;ExpectedResponse=SoapResult","Snapshot=t1294907356.inf",BEGIN_ARGUMENTS,"msgID=","sendMsgOrgID=","sendMsgPosID=","eventDateTime=","eventDateTimeSpecified=","xml=",方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。END_ARGUMENTS,BEGIN_RESULT,"
18、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)
19、输入Xml;"xml=<?xml version="1.0" encoding="GB2312"?> ""<V_PATIENTREGC99999999 xsi:noNamespaceSchemaLocation="PATIENTREGC99999999.xsd" xmlns:xsi="/2001/XMLSchema-instance">"" <MEDICALSERVICE_NO>01</MED
20、ICALSERVICE_NO>"" <NAME>小花</NAME>"" <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE>"" <GENDER_CD>1</GENDER_CD>"" <GENDER_VALUE>男性</GENDER_VALUE>"" <MARITAL_ST_CD>10</MARITAL_ST_CD>"&quo
21、t; <MARITAL_ST_VALUE>未婚</MARITAL_ST_VALUE>"" <ID_NO_CD>01</ID_NO_CD>"" <ID_NO_VALUE>居民身份证</ID_NO_VALUE>"" <ID_NO>lt;/ID_NO>"" <MEDICARE_CD>01</MEDICARE_CD>"" <MEDICARE_VALUE>社
22、会基本医疗保险</MEDICARE_VALUE>"" <MEDICAL_INSURANCE_NO>Y001</MEDICAL_INSURANCE_NO>"" <AR_CD>111</AR_CD>"" <AD_CD>01</AD_CD>"" <AD_VALUE>户籍住址</AD_VALUE>"" <PROVINCE_NAME>上海</PROVINCE_NAME>&qu
23、ot;" <CITY_NAME>上海</CITY_NAME>"" <AREA_NAME>浦东区</AREA_NAME>"" <STREET_ID>霞飞路</STREET_ID>"" <VILLAGE_NAME>街</VILLAGE_NAME>"" <HOUSE_NO>门牌号</HOUSE_NO>"" <TEL_TYPE_CD>01</TEL_TYPE
24、_CD>"" <TEL_TYPE_VALUE>本人电话</TEL_TYPE_VALUE>"方案范文无法思考和涵盖全面,最好仔细浏览后下载使用。" <TEL_NO>1232312</TEL_NO>"" <REGISTER_DATE>2010-09-27T14:31:00</REGISTER_DATE>"" <RECORDER_NAME>小芳</RECORDER_NAME>"" <REGIST
25、ER_PERSON_CODE>01</REGISTER_PERSON_CODE>"" <REGISTER_ORG_CODE>01</REGISTER_ORG_CODE>"" <REGISTER_ORG_NAME>中科</REGISTER_ORG_NAME>"" <SEND_TIME>2010-09-27T14:32:00</SEND_TIME>"" <SEND_ORG_CODE>798921772</SEND
26、_ORG_CODE>"" <SEND_SYSTEM>222222222222</SEND_SYSTEM>"" </V_PATIENTREGC99999999>",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$也没有emp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山师复试考试题目及答案
- 综合行政经理笔试题目及答案
- 乡村管理员考试题及答案
- 2025年安平中学招生考试题目及答案
- 四川省成都市蓉城名校联盟2024-2025学年高二上学期期中考试物理考试物理参考答案及评分标准
- 施工员考试题题型及答案
- 皮肤周护理的DIY方法
- 毛坯仓库转租合同范本
- 冰棍冰淇淋课件
- 店面防火合同范本
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 看管牛羊合同范本
- 2025上海崇明区事务性辅助人员招聘7人笔试备考题库带答案解析
- 2025年东营市总工会公开招聘工会社会工作者(25人)笔试考试备考题库及答案解析
- 污水处理厂设备更新项目社会稳定风险评估报告
- 全国人大机关直属事业单位2026年度公开招聘工作人员考试模拟卷附答案解析
- 人社局公益性岗位笔试题目及答案
- 2026全国人大机关直属事业单位招聘50人笔试考试备考题库及答案解析
- 2026年烟花爆竹经营单位主要负责人证考试题库及答案
- 2025秋统编语文八年级上册14.3《使至塞上》课件(核心素养)
- 2025年点石联考东北“三省一区”高三年级12月份联合考试英语试题(含答案)
评论
0/150
提交评论