李秀梅
摘 要 互聯(lián)網(wǎng)的迅速興起帶動(dòng)了全球范圍內(nèi)軟件開發(fā)的浪潮,而基于Web應(yīng)用的軟件開發(fā)則成為領(lǐng)域內(nèi)主流。現(xiàn)階段各類行業(yè)都將目光集中于Web應(yīng)用軟件的開發(fā)與使用。而在實(shí)際研發(fā)流程中,測(cè)試環(huán)節(jié)必不可少。但就目前形勢(shì)而言,相比于Web應(yīng)用軟件設(shè)計(jì)而言,Web應(yīng)用軟件測(cè)試的研究力度有待進(jìn)一步加強(qiáng)。本文以Web應(yīng)用軟件測(cè)試技術(shù)的發(fā)展為主要研究內(nèi)容,在介紹Web應(yīng)用軟件各個(gè)階段涉及的測(cè)試技術(shù)的基礎(chǔ)上,結(jié)合實(shí)際提出Web應(yīng)用軟件測(cè)試研究的未來方向,以供相關(guān)人士參考。
關(guān)鍵詞 Web應(yīng)用軟件測(cè)試 現(xiàn)狀問題 發(fā)展方向
中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A
Web應(yīng)用軟件自身具備的特征為應(yīng)用軟件的測(cè)試工作以及測(cè)試技術(shù)的革新帶來種種挑戰(zhàn),包括Web應(yīng)用軟件的異構(gòu)性、分布性、并發(fā)性以及平臺(tái)無關(guān)性等,令Web應(yīng)用軟件測(cè)試相較于傳統(tǒng)程序測(cè)試工作的難度進(jìn)一步提升。Web應(yīng)用軟件開發(fā)主要包含四個(gè)階段,即軟件設(shè)計(jì)階段、軟件開發(fā)階段、軟件運(yùn)行階段以及軟件維護(hù)階段。上述四個(gè)階段都需要具備相應(yīng)的軟件測(cè)試技術(shù)以保障Web應(yīng)用軟件的使用性能。
1 Web應(yīng)用軟件的特點(diǎn)及故障分析
Web應(yīng)用軟件在使用過程中的優(yōu)勢(shì)以及遇到的問題都與其區(qū)別于傳統(tǒng)軟件系統(tǒng)而言的特殊性有直接關(guān)聯(lián):
第一,Web應(yīng)用軟件系統(tǒng)是一個(gè)多層架構(gòu)的體系結(jié)構(gòu),其在邏輯層面包含表示層、業(yè)務(wù)邏輯層以及數(shù)據(jù)層。表示層與業(yè)務(wù)邏輯層之間的數(shù)據(jù)流通不在同一系統(tǒng)平臺(tái)上,業(yè)務(wù)邏輯層與數(shù)據(jù)層的信息共享也不在同一系統(tǒng)平臺(tái)上,表示層與數(shù)據(jù)層的數(shù)據(jù)信息傳輸也不在同一系統(tǒng)平臺(tái)上。也就是說,Web應(yīng)用軟件系統(tǒng)的多層架構(gòu)設(shè)計(jì)的先天特征為應(yīng)用軟件的測(cè)試工作帶來了很大挑戰(zhàn)。測(cè)試工作不僅要顧忌單層系統(tǒng)平臺(tái)的性能,更要考慮多層平臺(tái)之間的性能匹配與整體性能調(diào)整。
第二,Web應(yīng)用軟件平臺(tái)的搭建數(shù)據(jù)語言包含HTML、XML、Java、JSP等多類型編程語言技術(shù)。由此可以看出,系統(tǒng)對(duì)應(yīng)的測(cè)試技術(shù)對(duì)于編程語言技術(shù)的要求以及覆蓋范圍有較高標(biāo)準(zhǔn)。換言之,多語言的Web應(yīng)用軟件系統(tǒng)的復(fù)雜性為其測(cè)試工作帶來困難。
第三,從Web應(yīng)用軟件的組成成分?jǐn)?shù)量看,其以若干實(shí)體為系統(tǒng)組成單位,這些實(shí)體可能為HTML文檔,可能為XML文檔,也可能是ISAPI程序。也就是說,Web應(yīng)用程序的組成成分紛繁復(fù)雜、數(shù)量較多,為其測(cè)試工作的進(jìn)行帶來較多困難。
第四,Web應(yīng)用軟件的運(yùn)行機(jī)制集合分布式、并發(fā)性、動(dòng)態(tài)性以及交互即時(shí)性等特點(diǎn),其運(yùn)行機(jī)制包含用戶提出請(qǐng)求、服務(wù)器給予響應(yīng)、服務(wù)器向客戶端提交結(jié)果、用戶解釋執(zhí)行。可見,在整個(gè)Web應(yīng)用軟件系統(tǒng)的流程中,服務(wù)器提交的結(jié)果可能包含多種語言,對(duì)其的解釋執(zhí)行操作具有明顯的動(dòng)態(tài)特征,與此對(duì)應(yīng)的測(cè)試體系也需要具有動(dòng)態(tài)性。從技術(shù)層面而言,動(dòng)態(tài)性的測(cè)試技術(shù)相對(duì)于傳統(tǒng)測(cè)試技術(shù)而言更具有挑戰(zhàn)性。
第五,Web應(yīng)用軟件的運(yùn)行過程具有明顯的不確定性,原因在于系統(tǒng)內(nèi)容的運(yùn)行過程主要受用戶意圖及用戶行為控制,加之用戶規(guī)模數(shù)量較多,因此,Web應(yīng)用軟件的運(yùn)行過程較難得到統(tǒng)一,從而促進(jìn)了應(yīng)用軟件測(cè)試工作的操作難度。
2 Web應(yīng)用軟件測(cè)試的發(fā)展方向分析
如前文所說,Web應(yīng)用軟件系統(tǒng)的測(cè)試工作從系統(tǒng)屬性方面看具有多重挑戰(zhàn),因此,對(duì)此議題的研究是一項(xiàng)漫長且緊迫的工作。結(jié)合實(shí)踐經(jīng)驗(yàn)以及數(shù)據(jù)整合結(jié)果,對(duì)于Web應(yīng)用軟件的測(cè)試未來的發(fā)展,筆者將做如下分析:
第一,MDT技術(shù)未來在Web應(yīng)用軟件測(cè)試的發(fā)展路程中將占據(jù)越來越重要的地位。MDT技術(shù)是隨著MDA應(yīng)用系統(tǒng)而產(chǎn)生的、對(duì)實(shí)現(xiàn)測(cè)試自動(dòng)化有幫助的高效率測(cè)試手段之一。其測(cè)試體系的核心為Web應(yīng)用軟件測(cè)試模型的設(shè)計(jì)與建立。該模型的描述可以憑借U2TP建模語言完成,適用于Web應(yīng)用系統(tǒng)內(nèi)包括單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試在內(nèi)的各個(gè)級(jí)別。當(dāng)MDT技術(shù)的應(yīng)用軟件測(cè)試模型建立起來后,測(cè)試工作將由該模型構(gòu)成的測(cè)試工具自動(dòng)完成,在動(dòng)態(tài)性以及多層保障性方面具有高效性。目前,MDT測(cè)試技術(shù)已經(jīng)成為應(yīng)用軟件測(cè)試研究體系中的重要方向。
第二,以Agent為核心的應(yīng)用軟件測(cè)試技術(shù)近年來以新學(xué)科的身份出現(xiàn),受到了領(lǐng)域內(nèi)相關(guān)研究人士的重視。目前已有學(xué)者得出相關(guān)應(yīng)用軟件測(cè)試框架,其原理是將Web應(yīng)用系統(tǒng)中的測(cè)試任務(wù)予以分解處理,憑借不同測(cè)試代理對(duì)測(cè)試工作進(jìn)行分工,并采取協(xié)同合作的方式最終完成Web應(yīng)用軟件的測(cè)試工作。相比于原有應(yīng)用軟件測(cè)試方法而言,基于Agent的測(cè)試技術(shù)在自動(dòng)化程度方面有明顯提高,這得益于其依托測(cè)試代理高度的分工協(xié)作。此外,基于Agent的應(yīng)用軟件測(cè)試技術(shù)可以降低應(yīng)用軟件測(cè)試體系所花費(fèi)的成本,進(jìn)而提升Web應(yīng)用軟件的測(cè)試效率。目前,此種測(cè)試方法由于受到形式化規(guī)約、模型檢驗(yàn)等因素的限制,在實(shí)用性方面還需憑借深入研究以進(jìn)一步加強(qiáng)。
3結(jié)語
基于本文內(nèi)容可以看出,Web應(yīng)用軟件測(cè)試工作時(shí)保障應(yīng)用軟件使用過程中的可靠性能以及可保障質(zhì)量的必要手段,結(jié)合當(dāng)前Web應(yīng)用軟件測(cè)試現(xiàn)狀中的困境問題,相關(guān)技術(shù)研究人員需要加強(qiáng)Web應(yīng)用軟件測(cè)試研究的力度,通過測(cè)試模型的改良、測(cè)試策略的調(diào)整、測(cè)試級(jí)別的精確以及測(cè)試過程的完善以提升Web應(yīng)用軟件測(cè)試技術(shù)的有效性。
(作者學(xué)號(hào):1330474)
參考文獻(xiàn)
[1] 路曉麗.Web應(yīng)用軟件的測(cè)試技術(shù)研究[D].西北大學(xué),2006.
[2] 劉繼華.基于風(fēng)險(xiǎn)的Web應(yīng)用軟件測(cè)試方案研究與應(yīng)用[D].太原理工大學(xué),2006.
[3] 楊彬,常廣炎.Web軟件測(cè)試研究[J].計(jì)算機(jī)時(shí)代,2008,01:6-7+10.