国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web服務(wù)測(cè)試內(nèi)容和執(zhí)行框架

2010-10-16 01:50陳向東
關(guān)鍵詞:監(jiān)視器測(cè)試用例調(diào)用

陳向東

(馬鞍山師范高等??茖W(xué)校 理工系,安徽 馬鞍山 243041)

Web服務(wù)測(cè)試內(nèi)容和執(zhí)行框架

陳向東

(馬鞍山師范高等??茖W(xué)校 理工系,安徽 馬鞍山 243041)

Web服務(wù)的測(cè)試內(nèi)容包括系統(tǒng)功能測(cè)試和性能測(cè)試,性能直接決定Web服務(wù)所提供服務(wù)的質(zhì)量水平,本文選擇性能測(cè)試作為主要研究目標(biāo),根據(jù)Web服務(wù)測(cè)試的特點(diǎn),對(duì)Web服務(wù)測(cè)試的內(nèi)容進(jìn)行分析.指定測(cè)試內(nèi)容為:應(yīng)用在服務(wù)請(qǐng)求端性能的測(cè)試、應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試和應(yīng)用在Web服務(wù)提供端性能的測(cè)試.根據(jù)測(cè)試內(nèi)容,提出了Web服務(wù)測(cè)試執(zhí)行框架.測(cè)試執(zhí)行框架由4個(gè)部分組成:測(cè)試主管、測(cè)試代理、測(cè)試用例、測(cè)試監(jiān)視器.依據(jù)Web服務(wù)測(cè)試的內(nèi)容和執(zhí)行框架,使用.NET技術(shù)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)Web服務(wù)測(cè)試工具WSTest.

Web服務(wù);測(cè)試;內(nèi)容;執(zhí)行框架

1 導(dǎo)言

隨著Web服務(wù)滲入到社會(huì)的各個(gè)應(yīng)用領(lǐng)域,在市場(chǎng)需求的推動(dòng)下,Web服務(wù)軟件規(guī)模不斷擴(kuò)大,軟件復(fù)雜性增加,但激烈的商業(yè)競(jìng)爭(zhēng)使軟件開(kāi)發(fā)周期縮短,如何保證Web服務(wù)的正確性和可靠性越來(lái)越成為人們關(guān)注的問(wèn)題.作為保證軟件質(zhì)量和可靠性的重要手段,Web服務(wù)軟件測(cè)試就成為軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié).由于Web服務(wù)軟件的異構(gòu)、分布、開(kāi)發(fā)和平臺(tái)無(wú)關(guān)等特性[1],因而不可能完全沿用傳統(tǒng)軟件測(cè)試技術(shù)對(duì)其進(jìn)行測(cè)試,這使得對(duì)Web服務(wù)軟件的測(cè)試要比傳統(tǒng)程序的測(cè)試更加困難,從而在軟件測(cè)試領(lǐng)域提出了新的挑戰(zhàn).

2 Web服務(wù)測(cè)試內(nèi)容

測(cè)試是一種信息的收集和分析過(guò)程,過(guò)程中收集的數(shù)據(jù)用來(lái)預(yù)測(cè)怎樣的負(fù)載水平將耗盡系統(tǒng)資源.測(cè)試保證程序具有良好的性能,能考察在不同的用戶負(fù)載下,Web服務(wù)對(duì)用戶請(qǐng)求做出的響應(yīng)情況,以確保將來(lái)系統(tǒng)運(yùn)行的安全性、可靠性和執(zhí)行效率.測(cè)試的主要目的是為維護(hù)系統(tǒng)的性能,并找到有效的改善策略[2].測(cè)試在軟件的質(zhì)量保證中起著重要的作用,它包括的測(cè)試內(nèi)容豐富多樣.主要包括三個(gè)方面的測(cè)試:應(yīng)用在服務(wù)請(qǐng)求端性能的測(cè)試、應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試和應(yīng)用在Web服務(wù)提供端性能的測(cè)試.通常情況下,三方面有效、合理的結(jié)合,可以達(dá)到對(duì)系統(tǒng)性能全面的分析和瓶頸的預(yù)測(cè).

2.1 應(yīng)用在Web服務(wù)請(qǐng)求端性能的測(cè)試

應(yīng)用在Web服務(wù)請(qǐng)求端性能測(cè)試的目的是考察Web服務(wù)的性能.它主要包括功能測(cè)試、性能測(cè)試、壓力測(cè)試等,其中并發(fā)性能測(cè)試是重點(diǎn)[3].并發(fā)性能測(cè)試的過(guò)程是一個(gè)負(fù)載測(cè)試和壓力測(cè)試的過(guò)程,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),通過(guò)綜合分析請(qǐng)求響應(yīng)數(shù)據(jù)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)并發(fā)性能的過(guò)程.壓力測(cè)試是確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)組成部分的相應(yīng)輸出項(xiàng),例如吞吐量、響應(yīng)時(shí)間、CPU負(fù)載、內(nèi)存使用等來(lái)決定系統(tǒng)的性能,其中響應(yīng)時(shí)間尤為重要,因?yàn)樗苯臃从沉薟eb服務(wù)響應(yīng)請(qǐng)求的速度.負(fù)載測(cè)試是一個(gè)分析軟件應(yīng)用程序和支撐架構(gòu)、模擬真實(shí)環(huán)境的使用,從而來(lái)確定能夠接收的性能過(guò)程.壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試.進(jìn)行壓力測(cè)試是指實(shí)際破壞一個(gè)Web服務(wù),測(cè)試系統(tǒng)的反映.壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,也就是測(cè)試Web服務(wù)系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰.并發(fā)性能測(cè)試的目的主要體現(xiàn)在三個(gè)方面:以真實(shí)的業(yè)務(wù)為依據(jù),選擇有代表性的、關(guān)鍵的業(yè)務(wù)操作設(shè)計(jì)測(cè)試案例,以評(píng)價(jià)系統(tǒng)的當(dāng)前性能:當(dāng)擴(kuò)展應(yīng)用程序的功能或者新的應(yīng)用程序?qū)⒁徊渴饡r(shí),負(fù)載測(cè)試會(huì)幫助確定系統(tǒng)是否還能夠處理期望的用戶負(fù)載,以預(yù)測(cè)系統(tǒng)的未來(lái)性能.通過(guò)模擬成百上千個(gè)用戶,重復(fù)執(zhí)行和運(yùn)行測(cè)試,可以確認(rèn)性能瓶頸并優(yōu)化和調(diào)整應(yīng)用,目的在于尋找到瓶頸問(wèn)題.負(fù)載測(cè)試,它是采用系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大并發(fā)用戶數(shù),持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作量強(qiáng)度性能的過(guò)程.如出現(xiàn)錯(cuò)誤導(dǎo)致測(cè)試不能成功執(zhí)行,則及時(shí)調(diào)整測(cè)試指標(biāo),例如降低用戶數(shù)、縮短測(cè)試周期等.

2.2 應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試

應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試重點(diǎn)是利用成熟先進(jìn)的自動(dòng)化技術(shù)進(jìn)行網(wǎng)絡(luò)應(yīng)用性能監(jiān)控、網(wǎng)絡(luò)應(yīng)用性能分析和網(wǎng)絡(luò)預(yù)測(cè).網(wǎng)絡(luò)應(yīng)用性能分析的目的是準(zhǔn)確展示網(wǎng)絡(luò)帶寬、延遲、負(fù)載和TCP端口的變化是如何影響用戶的響應(yīng)時(shí)間的.可以解決多種問(wèn)題:服務(wù)請(qǐng)求端是否對(duì)數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行了不必要的請(qǐng)求;當(dāng)服務(wù)提供者從客戶端接受了一個(gè)請(qǐng)求服務(wù),應(yīng)用服務(wù)器是否花費(fèi)了不可接受的時(shí)間請(qǐng)求Web服務(wù);在系統(tǒng)試運(yùn)行之后,需要及時(shí)準(zhǔn)確地了解網(wǎng)絡(luò)上正在發(fā)生什么事情,什么應(yīng)用在運(yùn)行,如何運(yùn)行;多少PC正在訪問(wèn)Web服務(wù);哪些應(yīng)用程序?qū)е孪到y(tǒng)瓶頸或資源競(jìng)爭(zhēng).這時(shí)網(wǎng)絡(luò)應(yīng)用性能監(jiān)控以及網(wǎng)絡(luò)資源管理對(duì)系統(tǒng)的正常穩(wěn)定運(yùn)行是非常關(guān)鍵的.在大多數(shù)情況下用戶較關(guān)心的問(wèn)題還有哪些應(yīng)用程序占用大量帶寬,哪些用戶產(chǎn)生了最大的網(wǎng)絡(luò)流量.考慮到系統(tǒng)未來(lái)發(fā)展的擴(kuò)展性,預(yù)測(cè)網(wǎng)絡(luò)流量的變化、網(wǎng)絡(luò)結(jié)構(gòu)的變化對(duì)用戶系統(tǒng)的影響非常重要.根據(jù)規(guī)劃數(shù)據(jù)進(jìn)行預(yù)測(cè)并及時(shí)提供網(wǎng)絡(luò)性能預(yù)測(cè)數(shù)據(jù).

2.3 應(yīng)用在Web服務(wù)器上性能的測(cè)試

對(duì)于應(yīng)用在服務(wù)提供者端上性能的測(cè)試,可以采用工具監(jiān)控,也可以使用系統(tǒng)本身的監(jiān)控命令.

3 Web服務(wù)測(cè)試執(zhí)行框架

下面是執(zhí)行Web服務(wù)測(cè)試時(shí),提出的一個(gè)測(cè)試的框架,它由四部分組成:測(cè)試主管、測(cè)試代理、測(cè)試用例和測(cè)試監(jiān)視器.這四部分可以同處一地,實(shí)際應(yīng)用中通常分布在不同的地方,并且它們彼此之間使用SOAP(Simple Object Access Protocol)進(jìn)行通訊.

測(cè)試監(jiān)視器經(jīng)常駐留和被測(cè)的Web服務(wù)同樣的地方.測(cè)試監(jiān)視器捕獲在Web服務(wù)和測(cè)試代理客戶端的信息,并且記錄狀態(tài)的變化.測(cè)試主管通過(guò)從數(shù)據(jù)庫(kù)中創(chuàng)建案例(Scenarios)管理測(cè)試,并且通過(guò)使用SOAP并行的發(fā)送命令到一個(gè)或多個(gè)測(cè)試代理那運(yùn)行[4].它也同步或異步的接受來(lái)自于一個(gè)或多個(gè)測(cè)試監(jiān)視器的數(shù)據(jù).

測(cè)試代理?yè)?dān)當(dāng)在Web服務(wù)方面測(cè)試主管的代理,它執(zhí)行測(cè)試,驗(yàn)證結(jié)果,并且報(bào)告響應(yīng)結(jié)果給測(cè)試主管.如果一個(gè)測(cè)試代理也和被測(cè)Web服務(wù)在同一位置的時(shí)候,它也能擔(dān)當(dāng)一個(gè)測(cè)試監(jiān)視器的角色.

測(cè)試監(jiān)視器經(jīng)常駐留在與被測(cè)的Web服務(wù)同樣的地方.測(cè)試監(jiān)視器捕獲在Web服務(wù)和測(cè)試客戶端的信息,并且記錄狀態(tài)的變化.

測(cè)試主管通過(guò)從Web服務(wù)注冊(cè)庫(kù)中得到WSDL文檔,并且通過(guò)使用SOAP并行的發(fā)送命令到一個(gè)或更多測(cè)試客戶端那運(yùn)行.它也同步或異步的接受來(lái)自于一個(gè)或更多測(cè)試監(jiān)視器的數(shù)據(jù).Web服務(wù)測(cè)試的執(zhí)行框架如圖1所示.

測(cè)試代理?yè)?dān)當(dāng)在Web服務(wù)方面測(cè)試主管的代理,它執(zhí)行測(cè)試,驗(yàn)證結(jié)果,并且報(bào)告響應(yīng)結(jié)果給測(cè)試主管.測(cè)試代理會(huì)先在注冊(cè)庫(kù)中搜尋需要的Web服務(wù),如果一個(gè)測(cè)試客戶端也和被測(cè)的Web服務(wù)在同一位置的時(shí)候,它也能擔(dān)當(dāng)一個(gè)測(cè)試監(jiān)視器的角色.

Web服務(wù)測(cè)試用例的產(chǎn)生,由WSDL中得到能夠使用的具體Web服務(wù),以及調(diào)用每個(gè)Web服務(wù)需要輸入的具體參數(shù)后,就能夠通過(guò)CTM方法產(chǎn)生測(cè)試用例,該方法是針對(duì)功能性測(cè)試中面向黑盒產(chǎn)生測(cè)試用例的一種具體方法.通過(guò)CTM一個(gè)SUT(System Under Test)的輸入和輸出域的各個(gè)方面被劃分成多個(gè)有效輸入類,因此各個(gè)類之間的每種組合就是一個(gè)測(cè)試用例,這其中每個(gè)類之間的某種耦合或關(guān)聯(lián)會(huì)減少有效測(cè)試用例的數(shù)量,這樣會(huì)很大程度上提高產(chǎn)生測(cè)試用例的效率.目前,軟件CTE(classification-tree editor)支持CTM,通過(guò)該CTE可以實(shí)現(xiàn)CTM,自動(dòng)產(chǎn)生測(cè)試用例[5].

Web服務(wù)調(diào)用框架提供了一組基于WSDL文檔驅(qū)動(dòng)的簡(jiǎn)單API來(lái)調(diào)用、測(cè)試Web服務(wù).只要服務(wù)采用WSDL文檔描述,則不管服務(wù)是怎樣提供或由哪里提供,均可以采用統(tǒng)一的模式來(lái)調(diào)用,過(guò)去僅局限于SOAP進(jìn)行服務(wù)調(diào)用的模式轉(zhuǎn)變?yōu)榛赪SDL文檔的通用服務(wù)調(diào)用模式.Web服務(wù)調(diào)用框架將Web服務(wù)調(diào)用的全部問(wèn)題從以綁定為中心的觀點(diǎn)轉(zhuǎn)移到更抽象的級(jí)別上,與傳統(tǒng)調(diào)用模式相比,Web服務(wù)測(cè)試框架具有以下一些特點(diǎn):

(1)提供了一組對(duì)任何服務(wù)都獨(dú)立于綁定訪問(wèn)的API;

(2)內(nèi)置了端口類型編譯器產(chǎn)生存根,允許使用抽象服務(wù)接口調(diào)用;

(3)允許無(wú)存根(完全動(dòng)態(tài))的服務(wù)調(diào)用;

(4)可以在運(yùn)行時(shí)更新綁定;

(5)可以在運(yùn)行時(shí)插入新的綁定;

(6)允許將綁定選擇延后到運(yùn)行時(shí).

Web服務(wù)的最終承諾就是實(shí)現(xiàn)遠(yuǎn)程調(diào)用,通過(guò)對(duì)服務(wù)調(diào)用各階段的分析,以及階段間調(diào)用關(guān)系的總結(jié),將服務(wù)從最初發(fā)現(xiàn)到最終調(diào)用的整個(gè)過(guò)程進(jìn)行無(wú)縫連接,實(shí)現(xiàn)了服務(wù)的動(dòng)態(tài)調(diào)用、測(cè)試[6].事實(shí)證明,它被直接設(shè)計(jì)用來(lái)調(diào)用由Web服務(wù)描述語(yǔ)言描述的Web服務(wù),隱藏了底層訪問(wèn)協(xié)議 (如SOAP)的復(fù)雜性,由于WSDL文檔的服務(wù)綁定部分本身是可擴(kuò)展的,這樣就可以通過(guò)給服務(wù)添加新的綁定,使之能夠通過(guò)某個(gè)定制的協(xié)議訪問(wèn)該服務(wù),Web服務(wù)測(cè)試執(zhí)行框架不僅增加了面向服務(wù)應(yīng)用的靈活性和擴(kuò)展性,也在某種程度上將Web服務(wù)的調(diào)用提高到一個(gè)更抽象的不基于特定SOAP協(xié)議的高度,有效隱藏了底層訪問(wèn)協(xié)議的復(fù)雜性.

4 WSTest測(cè)試系統(tǒng)

4.1 設(shè)計(jì)思想

WSTest測(cè)試系統(tǒng)是在微軟VS.NET2005環(huán)境下實(shí)現(xiàn)的.由于Web服務(wù)通信協(xié)議多采用標(biāo)準(zhǔn)的SOAP協(xié)議,因此.NET提供了一套API來(lái)實(shí)現(xiàn)SOAP的封裝、傳輸、解析,作為SOAP處理機(jī),它的處理對(duì)象就是SOAP消息..NET中對(duì)SOAP消息的處理是通過(guò)在處理器間傳送一個(gè)MessageContext對(duì)象來(lái)完成的.MessageContext含有處理請(qǐng)求消息或響應(yīng)消息所需的所有數(shù)據(jù),其中關(guān)鍵數(shù)據(jù)有:一個(gè)請(qǐng)求消息、一個(gè)響應(yīng)消息以及當(dāng)前消息處理的所有元數(shù)據(jù).每個(gè)處理器都可訪問(wèn)MessageContext的所有數(shù)據(jù),因此,每一處理器都可使用修改請(qǐng)求消息及任何可能存在的響應(yīng)消息.

WSTest測(cè)試程序主要包括6個(gè)部分:(1)輸入WSDL地址,解析WSDL文檔,得到Web服務(wù)信息.(2)初始化被測(cè)Web服務(wù)需要輸入的參數(shù)值.(3)發(fā)送Web服務(wù)請(qǐng)求,封裝請(qǐng)求消息為SOAP格式.(4)傳輸SOAP請(qǐng)求,得到返回結(jié)果.(5)解析SOAP消息,得到Web服務(wù)結(jié)果.(6)用二維圖表顯示不同測(cè)試的性能指標(biāo).程序主體框架描述如圖2所示.

4.2 測(cè)試實(shí)驗(yàn)

WSTest的用戶界面如圖3所示,開(kāi)始的時(shí)候,先要確定請(qǐng)求Web服務(wù)的WSDL地址的具體位置,如 http://localhost/service1.asmx,此時(shí)點(diǎn)擊“測(cè)試”按鈕,這一步就是在Web服務(wù)提供者位置查找到該Web服務(wù)的WSDL地址,并且把WSDL文件的內(nèi)容解析出來(lái).如果輸入所需參數(shù),則會(huì)返回不同的測(cè)試結(jié)果.

圖3 測(cè)試名為service1.asmx的Web服務(wù)

5 結(jié)論

在進(jìn)行Web服務(wù)測(cè)試時(shí),需要確定測(cè)試內(nèi)容,定義測(cè)試執(zhí)行框架,然后設(shè)計(jì)具體測(cè)試系統(tǒng)進(jìn)行測(cè)試.Web服務(wù)性能測(cè)試的內(nèi)容主要包括應(yīng)用在服務(wù)請(qǐng)求端性能測(cè)試、應(yīng)用在網(wǎng)絡(luò)上性能測(cè)試和應(yīng)用在Web服務(wù)提供端性能測(cè)試.Web服務(wù)測(cè)試執(zhí)行框架包括測(cè)試主管、測(cè)試代理、測(cè)試用例和測(cè)試監(jiān)視器.

〔1〕湯永剛.Web service實(shí)現(xiàn)技術(shù)研究[J],福建電腦,2006,15(3):34-35,29.

〔2〕陳隋和,鐘勇.一種增強(qiáng) Web Services的服務(wù)質(zhì)量和性能的方法[J].計(jì)算機(jī)應(yīng)用,2006,26(2):472-475.

〔3〕宮去戰(zhàn).軟件測(cè)試[M].北京:國(guó)防工業(yè)出版社,2006.

〔4〕李剛毅,金蓓弘.自動(dòng)化回歸測(cè)試的技術(shù)和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2006:186-188.

〔5〕W3C.WebServicearchitecture,W3C working Group Note,www.w3.org/tr/ws-arch/,2009.

〔6〕Davidson,N. Web Services Testing.The Red-gate software technical papers,2002.http://www.redgate.com.

〔7〕黃寧,余瑩,張大勇.Web服務(wù)軟件測(cè)試技術(shù)的研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與應(yīng)用,2004,35:147-149.

TP311.5

A

1673-260X(2010)02-0056-03

猜你喜歡
監(jiān)視器測(cè)試用例調(diào)用
基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于FPGA消息識(shí)別和過(guò)濾的1553B總線監(jiān)視器的設(shè)計(jì)
基于混合遺傳算法的回歸測(cè)試用例集最小化研究
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
深耕廣電,時(shí)代奧視監(jiān)視器“花香遍墻內(nèi)外”
基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
高速公路智能網(wǎng)絡(luò)監(jiān)視器的應(yīng)用
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信