? ? 由于web應(yīng)用與用戶直接相關(guān)骨田,又通常需要承受長時間的大量操作猫胁,因此web項(xiàng)目的功能和性能都必須經(jīng)過可靠的驗(yàn)證维咸。這就要經(jīng)過web項(xiàng)目的全面測試渠啤。Web應(yīng)用程序測試與其它任何一種類型的應(yīng)用程序測試相比沒有太大差別狐肢。Web的流行和無所不在,是因?yàn)樗芴峁┲С炙蓄愋蛢?nèi)容連接的信息發(fā)布沥曹,容易為最終用戶存取份名。
? ? Web測試:界面測試碟联、功能測試、性能測試僵腺、接口測試鲤孵、客戶端兼容性測試、安全性測試辰如。
Web測試需要注意的16點(diǎn):
1普监、頁面顯示部分
(1)首先關(guān)注頁面是否能顯示完整,包括不同瀏覽器的是否能完整顯示琉兜,在實(shí)際測試中經(jīng)常發(fā)現(xiàn)有的頁面或者是頁面的彈窗不能完全顯示
(2)頁面中的動畫效果或者字體效果是否能正確顯示
(3)頁面中有些表單項(xiàng)與輸入框凯正,輸入域以及下拉框等是否存在默認(rèn)提示,是否存在部分提示部分不提示的情況
(4)數(shù)據(jù)列表中存在多條數(shù)據(jù)是否分頁顯示豌蟋,以及分頁操作后頁面是否正常跳轉(zhuǎn)
2漆际、頁面分辨率:
頁面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否顯示正常? 字體是否太小以至于無法瀏覽? 或者是太大? 文本和圖片是否對齊?
通常是計(jì)算機(jī)的默認(rèn)分辨率夺饲,但是還是會有一些老式電腦存在1024*768的情況
3奸汇、單項(xiàng)功能測試
a:連續(xù)增加
注意:增加完成后查看數(shù)據(jù)列表中,不顯示或顯示暫無的字段往声,觀察是否沒有增加進(jìn)去
b:增加后刪除
注意:刪除是否有提示信息擂找,點(diǎn)擊確定方可刪除
c:增加刪除再增加
d:連續(xù)刪除
e:增加后修改
注意:修改過程中如果修改了下拉框表單項(xiàng),對應(yīng)的數(shù)據(jù)是否發(fā)生改變
f:連續(xù)修改
4浩销、瀏覽器的兼容性:
瀏覽器是Web客戶端最核心的構(gòu)件贯涎,來自不同廠商的瀏覽器對Java、javascript慢洋、 ActiveX塘雳、 plug-ins或不同的HTML規(guī)格有不同的支持。測試瀏覽器兼容性的一個方法是創(chuàng)建一個兼容性矩陣普筹。在這個矩陣中败明,測試不同廠商、不同版本的瀏覽器對某些構(gòu)件和設(shè)置的適應(yīng)性太防。
5妻顶、易用性:
有些用戶在瀏覽網(wǎng)頁時喜歡使用鍵盤上的快捷鍵,因此在測試時要注意快捷鍵是否設(shè)置蜒车。通常需要設(shè)置的快捷鍵有以下幾個:
Tab鍵的使用:頁面中支持tab按鍵切換
Enter鍵的使用:頁面中的某些確定按鈕可以使用enter鍵盤替代
前進(jìn)和后退:用戶前進(jìn)和后退有可能會造成數(shù)據(jù)不完整的提交讳嘱,重復(fù)提交,或者其他的顯示問題
用戶刪除某個數(shù)據(jù)前酿愧,需要提示用戶是否刪除沥潭,默認(rèn)焦點(diǎn)選擇為“否”
頁面的提示語言,js提示語言嬉挡,程序提示語言:
提示風(fēng)格不一樣钝鸽,或者表達(dá)不夠清晰
6呼渣、微軟語言標(biāo)準(zhǔn):
全角字符和半角字符都要使用一個空格分開
英文和數(shù)字直接要有空格分開
漢字和英文,數(shù)字要有空格分開
帶有漢字的話要用全角字符
語言中不要混用全角和半角標(biāo)點(diǎn)
7寞埠、文字的縮略和折行:
輸入框提交很長的字符,并且不折行焊夸,則提交后仁连,頁面有可能被拉的非常長,如果要將文字后面的一些文字處理為省略號,需要注意不要將中文截成半個字符
8阱穗、圖片的顯示和鏈接:
圖片是否增加鏈接通常被開發(fā)人員忽略
圖片的顯示位置通常會顯示不同像素大小和比例的圖饭冬,所以要明確定義圖片的處理策略
9、重復(fù)提交:
用戶提交數(shù)據(jù)頁面揪阶,用戶有可能連續(xù)多次點(diǎn)擊提交按鈕昌抠,造成數(shù)據(jù)的重復(fù)提交
用戶點(diǎn)擊“提交”后,將按鈕變成Disable狀態(tài)
10鲁僚、輸入判斷問題:
所有鍵盤輸入的特殊字符炊苫,均可以正常保存
需要特別出處理英文單引號,英文雙引號等引起的程序錯誤的問題
需要處理“<”“/” “\”等容易保存出錯的符號
做出特殊模塊的字符規(guī)劃
11冰沙、多個IE同時訪問的情況:
用戶可能打開不同的IE使用相同的賬戶去進(jìn)行操作侨艾,數(shù)據(jù)是否一致性和同步的問題
多個IE使用不同用戶,cookie操作會不會出現(xiàn)用戶信息混亂的問題
12拓挥、安全考慮:
不要把密碼等敏感的用戶信息明文的顯示在url中
即使是傳遞密碼參數(shù)唠梨,也不要用pwd,passpord這樣的參數(shù)名稱來進(jìn)行傳遞侥啤,防止被截獲
要在傳遞參數(shù)的操作中使用NoCache參數(shù)当叭,防止將url參數(shù)進(jìn)行緩存
13、防止SQL注入:
不要把數(shù)據(jù)庫或程序的如何報(bào)錯信息顯示在頁面上
最好程序能夠?qū)elect盖灸、update蚁鳖、delete 這些關(guān)鍵字都過濾掉,不讓用戶提交包含這些數(shù)據(jù)的信息
數(shù)據(jù)庫中設(shè)計(jì)到操作權(quán)限的表名和字段名別用很通俗易懂的名字
輸入框盡量過濾掉“<>”這樣的字符赁炎,防止javascript攻擊
14才睹、關(guān)于Cookie:
Cookies通常用來存儲用戶信息和用戶在某應(yīng)用系統(tǒng)的操作,當(dāng)一個用戶使用Cookies訪問了某一個應(yīng)用系統(tǒng)時甘邀,Web服務(wù)器將發(fā)送關(guān)于用戶的信息琅攘,把該信息以Cookies的形式存儲在客戶端計(jì)算機(jī)上,這可用來創(chuàng)建動態(tài)和自定義頁面或者存儲登陸等信息松邪。
注意點(diǎn):
Cookie沒有設(shè)定過期時間
IE不支持Cookie的時候沒有如何提示信息
Cookie中的敏感信息沒有進(jìn)行加密
15坞琴、各種資源鏈接的釋放:
有時候系統(tǒng)莫名訪問不了,則有可能是數(shù)據(jù)庫的鏈接沒有釋放
壓力測試的時候逗抑,連接釋放如果效率不高剧辐,則有可能出現(xiàn)大量連接超時失敗
預(yù)防:系統(tǒng)資源的釋放過程寒亥,最好通過代碼review的方式來互相監(jiān)督
16、關(guān)于Keepalive的設(shè)置:
如果需要在一個連接同時獲取多個資源荧关,則需要打開apache或resin的Keepalive參數(shù)為On溉奕,來提高系統(tǒng)的處理能力,減少多次建立連接所消耗的資源忍啤,如果大量的處理只是一次性連接加勤,則不要打開。
預(yù)防:在實(shí)際工作中同波,需要將keepalive分別設(shè)置為On或者Off來驗(yàn)證哪個設(shè)置的性能更好鳄梅。
系統(tǒng)上線后的log配置:
上線以后,要關(guān)閉無用大量調(diào)試log信息,不要打開過多的log
? ? 總結(jié)基于Web的系統(tǒng)測試與傳統(tǒng)的軟件測試既有相同之處未檩,也有不同的地方戴尸,對軟件測試提出了新的挑戰(zhàn)≡┙疲基于Web的系統(tǒng)測試不但需要檢查和驗(yàn)證是否按照設(shè)計(jì)的要求運(yùn)行孙蒙,而且還要評價系統(tǒng)在不同用戶的瀏覽器端的顯示是否合適。重要的是悲雳,還要從最終用戶的角度進(jìn)行安全性和可用性測試马篮。