王 焱 (鄖陽師范高等??茖W(xué)校物理與電子工程系,湖北丹江口442700)
吳青林 (鄖陽師范高等??茖W(xué)校計(jì)算機(jī)科學(xué)系,湖北丹江口442700)
Web應(yīng)用軟件以其交互性、廣泛性和與平臺(tái)無關(guān)性等優(yōu)點(diǎn)廣泛應(yīng)用。當(dāng)前Web應(yīng)用軟件具有種類多、數(shù)量大、開發(fā)周期短、結(jié)構(gòu)復(fù)雜等特點(diǎn),市面上Web應(yīng)用軟件質(zhì)量良莠不齊,對(duì)Web應(yīng)用軟件的質(zhì)量進(jìn)行科學(xué)合理的評(píng)價(jià)測(cè)試日益受到人們的重視。下面,筆者分析了Web應(yīng)用軟件的特征以及對(duì)其進(jìn)行質(zhì)量評(píng)價(jià)測(cè)試的影響,并對(duì)Web應(yīng)用軟件評(píng)價(jià)測(cè)試內(nèi)容進(jìn)行了詳細(xì)的闡述。
與傳統(tǒng)的應(yīng)用軟件相比,Web應(yīng)用軟件在體系結(jié)構(gòu)、運(yùn)行環(huán)境等方面具有很大的不同,具體表現(xiàn)在以下方面。
1)體系架構(gòu) Web體系結(jié)構(gòu)與傳統(tǒng)軟件的體系結(jié)構(gòu)相比發(fā)生比較大的變化,Web體系結(jié)構(gòu)具有多層的特點(diǎn)[1]。目前最流行的體系結(jié)構(gòu)是Sun公司推出的J2EE架構(gòu)和微軟公司推出的.NET架構(gòu),代表著當(dāng)今Web體系結(jié)構(gòu)的主流方向[2]。
2)通信協(xié)議 HTTP協(xié)議是因特網(wǎng)應(yīng)用層上的一種無連接的協(xié)議,所有的WWW文件都必須符合這個(gè)協(xié)議標(biāo)準(zhǔn),主要用于客戶端瀏覽器和Web服務(wù)器端進(jìn)行發(fā)送請(qǐng)求和響應(yīng)請(qǐng)求。HTTP協(xié)議的無狀態(tài)性使每次連接時(shí)都需要協(xié)調(diào)客戶端瀏覽器和Web服務(wù)器端之間的數(shù)據(jù),導(dǎo)致網(wǎng)絡(luò)的通信量增加,負(fù)載變大。
3)數(shù)據(jù)存儲(chǔ) Web應(yīng)用軟件的數(shù)據(jù)一般比較大,通常存放在專用數(shù)據(jù)庫服務(wù)器上,由大型的關(guān)系型數(shù)據(jù)庫系統(tǒng)存儲(chǔ),比較常用的有SQLServer、Mysql、DB2、O racle等。
4)運(yùn)行環(huán)境及負(fù)載 Web應(yīng)用軟件的性能與環(huán)境和負(fù)載都密切相關(guān),如網(wǎng)絡(luò)的帶寬、服務(wù)器的配置、操作系統(tǒng)、瀏覽器等相關(guān)因素。
5)軟硬件平臺(tái) Web應(yīng)用軟件系統(tǒng)和比傳統(tǒng)的軟件系統(tǒng)要復(fù)雜的多,支持各種類型的軟件和硬件平臺(tái)。在軟件方面,Web系統(tǒng)包括不同的數(shù)據(jù)庫,Web服務(wù)器、操作系統(tǒng)和防火墻等;硬件方面,Web系統(tǒng)要能在各種各樣的硬件平臺(tái)上運(yùn)行。
根據(jù)Web應(yīng)用軟件結(jié)構(gòu)的分析,可知Web應(yīng)用軟件對(duì)質(zhì)量評(píng)測(cè)產(chǎn)生了很大的影響,Web應(yīng)用軟件的測(cè)試比傳統(tǒng)軟件的測(cè)試要復(fù)雜的多,其影響主要表現(xiàn)以下幾個(gè)方面。
1)并發(fā)用戶 大量的并發(fā)用戶訪問使得Web應(yīng)用軟件對(duì)用戶并發(fā)數(shù)的要求比傳統(tǒng)軟件高很多。
“哈哈,你馬國(guó)平還算有點(diǎn)良心!還知道一連吃肉,給我們救護(hù)隊(duì)分點(diǎn)湯!”汪隊(duì)長(zhǎng)的臉色和悅起來,“說真的,看你們沖鋒在前,我們救護(hù)隊(duì)員很是佩服?!?/p>
2)軟件結(jié)構(gòu) Web應(yīng)用軟件在系統(tǒng)架構(gòu)、通信協(xié)議、數(shù)據(jù)存儲(chǔ)、運(yùn)行環(huán)境和軟硬件平臺(tái)等方面都存在很大差別,各個(gè)部件之間關(guān)系復(fù)雜,需要對(duì)兼容性進(jìn)行測(cè)試。
3)軟件功能 Web應(yīng)用軟件功能重點(diǎn)強(qiáng)調(diào)的是信息的顯示和查找,需要對(duì)頁面信息是否能夠正確顯示進(jìn)行評(píng)測(cè)。
4)運(yùn)行環(huán)境 Web應(yīng)用軟件運(yùn)行環(huán)境復(fù)雜,需要滿足不同用戶的需求,模擬軟件運(yùn)行環(huán)境對(duì)其進(jìn)行性能評(píng)測(cè)非常重要。
根據(jù)Web應(yīng)用軟件的特點(diǎn),結(jié)合傳統(tǒng)軟件評(píng)測(cè)方法,可以從功能、性能、安全性、兼容性和可用性等方面對(duì)Web應(yīng)用軟件進(jìn)行評(píng)測(cè)。
1)超級(jí)鏈接 超級(jí)鏈接是Web應(yīng)用軟件向用戶提供服務(wù)的重要途徑,每一個(gè)Web應(yīng)用軟件都存在超級(jí)鏈接。鏈接測(cè)試主要測(cè)試所有的鏈接是否都正確,是否不存在空白的鏈接,是否不存在單獨(dú)孤立的Web頁面。鏈接測(cè)試一般是在所有Web頁面開發(fā)完畢后執(zhí)行[3]。
2)表單 用戶通過瀏覽器向Web服務(wù)器傳遞數(shù)據(jù)時(shí)常常借助表單工具進(jìn)行實(shí)施。需要對(duì)Web應(yīng)用軟件表單的數(shù)據(jù)正確性和完整性進(jìn)行測(cè)試,驗(yàn)證字段是否滿足規(guī)定的類型和范圍,是否符合默認(rèn)值等要求。
3)Cookies Cookies主要作用是在客戶端存儲(chǔ)用戶對(duì)Web應(yīng)用軟件的交互信息,根據(jù)Cookies信息可以創(chuàng)建個(gè)性化的頁面和存儲(chǔ)一些登陸信息,如用戶名、密碼信息等。其評(píng)測(cè)內(nèi)容主要包括Cookies是否有效,能否在要求的時(shí)間期間保存,重啟計(jì)算機(jī)后有沒有影響等方面。
4)數(shù)據(jù)庫 數(shù)據(jù)庫主要用來存儲(chǔ)數(shù)據(jù),所有的Web應(yīng)用軟件都會(huì)用到數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫占Web應(yīng)用軟件所使用數(shù)據(jù)庫的絕大多數(shù),主要使用SQL語句對(duì)各類對(duì)象進(jìn)行操作。其評(píng)測(cè)的重點(diǎn)主要檢查數(shù)據(jù)是否一致和輸出數(shù)據(jù)是否有錯(cuò)誤。
2)負(fù)載 主要評(píng)測(cè)在不同負(fù)載的條件下Web應(yīng)用軟件系統(tǒng)性能的表現(xiàn)。負(fù)載測(cè)試的過程是給被測(cè)試系統(tǒng)承擔(dān)不同級(jí)別的負(fù)載,評(píng)測(cè)Web系統(tǒng)能夠支持的并發(fā)數(shù)和單位時(shí)間吞吐量,其目標(biāo)是確定在性能指標(biāo)能夠滿足的條件下,系統(tǒng)所能承受的最大負(fù)載量。
3)壓力 主要評(píng)測(cè)Web系統(tǒng)在極端情況下的性能表現(xiàn),通過給系統(tǒng)施加越來越大的負(fù)載,發(fā)現(xiàn)性能下降的拐點(diǎn),其最終目標(biāo)就是發(fā)現(xiàn)在什么樣的負(fù)載情況下系統(tǒng)出現(xiàn)問題,處于崩潰狀態(tài),用戶變得不能接受,可以獲取Web系統(tǒng)具有的最大服務(wù)能力。
4)持久度 持久度評(píng)測(cè)的運(yùn)行時(shí)間非常長(zhǎng),持續(xù)時(shí)間多達(dá)幾十小時(shí)甚至上百小時(shí),通過長(zhǎng)時(shí)間的評(píng)測(cè)能夠發(fā)現(xiàn)一些在評(píng)測(cè)初期不易覺察的軟件缺陷和錯(cuò)誤。
Web應(yīng)用軟件是基于Internet網(wǎng)絡(luò)存儲(chǔ)的,任何聯(lián)入Internet網(wǎng)的用戶都有可能存取到Web應(yīng)用軟件,因此安全性評(píng)測(cè)是Web應(yīng)用評(píng)測(cè)的一個(gè)非常重要的方面[4]。其主要包括超時(shí)評(píng)測(cè)、日志評(píng)測(cè)、加密評(píng)測(cè)和保護(hù)資源評(píng)測(cè)。
1)運(yùn)行平臺(tái) 主要指Web評(píng)測(cè)應(yīng)用軟件處于特定操作系統(tǒng)的兼容性問題,同一個(gè)Web應(yīng)用軟件在一個(gè)W indow s操作系統(tǒng)平臺(tái)下能夠正常運(yùn)行,在另一個(gè)操作系統(tǒng)平臺(tái)下運(yùn)行可能出現(xiàn)不兼容的問題。
2)瀏覽器 Web應(yīng)用軟件要滿足用戶在不同種類和不同版本的瀏覽器中都能夠正常訪問頁面內(nèi)容。測(cè)試時(shí)首先確保主流瀏覽器及版本正常顯示頁面內(nèi)容,再對(duì)非主流的游覽器及版本進(jìn)行測(cè)試,最大限度的保證瀏覽器的兼容性完整。除了對(duì)瀏覽器的種類和版本進(jìn)行測(cè)試外,還要對(duì)不同的分辨率進(jìn)行測(cè)試,要在不同的分辨率下正常顯示。
1)導(dǎo)航 主要評(píng)測(cè)用戶是否能夠根據(jù)Web應(yīng)用軟件的導(dǎo)航功直觀能明白軟件的整體結(jié)構(gòu),快速準(zhǔn)確定位最想查找到的信息。
2)圖形 Web應(yīng)用系統(tǒng)的圖形測(cè)試的范圍較廣,除了各種格式的圖片和動(dòng)畫外,還有各種按鈕和字體等其他對(duì)象都在測(cè)試的范圍內(nèi)。要確保系統(tǒng)內(nèi)的圖片大小盡可能小,字體大小風(fēng)格保持統(tǒng)一,各種顏色和諧一致,按鈕形象直觀等。
3)內(nèi)容 主要評(píng)測(cè)Web應(yīng)用軟件的內(nèi)容是否真實(shí),是否準(zhǔn)確和是否具有相關(guān)性。內(nèi)容真實(shí)是內(nèi)容測(cè)試的一個(gè)基本要素,內(nèi)容只有經(jīng)過審核認(rèn)為是真實(shí)的才能夠發(fā)布。內(nèi)容準(zhǔn)確指內(nèi)容不能產(chǎn)生歧義,不能有各種語法錯(cuò)誤和拼寫錯(cuò)誤出現(xiàn)。相關(guān)性指用戶能夠在所處頁面中找到與該內(nèi)容相關(guān)信息的鏈接,方便用戶快速的查詢到相關(guān)內(nèi)容。
4)界面 主要評(píng)測(cè)Web應(yīng)用軟件是否能夠給系統(tǒng)使用者提供一個(gè)清晰美觀的界面。界面測(cè)試一般需要系統(tǒng)使用者的參加,可以通過問卷調(diào)查的形式,獲得系統(tǒng)使用者對(duì)界面的滿意程度和一些需要改進(jìn)之處。
Web應(yīng)用軟件評(píng)測(cè)是一項(xiàng)復(fù)雜的多層次全方位的工作,隨著Web應(yīng)用軟件的復(fù)雜性增加,對(duì)其進(jìn)行評(píng)測(cè)將會(huì)顯得更加重要[5]。在評(píng)測(cè)中要選用科學(xué)的測(cè)試方法,組織合適的測(cè)試人員,進(jìn)行真實(shí)的測(cè)試環(huán)境模擬,設(shè)計(jì)恰當(dāng)?shù)臏y(cè)試用例,通過評(píng)測(cè)盡可能的發(fā)現(xiàn)Web應(yīng)用軟件的缺陷,提高Web應(yīng)用軟件的質(zhì)量和運(yùn)行的穩(wěn)定性。
[1]孫海英.軟件測(cè)試方法與應(yīng)用 [M].北京:中國(guó)鐵道出版社,2009.
[2]宋開旭.軟件工程[M].天津:天津科學(xué)技術(shù)出版社,2009.
[3]梅勃.基于J2EE架構(gòu)的Web應(yīng)用系統(tǒng)測(cè)試方法研究與應(yīng)用[D].安徽:合肥工業(yè)大學(xué),2007.
[4]馮細(xì)光,劉建勛.Web服務(wù)測(cè)試技術(shù)綜述 [J].微計(jì)算機(jī)應(yīng)用,2010,31(1):21~26.
[5]劉彥凱.淺談軟件的評(píng)測(cè) [J].辦公自動(dòng)化,2007,105(4):4~5.