版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、WebService測試方案by 姚婷婷2011-1-131. WebService簡介WebService是一種革命性的分布式計算技術(shù),本質(zhì)上就是網(wǎng)絡(luò)上可用的API,可以直接在網(wǎng)絡(luò)環(huán)境調(diào)用的方法。WebService常用的框架有axis、xfire、cxf等。WebService發(fā)布后,其服務(wù)是封裝在一個wsdl(Web Services Description Language,Web服務(wù)描述語言)文件中,客戶端發(fā)請求主要是向發(fā)布好的wsdl地址以SOAP方式發(fā)請求,調(diào)用過程如下:Ø 服務(wù)端:n 生成服務(wù)描述文件,以供客戶端獲取。n 接收客戶端發(fā)來的SOAP請求消息,解析其中的方
2、法調(diào)用和參數(shù)格式。n 根據(jù)wsdl和wsml的描述,調(diào)用相應(yīng)的COM對象來完成指定功能,并把返回值放入SOAP回應(yīng)消息返回給用戶。Ø 客戶端:n 取得服務(wù)端的服務(wù)描述文件,解析該文件從而獲得服務(wù)端的服務(wù)信息以及調(diào)用方式。n 指定調(diào)用方法和參數(shù),生成恰當(dāng)?shù)腟OAP請求消息,發(fā)往服務(wù)端。n 等待服務(wù)端返回的SOAP回應(yīng)消息,解析得到返回值。2. WebService測試說明WebService的測試主要圍繞功能測試、性能測試和安全性測試展開,下面主要描述WebService三大測試的要點。2.1 WebService功能測試測試目的:測試系統(tǒng)所實現(xiàn)WebService接口的功能。進入條件
3、:開發(fā)人員提供已實現(xiàn)功能的程序包,和待測試webservice的方法名、參數(shù)以及實現(xiàn)的功能描述。測試要點:不同的參數(shù)組合,應(yīng)按設(shè)計要求返回相應(yīng)的信息。2.2 WebService性能測試測試目的:測試系統(tǒng)所實現(xiàn)WebService接口的性能。進入條件:WebService接口的功能測試已完畢。測試要點:測試并發(fā)調(diào)用WebService接口,觀察其性能表現(xiàn),主要是在不同的并發(fā)量、持續(xù)運行時間和數(shù)據(jù)庫不同容量下,事務(wù)的響應(yīng)時間、總事務(wù)數(shù)、事務(wù)的成功率、點擊率等,同時監(jiān)控硬件資源的消耗情況。2.3 WebService安全性測試測試目的:測試系統(tǒng)所實現(xiàn)WebService接口的安全性。進入條件:We
4、bService接口的功能測試已完畢。測試要點:測試WebService接口的調(diào)用是否有用戶名、密碼驗證,惡意調(diào)用是否會導(dǎo)致系統(tǒng)崩潰等。3. WebService功能測試目前掌握的測試工具soapUI可以進行WebService的功能測試,下面以測試存儲服務(wù)的PIXManager接口詳細介紹使用soapUI進行WebService功能測試的操作步驟。3.1 新建工程1、 單擊File-> New soapUI Project,如下圖:2、 在彈出的對話框中輸入待測試的ws信息,然后點擊 OK 到下一步Project Name:PIXManagerInitial WSDL/WADL:Cre
5、ate Requests:選中Create TestSuite:選中Relative Paths:選中3、 保存project4、 生成初始的測試用例選擇One TestCase for each Operation:每個接口創(chuàng)建一個用例選擇Create new empty requests:創(chuàng)建一個空的請求Operations:選擇待測試的方法選擇Generates a default LoadTest for each created TeseCase:每個用例生成一個負責(zé)測試(為后面性能測試做準備)5、 生成TestSuite這里可以根據(jù)習(xí)慣更改TestSuite的名稱,如TestSui
6、te:PIXManager。6、 在soapUI的左側(cè)生成如下目錄此時新建project已完成!3.2 發(fā)送請求1、創(chuàng)建項目的時候我們選擇了Create sample requests for all operations,所以每個接口方法都會自動創(chuàng)建一個請求,如下圖:2、雙擊它就可以打開編輯面板,左邊是請求內(nèi)容,右邊是響應(yīng)內(nèi)容。3、在Form頁面輸入?yún)?shù),單擊按鈕執(zhí)行,右側(cè)查看結(jié)果。根據(jù)反饋的結(jié)果判斷請求是否發(fā)送成功。輸入的xml內(nèi)容如下:<?xml version="1.0" encoding="GB2312"?> <V_PATIE
7、NTREGC99999999 xsi:noNamespaceSchemaLocation="PATIENTREGC99999999.xsd" xmlns:xsi=""> <MEDICALSERVICE_NO>01</MEDICALSERVICE_NO> <NAME>小花</NAME> <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE> <GENDER_CD>1</GENDER_CD> <GENDER_VALUE
8、>男性</GENDER_VALUE> <MARITAL_ST_CD>10</MARITAL_ST_CD> <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
9、>社會基本醫(yī)療保險</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> <CITY_NAME>上海</CITY_NAME> <AREA_NAME>浦東
10、區(qū)</AREA_NAME> <STREET_ID>霞飛路</STREET_ID> <VILLAGE_NAME>街</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-27T
11、14:31:00</REGISTER_DATE> <RECORDER_NAME>小芳</RECORDER_NAME> <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>
12、<SEND_ORG_CODE>798921772</SEND_ORG_CODE> <SEND_SYSTEM>222222222222</SEND_SYSTEM> </V_PATIENTREGC99999999>4. WebService性能測試目前掌握的是兩個測試工具soapUI和LoadRunner,其中soapUI可以進行WebService的功能和性能測試,而LoadRunner主要是性能測試。下面分別介紹兩個工具進行WebService性能測試的步驟。1.2.4.1 采用soapUI測試步驟基于前面soapUI功能測試的步驟,
13、若已成功,可將腳本參數(shù)化后用于性能測試,具體步驟如下:4.1.1 數(shù)據(jù)生成器1、右鍵單擊Test Steps,Add Step->DataGen,如下圖:2、輸入步驟名稱3、設(shè)置生成方法1) 點擊新建2) 定義名稱和類型Name:自定義,如MEDICALSERVICE_NOType:選擇Number型,3) 設(shè)置為Randomize instead of step4.1.2 參數(shù)化打開待參數(shù)化的請求,找到需參數(shù)化的內(nèi)容,選中并右鍵單擊,如下圖:。選擇Get Data->Step 1:DataGen->property MEDICALSERVICE_NO原來的數(shù)據(jù)被替換為:$D
14、ataGen#MEDICALSERVICE_NO4.1.3 場景執(zhí)行和監(jiān)控1、打開TestSuite:PIXManager->registerPatientInterface->Load Tests->registerPatientInterface2、設(shè)置并發(fā)線程,單擊執(zhí)行測試4.1.4 結(jié)果分析4.2 采用LoadRunner測試步驟4.2.1 腳本準備1.選擇協(xié)議2、導(dǎo)入wsdl3、Add Service Call 設(shè)置好后生成如下腳本:web_service_call( "StepName=registerPatientInterface_101"
15、,"SOAPMethod=PIXManager_Service|PIXManager_ServicePort|registerPatientInterface","ResponseParam=response","Service=PIXManager_Service","ExpectedResponse=SoapResult","Snapshot=t1294907356.inf",BEGIN_ARGUMENTS,"msgID=","sendMsgOrgID=&quo
16、t;,"sendMsgPosID=","eventDateTime=","eventDateTimeSpecified=","xml=",END_ARGUMENTS,BEGIN_RESULT,"return=Param_return",END_RESULT,LAST);4、輸入?yún)?shù)1) 輸入msgID、sendMsgOrgID、sendMsgPosID、eventDateTime、eventDateTimeSpecified;"msgID=11111","sendM
17、sgOrgID=111111","sendMsgPosID=111111","eventDateTime=2011-01-12 10:10:10","eventDateTimeSpecified=true",2) 輸入Xml;"xml=<?xml version="1.0" encoding="GB2312"?> ""<V_PATIENTREGC99999999 xsi:noNamespaceSchemaLocation="PA
18、TIENTREGC99999999.xsd" xmlns:xsi="">"" <MEDICALSERVICE_NO>01</MEDICALSERVICE_NO>"" <NAME>小花</NAME>"" <BIRTH_DATE>1988-02-01T00:00:00</BIRTH_DATE>"" <GENDER_CD>1</GENDER_CD>"" <GENDE
19、R_VALUE>男性</GENDER_VALUE>"" <MARITAL_ST_CD>10</MARITAL_ST_CD>"" <MARITAL_ST_VALUE>未婚</MARITAL_ST_VALUE>"" <ID_NO_CD>01</ID_NO_CD>"" <ID_NO_VALUE>居民身份證</ID_NO_VALUE>"" <ID_NO></ID_NO>
20、;"" <MEDICARE_CD>01</MEDICARE_CD>"" <MEDICARE_VALUE>社會基本醫(yī)療保險</MEDICARE_VALUE>"" <MEDICAL_INSURANCE_NO>Y001</MEDICAL_INSURANCE_NO>"" <AR_CD>111</AR_CD>"" <AD_CD>01</AD_CD>"" <AD_
21、VALUE>戶籍住址</AD_VALUE>"" <PROVINCE_NAME>上海</PROVINCE_NAME>"" <CITY_NAME>上海</CITY_NAME>"" <AREA_NAME>浦東區(qū)</AREA_NAME>"" <STREET_ID>霞飛路</STREET_ID>"" <VILLAGE_NAME>街</VILLAGE_NAME>"
22、;" <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>"" <
23、;RECORDER_NAME>小芳</RECORDER_NAME>"" <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</
24、SEND_TIME>"" <SEND_ORG_CODE>798921772</SEND_ORG_CODE>"" <SEND_SYSTEM>222222222222</SEND_SYSTEM>"" </V_PATIENTREGC99999999>",5、腳本增強1) 參數(shù)化;2) 增加事務(wù)并打印返回結(jié)果;lr_start_transaction("registerPatientInterface");if (strstr(lr_eval_string("Param_return"),"C99999999$")=NULL) if (strstr(lr_eval_string("Param_return"),"em
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年環(huán)保企業(yè)總經(jīng)理聘用合同范本3篇
- 應(yīng)用數(shù)學(xué)算法課程設(shè)計
- 眼鏡倉庫租賃合同模板
- 手繪服裝畫法課程設(shè)計
- 寫字樓真石漆涂裝合同
- 玻璃幕墻鋼結(jié)構(gòu)施工合同樣本
- 醫(yī)療保健伸縮縫安裝施工協(xié)議
- 2024墻體圖文廣告制作與品牌形象塑造合同3篇
- 用水成本控制協(xié)議
- 住宅小區(qū)電影院租賃合同樣本
- 《醫(yī)學(xué)統(tǒng)計學(xué)》期末試卷
- 昌樂縣鎮(zhèn)區(qū)基準地價更新修正體系匯編(完整版)資料
- 2023年中考語文褒義詞專題練習(xí)(含答案)
- 應(yīng)急救援預(yù)案演練效果評價
- 微生物原生質(zhì)體融合育種課件
- 景觀園林綠化施工設(shè)計及養(yǎng)護
- (完整版)風(fēng)電專業(yè)考試題庫(帶答案)
- 拖欠民工工資檢查表2橫表
- 防火門單位向總包單位移交防火門完成工作面交接單
- GB/T 40719-2021硫化橡膠或熱塑性橡膠體積和/或表面電阻率的測定
- GB/T 25767-2010滾動軸承圓錐滾子
評論
0/150
提交評論