1.基于Web的系統(tǒng)測(cè)試在基于Web的系統(tǒng)開發(fā)中浅碾,如果缺乏嚴(yán)格的過程,我們?cè)陂_發(fā)续语、發(fā)布垂谢、實(shí)施和維護(hù)Web的過程中,可能就會(huì)碰到一些嚴(yán)重的問題疮茄,失敗的可能性很大滥朱。
2.隨著基于Web的系統(tǒng)變得越來越復(fù)雜,一個(gè)項(xiàng)目的失敗將可能導(dǎo)致很多問題娃豹。當(dāng)這種情況發(fā)生時(shí)焚虱,我們對(duì)Web和Internet的信心可能會(huì)無法挽救地動(dòng)搖,從而引起Web危機(jī)懂版。并且鹃栽,Web危機(jī)可能會(huì)比軟件開發(fā)人員所面對(duì)的軟件危機(jī)更加嚴(yán)重、更加廣泛躯畴。
3.在Web工程過程中民鼓,基于Web系統(tǒng)的測(cè)試、確認(rèn)和驗(yàn)收是一項(xiàng)重要而富有挑戰(zhàn)性的工作蓬抄》峒危基于Web的系統(tǒng)測(cè)試與傳統(tǒng)的軟件測(cè)試不同,它不但需要檢查和驗(yàn)證是否按照設(shè)計(jì)的要求運(yùn)行嚷缭,而且還要測(cè)試系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適饮亏。重要的是,還要從最終用戶的角度進(jìn)行安全性和可用性測(cè)試阅爽。然而路幸,Internet和Web媒體的不可預(yù)見性使測(cè)試基于Web的系統(tǒng)變得困難。因此付翁,我們必須為測(cè)試和評(píng)估復(fù)雜的基于Web的系統(tǒng)研究新的方法和技術(shù)简肴。?
4.一般軟件的發(fā)布周期以月或以年計(jì)算,而Web應(yīng)用的發(fā)布周期以天計(jì)算甚至以小時(shí)計(jì)算百侧。
Web測(cè)試人員必須處理更短的發(fā)布周期砰识,測(cè)試人員和測(cè)試管理人員面臨著從測(cè)試傳統(tǒng)的C/S結(jié)構(gòu)和框架環(huán)境到測(cè)試快速改變的Web應(yīng)用系統(tǒng)的轉(zhuǎn)變。
一佣渴、?功能測(cè)試
1辫狼、鏈接測(cè)試 鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段观话。鏈接測(cè)試可分為三個(gè)方面予借。首先,測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面;其次,測(cè)試所鏈接的頁(yè)面是否存在;最后灵迫,保證Web應(yīng)用系統(tǒng)上沒有孤立的頁(yè)面秦叛,所謂孤立頁(yè)面是指沒有鏈接指向該頁(yè)面,只有知道正確的URL地址才能訪問瀑粥。 鏈接測(cè)試可以自動(dòng)進(jìn)行挣跋,現(xiàn)在已經(jīng)有許多工具可以采用。鏈接測(cè)試必須在集成測(cè)試階段完成狞换,也就是說避咆,在整個(gè)Web應(yīng)用系統(tǒng)的所有頁(yè)面開發(fā)完成之后進(jìn)行鏈接測(cè)試。
2修噪、表單測(cè)試 當(dāng)用戶給Web應(yīng)用系統(tǒng)管理員提交信息時(shí)查库,就需要使用表單操作,例如用戶注冊(cè)黄琼、登陸樊销、信息提交等。在這種情況下脏款,我們必須測(cè)試提交操作的完整性围苫,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng)撤师,填寫的所屬省份與所在城市是否匹配等剂府。如果使用了默認(rèn)值,還要檢驗(yàn)?zāi)J(rèn)值的正確性剃盾。如果表單只能接受指定的某些值腺占,則也要進(jìn)行測(cè)試。例如:只能接受某些字符痒谴,測(cè)試時(shí)可以跳過這些字符湾笛,看系統(tǒng)是否會(huì)報(bào)錯(cuò)。
3闰歪、Cookies測(cè)試 Cookies通常用來存儲(chǔ)用戶信息和用戶在某應(yīng)用系統(tǒng)的操作,當(dāng)一個(gè)用戶使用Cookies訪問了某一個(gè)應(yīng)用系統(tǒng)時(shí)蓖墅,Web服務(wù)器將發(fā)送關(guān)于用戶的信息库倘,把該信息以Cookies的形式存儲(chǔ)在客戶端計(jì)算機(jī)上,這可用來創(chuàng)建動(dòng)態(tài)和自定義頁(yè)面或者存儲(chǔ)登陸等信息论矾。 如果Web應(yīng)用系統(tǒng)使用了Cookies教翩,就必須檢查Cookies是否能正常工作。測(cè)試的內(nèi)容可包括Cookies是否起作用贪壳,是否按預(yù)定的時(shí)間進(jìn)行保存饱亿,刷新對(duì)Cookies有什么影響等。
4、設(shè)計(jì)語(yǔ)言測(cè)試 Web設(shè)計(jì)語(yǔ)言版本的差異可以引起客戶端或服務(wù)器端嚴(yán)重的問題彪笼,例如使用哪種版本的HTML等钻注。當(dāng)在分布式環(huán)境中開發(fā)時(shí),開發(fā)人員都不在一起配猫,這個(gè)問題就顯得尤為重要幅恋。除了HTML的版本問題外,不同的腳本語(yǔ)言泵肄,例如Java捆交、JavaScript、 ActiveX腐巢、VBScript或Perl等也要進(jìn)行驗(yàn)證品追。
5、數(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ì)問題等引起的幽崩,針對(duì)這兩種情況,可分別進(jìn)行測(cè)試寞钥。
二慌申、?性能測(cè)試
1、連接速度測(cè)試
用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化理郑,他們或許是電話撥號(hào)蹄溉,或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí)您炉,用戶可以等較長(zhǎng)的時(shí)間柒爵,但如果僅僅訪問一個(gè)頁(yè)面就不會(huì)這樣。如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過5秒鐘)赚爵,用戶就會(huì)因沒有耐心等待而離開棉胀。 另外法瑟,有些頁(yè)面有超時(shí)的限制,如果響應(yīng)速度太慢唁奢,用戶可能還沒來得及瀏覽內(nèi)容霎挟,就需要重新登陸了。而且驮瞧,連接速度太慢氓扛,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁(yè)面论笔。
2采郎、負(fù)載測(cè)試
負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作狂魔。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問Web系統(tǒng)的用戶數(shù)量蒜埋,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過了這個(gè)數(shù)量最楷,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對(duì)同一個(gè)頁(yè)面的請(qǐng)求?
3整份、壓力測(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è)試的區(qū)域包括表單肌毅、登陸和其他信息傳輸頁(yè)面等。
三姑原、 可用性測(cè)試
1、導(dǎo)航測(cè)試 導(dǎo)航描述了用戶在一個(gè)頁(yè)面內(nèi)操作的方式呜舒,在不同的用戶接口控制之間锭汛,例如按鈕、對(duì)話框、列表和窗口等;或在不同的連接頁(yè)面之間唤殴。通過考慮下列問題般婆,可以決定一個(gè)Web應(yīng)用系統(tǒng)是否易于導(dǎo)航:導(dǎo)航是否直觀?Web系統(tǒng)的主要部分是否可通過主頁(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),看是否有滿足自己需要的信息配名,如果沒有啤咽,就會(huì)很快地離開。很少有用戶愿意花時(shí)間去熟悉Web應(yīng)用系統(tǒng)的結(jié)構(gòu)渠脉,因此宇整,Web應(yīng)用系統(tǒng)導(dǎo)航幫助要盡可能地準(zhǔn)確。 導(dǎo)航的另一個(gè)重要方面是Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)芋膘、導(dǎo)航鳞青、菜單、連接的風(fēng)格是否一致为朋。確保用戶憑直覺就知道Web應(yīng)用系統(tǒng)里面是否還有內(nèi)容臂拓,內(nèi)容在什么地方。 Web應(yīng)用系統(tǒng)的層次一旦決定习寸,就要著手測(cè)試用戶導(dǎo)航功能胶惰,讓最終用戶參與這種測(cè)試,效果將更加明顯融涣。
2童番、圖形測(cè)試 在Web應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動(dòng)畫既能起到廣告宣傳的作用威鹿,又能起到美化頁(yè)面的功能剃斧。一個(gè)Web應(yīng)用系統(tǒng)的圖形可以包括圖片、動(dòng)畫忽你、邊框幼东、顏色、字體科雳、背景根蟹、按鈕等。
圖形測(cè)試的內(nèi)容有:
(1)要確保圖形有明確的用途糟秘,圖片或動(dòng)畫不要胡亂地堆在一起简逮,以免浪費(fèi)傳輸時(shí)間。Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小尿赚,并且要能清楚地說明某件事情散庶,一般都鏈接到某個(gè)具體的頁(yè)面蕉堰。
(2)驗(yàn)證所有頁(yè)面字體的風(fēng)格是否一致。
(3)背景顏色應(yīng)該與字體顏色和前景顏色相搭配悲龟。
(4)圖片的大小和質(zhì)量也是一個(gè)很重要的因素屋讶,一般采用JPG或GIF壓縮。
3须教、內(nèi)容測(cè)試
內(nèi)容測(cè)試用來檢驗(yàn)Web應(yīng)用系統(tǒng)提供信息的正確性皿渗、準(zhǔn)確性和相關(guān)性。 信息的正確性是指信息是可靠的還是誤傳的轻腺。例如乐疆,在商品價(jià)格列表中,錯(cuò)誤的價(jià)格可能引起財(cái)政問題甚至導(dǎo)致法律糾紛;信息的準(zhǔn)確性是指是否有語(yǔ)法或拼寫錯(cuò)誤约计。這種測(cè)試通常使用一些文字處理軟件來進(jìn)行诀拭,例如使用Microsoft Word的拼音與語(yǔ)法檢查功能;信息的相關(guān)性是指是否在當(dāng)前頁(yè)面可以找到與當(dāng)前瀏覽信息相關(guān)的信息列表或入口,也就是一般Web站點(diǎn)中的所謂相關(guān)文章列表煤蚌。
4耕挨、整體界面測(cè)試
整體界面是指整個(gè)Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)設(shè)計(jì),是給用戶的一個(gè)整體感尉桩。例如:當(dāng)用戶瀏覽Web應(yīng)用系統(tǒng)時(shí)是否感到舒適筒占,是否憑直覺就知道要找的信息在什么地方?整個(gè)Web應(yīng)用系統(tǒng)的設(shè)計(jì)風(fēng)格是否一致? 對(duì)整體界面的測(cè)試過程,其實(shí)是一個(gè)對(duì)最終用戶進(jìn)行調(diào)查的過程蜘犁。一般Web應(yīng)用系統(tǒng)采取在主頁(yè)上做一個(gè)調(diào)查問卷的形式翰苫,來得到最終用戶的反饋信息。 對(duì)所有的可用性測(cè)試來說这橙,都需要有外部人員(與Web應(yīng)用系統(tǒng)開發(fā)沒有聯(lián)系或聯(lián)系很少的人員)的參與奏窑,最好是最終用戶的參與。
四屈扎、 客戶端兼容性測(cè)試
1埃唯、平臺(tái)測(cè)試
市場(chǎng)上有很多不同的操作系統(tǒng)類型,最常見的有Windows鹰晨、Unix墨叛、Macintosh、Linux等模蜡。Web應(yīng)用系統(tǒng)的最終用戶究竟使用哪一種操作系統(tǒng)漠趁,取決于用戶系統(tǒng)的配置。這樣忍疾,就可能會(huì)發(fā)生兼容性問題闯传,同一個(gè)應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下可能會(huì)運(yùn)行失敗卤妒。 因此丸边,在Web系統(tǒng)發(fā)布之前展父,需要在各種操作系統(tǒng)下對(duì)Web系統(tǒng)進(jìn)行兼容性測(cè)試警医。
2髓削、瀏覽器測(cè)試
瀏覽器是Web客戶端最核心的構(gòu)件续誉,來自不同廠商的瀏覽器對(duì)Java朦促,碟贾、JavaScript浪汪、 ActiveX琼富、 plug-ins或不同的HTML規(guī)格有不同的支持判没。例如蜓萄,ActiveX是Microsoft的產(chǎn)品,是為Internet Explorer而設(shè)計(jì)的澄峰,JavaScript是Netscape的產(chǎn)品嫉沽,Java是Sun的產(chǎn)品等等。另外俏竞,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示绸硕,甚至根本不顯示。不同的瀏覽器對(duì)安全性和Java的設(shè)置也不一樣魂毁。 測(cè)試瀏覽器兼容性的一個(gè)方法是創(chuàng)建一個(gè)兼容性矩陣玻佩。在這個(gè)矩陣中,測(cè)試不同廠商席楚、不同版本的瀏覽器對(duì)某些構(gòu)件和設(shè)置的適應(yīng)性咬崔。
五、 安全性測(cè)試
Web應(yīng)用系統(tǒng)的安全性測(cè)試區(qū)域主要有:
(1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊(cè)烦秩,后登陸的方式垮斯。因此,必須測(cè)試有效和無效的用戶名和密碼只祠,要注意到是否大小寫敏感兜蠕,可以試多少次的限制,是否可以不登陸而直接瀏覽某個(gè)頁(yè)面等铆农。
(2)Web應(yīng)用系統(tǒng)是否有超時(shí)的限制牺氨,也就是說,用戶登陸后在一定時(shí)間內(nèi)(例如15分鐘)沒有點(diǎn)擊任何頁(yè)面墩剖,是否需要重新登陸才能正常使用猴凹。
(3)為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的岭皂。需要測(cè)試相關(guān)信息是否寫進(jìn)了日志文件郊霎、是否可追蹤。
(4)當(dāng)使用了安全套接字時(shí)爷绘,還要測(cè)試加密是否正確书劝,檢查信息的完整性进倍。
(5)服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用购对。所以猾昆,還要測(cè)試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題骡苞。
六垂蜗、總結(jié)
本文從功能、性能解幽、可用性贴见、客戶端兼容性、安全性等方面討論了基于Web的系統(tǒng)測(cè)試方法躲株。 基于Web的系統(tǒng)測(cè)試與傳統(tǒng)的軟件測(cè)試既有相同之處片部,也有不同的地方,對(duì)軟件測(cè)試提出了新的挑戰(zhàn)霜定〉涤疲基于Web的系統(tǒng)測(cè)試不但需要檢查和驗(yàn)證是否按照設(shè)計(jì)的要求運(yùn)行,而且還要評(píng)價(jià)系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適然爆。重要的是站粟,還要從最終用戶的角度進(jìn)行安全性和可用性測(cè)。