李彥威
摘要:在Web工程過(guò)程中,基于Web系統(tǒng)的測(cè)試、確認(rèn)和驗(yàn)收是一項(xiàng)重要而富有挑戰(zhàn)性的工作?;赪eb的系統(tǒng)測(cè)試與傳統(tǒng)的軟件測(cè)試不同,它不但需要檢查和驗(yàn)證是否按照設(shè)計(jì)的要求運(yùn)行,而且還要測(cè)試系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進(jìn)行安全性和可用性測(cè)試。然而,Internet和Web媒體的不可預(yù)見(jiàn)性使測(cè)試基于Web的系統(tǒng)變得困難。因此,我們必須為測(cè)試和評(píng)估復(fù)雜的基于Web的系統(tǒng)研究新的方法和技術(shù)。
關(guān)鍵詞:WEB工程;WEB測(cè)試;功能測(cè)試;性能測(cè)試
前言:
在Web工程過(guò)程中,基于Web系統(tǒng)的測(cè)試、確認(rèn)和驗(yàn)收是一項(xiàng)重要而富有挑戰(zhàn)性的工作?;赪eb的系統(tǒng)測(cè)試與傳統(tǒng)的軟件測(cè)試不同,它不但需要檢查和驗(yàn)證是否按照設(shè)計(jì)的要求運(yùn)行,而且還要測(cè)試系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進(jìn)行安全性和可用性測(cè)試。然而,Internet和Web媒體的不可預(yù)見(jiàn)性使測(cè)試基于Web的系統(tǒng)變得困難。因此,我們必須為測(cè)試和評(píng)估復(fù)雜的基于Web的系統(tǒng)研究新的方法和技術(shù)。一般軟件的發(fā)布周期以月或以年計(jì)算,而Web應(yīng)用的發(fā)布周期以天計(jì)算甚至以小時(shí)計(jì)算。
一、功能測(cè)試類型
(一)鏈接測(cè)試
鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段。鏈接測(cè)試可分為三個(gè)方面。首先,測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面;其次,測(cè)試所鏈接的頁(yè)面是否存在;最后,保證Web應(yīng)用系統(tǒng)上沒(méi)有孤立的頁(yè)面,所謂孤立頁(yè)面是指沒(méi)有鏈接指向該頁(yè)面,只有知道正確的URL地址才能訪問(wèn)。
鏈接測(cè)試可以自動(dòng)進(jìn)行,現(xiàn)在已經(jīng)有許多工具可以采用。鏈接測(cè)試必須在集成測(cè)試階段完成,也就是說(shuō),在整個(gè)Web應(yīng)用系統(tǒng)的所有頁(yè)面開(kāi)發(fā)完成之后進(jìn)行鏈接測(cè)試。
(二)表單測(cè)試
當(dāng)用戶通過(guò)表單提交信息的時(shí)候,都希望表單能正常工作。
如果使用表單來(lái)進(jìn)行在線注冊(cè),要確保提交按鈕能正常工作,當(dāng)注冊(cè)完成后應(yīng)返回注冊(cè)成功的消息。如果使用表單收集配送信息,應(yīng)確保程序能夠正確處理這些數(shù)據(jù),最后能讓顧客能讓客戶收到包裹。要測(cè)試這些程序,需要驗(yàn)證服務(wù)器能正確保存這些數(shù)據(jù),而且后臺(tái)運(yùn)行的程序能正確解釋和使用這些信息。
當(dāng)用戶使用表單進(jìn)行用戶注冊(cè)、登陸、信息提交等操作時(shí),我們必須測(cè)試提交操作的完整性,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫(xiě)的出生日期與職業(yè)是否恰當(dāng),填寫(xiě)的所屬省份與所在城市是否匹配等。如果使用了默認(rèn)值,還要檢驗(yàn)?zāi)J(rèn)值的正確性。如果表單只能接受指定的某些值,則也要進(jìn)行測(cè)試。例如:只能接受某些字符,測(cè)試時(shí)可以跳過(guò)這些字符,看系統(tǒng)是否會(huì)報(bào)錯(cuò)。
(三)數(shù)據(jù)校驗(yàn)
如果系根據(jù)業(yè)務(wù)規(guī)則需要對(duì)用戶輸入進(jìn)行校驗(yàn),需要保證這些校驗(yàn)功能正常工作。例如,省份的字段可以用一個(gè)有效列表進(jìn)行校驗(yàn)。在這種情況下,需要驗(yàn)證列表完整而且程序正確調(diào)用了該列表(例如在列表中添加一個(gè)測(cè)試值,確定系統(tǒng)能夠接受這個(gè)測(cè)試值)。
(四)cookies測(cè)試
Cookies通常用來(lái)存儲(chǔ)用戶信息和用戶在某應(yīng)用系統(tǒng)的操作,當(dāng)一個(gè)用戶使用Cookies訪問(wèn)了某一個(gè)應(yīng)用系統(tǒng)時(shí),Web服務(wù)器將發(fā)送關(guān)于用戶的信息,把該信息以Cookies的形式存儲(chǔ)在客戶端計(jì)算機(jī)上,這可用來(lái)創(chuàng)建動(dòng)態(tài)和自定義頁(yè)面或者存儲(chǔ)登陸等信息。
(五)數(shù)據(jù)庫(kù)測(cè)試
在Web應(yīng)用技術(shù)中,數(shù)據(jù)庫(kù)起著重要的作用,數(shù)據(jù)庫(kù)為Web應(yīng)用系統(tǒng)的管理、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間。在Web應(yīng)用中,最常用的數(shù)據(jù)庫(kù)類型是關(guān)系型數(shù)據(jù)庫(kù),可以使用SQL對(duì)信息進(jìn)行處理。
在使用了數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯(cuò)誤,分別是數(shù)據(jù)一致性錯(cuò)誤和輸出錯(cuò)誤。數(shù)據(jù)一致性錯(cuò)誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯(cuò)誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計(jì)問(wèn)題等引起的,針對(duì)這兩種情況,可分別進(jìn)行測(cè)試。
(六)應(yīng)用程序特定的功能需求
最重要的是,測(cè)試人員需要對(duì)應(yīng)用程序特定的功能需求進(jìn)行驗(yàn)證。嘗試用戶可能進(jìn)行的所有操作:下訂單、更改訂單、取消訂單、核對(duì)訂單狀態(tài)、在貨物發(fā)送之前更改送貨信息、在線支付等等。這是用戶之所以使用網(wǎng)站的原因,一定要確認(rèn)網(wǎng)站能像廣告宣傳的那樣神奇。
二、性能測(cè)試
(一)連接速度測(cè)試
用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號(hào),或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí),用戶可以等較長(zhǎng)的時(shí)間,但如果僅僅訪問(wèn)一個(gè)頁(yè)面就不會(huì)這樣。如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過(guò)5秒鐘),用戶就會(huì)因沒(méi)有耐心等待而離開(kāi)。
另外,有些頁(yè)面有超時(shí)的限制,如果響應(yīng)速度太慢,用戶可能還沒(méi)來(lái)得及瀏覽內(nèi)容,就需要重新登陸了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁(yè)面。
(二)負(fù)載測(cè)試
負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問(wèn)Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過(guò)了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對(duì)同一個(gè)頁(yè)面的請(qǐng)求?
(三)壓力測(cè)試
負(fù)載測(cè)試應(yīng)該安排在Web系統(tǒng)發(fā)布以后,在實(shí)際的網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試。因?yàn)橐粋€(gè)企業(yè)內(nèi)部員工,特別是項(xiàng)目組人員總是有限的,而一個(gè)Web系統(tǒng)能同時(shí)處理的請(qǐng)求數(shù)量將遠(yuǎn)遠(yuǎn)超出這個(gè)限度,所以,只有放在Internet上,接受負(fù)載測(cè)試,其結(jié)果才是正確可信的。
進(jìn)行壓力測(cè)試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng),測(cè)試系統(tǒng)的反映。壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,也就是測(cè)試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。
三、用戶界面測(cè)試
(一)導(dǎo)航測(cè)試
導(dǎo)航描述了用戶在一個(gè)頁(yè)面內(nèi)操作的方式,在不同的用戶接口控制之間,例如按鈕、對(duì)話框、列表和窗口等;或在不同的連接頁(yè)面之間。通過(guò)考慮下列問(wèn)題,可以決定一個(gè)Web應(yīng)用系統(tǒng)是否易于導(dǎo)航:導(dǎo)航是否直觀?Web系統(tǒng)的主要部分是否可通過(guò)主頁(yè)存取?Web系統(tǒng)是否需要站點(diǎn)地圖、搜索引擎或其他的導(dǎo)航幫助?
在一個(gè)頁(yè)面上放太多的信息往往起到與預(yù)期相反的效果。Web應(yīng)用系統(tǒng)的用戶趨向于目的驅(qū)動(dòng),很快地掃描一個(gè)Web應(yīng)用系統(tǒng),看是否有滿足自己需要的信息,如果沒(méi)有,就會(huì)很快地離開(kāi)。很少有用戶愿意花時(shí)間去熟悉Web應(yīng)用系統(tǒng)的結(jié)構(gòu),因此,Web應(yīng)用系統(tǒng)導(dǎo)航幫助要盡可能地準(zhǔn)確。
(二)圖形測(cè)試
在Web應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動(dòng)畫(huà)既能起到廣告宣傳的作用,又能起到美化頁(yè)面的功能。一個(gè)Web應(yīng)用系統(tǒng)的圖形可以包括圖片、動(dòng)畫(huà)、邊框、顏色、字體、背景、按鈕等。圖形測(cè)試的內(nèi)容有:
(1)要確保圖形有明確的用途,圖片或動(dòng)畫(huà)不要胡亂地堆在一起,以免浪費(fèi)傳輸時(shí)間。Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小,并且要能清楚地說(shuō)明某件事情,一般都鏈接到某個(gè)具體的頁(yè)面。
(2)驗(yàn)證所有頁(yè)面字體的風(fēng)格是否一致。
(3)背景顏色應(yīng)該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質(zhì)量也是一個(gè)很重要的因素,一般采用JPG或GIF壓縮,最好能使圖片的大小減小到30k以下
綜上所述,WEB測(cè)試在實(shí)際應(yīng)用中還有很多的其他類型及方法。本文只介紹了最基礎(chǔ)的,最常用的。并且對(duì)所有的WEB項(xiàng)目測(cè)試來(lái)說(shuō),都需要有外部人員(與Web應(yīng)用系統(tǒng)開(kāi)發(fā)沒(méi)有聯(lián)系或聯(lián)系很少的人員)的參與,最好是最終用戶的參與。
參考文獻(xiàn):
[1]陳小兵,范淵,孫立偉.Web滲透技術(shù)及實(shí)戰(zhàn)案例解析[M].北京:電子工業(yè)出版社,2012.4.
[2]王文君,李建蒙.Web應(yīng)用安全威脅與防治[M].北京:電子工業(yè)出版社,2013.1.