web測(cè)試就是基于BS架構(gòu)的軟件產(chǎn)品的測(cè)試,通俗點(diǎn)來說就是web網(wǎng)站的測(cè)試。
一 、界面檢查
- 當(dāng)我們進(jìn)入一個(gè)頁面時(shí),首先應(yīng)該檢查title,頁面排版(即頁面的展示),而不是馬上進(jìn)入字段校驗(yàn)
- 頁面面包屑導(dǎo)航是否正確
- 當(dāng)前位置是否可見 您的位置:xxx>xxxx
- 文字格式統(tǒng)一性
- 排版是否整齊
- 列表項(xiàng)顯示字段是否齊全,列表項(xiàng)字段名稱是否跟表單統(tǒng)一
- 同一頁面,是否出現(xiàn)字段名稱相同、值取不同的問題。
- 數(shù)據(jù)加載情況:除了文本框的值,還要注意以下三點(diǎn):
(1)復(fù)選框,是否保存打√,或者保存不打√
(2)下拉框,是否保存選擇的值
(3)多文本框,值是否都被保存,空格,換行是否保存
二、單文本框(type=text)
1.邊界:字段長(zhǎng)度
2.判空:是否可以為空
3.唯一性:是否唯一(邊界、判空、唯一性、特殊字符、正確性)
4.考慮語言,操作環(huán)境
5.特殊符號(hào)測(cè)試輸入:
' or 1<>'1,' or '1'='1,' or '1'<>'2,"|?><,where a='xxx',下劃線是否允許,輸入全部空格, 輸入 單引號(hào) “<script>alert(“123”);</script>”
6.特殊字段輸入限定:
(1)框內(nèi)容是否合法(tel,ip,url,email)序號(hào)等,直接限制輸入數(shù)字,其他過濾掉
(2)輸入金額文本框,整數(shù)首位為0,過濾掉,小數(shù)點(diǎn)后面,一般保留兩個(gè)有效數(shù)字。
(3)正確性測(cè)試:(必不可少的步驟)
1).(字段長(zhǎng)度輸入最大允許長(zhǎng)度時(shí))數(shù)據(jù)允許長(zhǎng)度的測(cè)試:
a.頁面是否被擠出的測(cè)試(都輸入長(zhǎng)英文字符串,是否斷行);
b.數(shù)據(jù)庫是否允許最大字符(都輸入漢字、都輸入英文、混合……);
c.最短長(zhǎng)度的正確流程,最大長(zhǎng)度的正確流程覆蓋。
2).對(duì)于允許為空的字段,不填入,再次數(shù)據(jù)傳遞后,看是否報(bào)500錯(cuò)誤。
3).未規(guī)定字段長(zhǎng)度(或者數(shù)值大?。?,不按死板輸入,輸入非常多字符(或者非常大的數(shù)值)時(shí),做允許動(dòng)作的正確性校驗(yàn),看是否報(bào)錯(cuò)。(要達(dá)到的結(jié)果:不管有沒有長(zhǎng)度限制(沒有給最長(zhǎng)、最大限制讓你去測(cè)?),最終頁面不能拋數(shù)據(jù)庫異常。)
說明:通過不斷輸入長(zhǎng)字符串,看是否有長(zhǎng)度校驗(yàn);
最終都會(huì)出現(xiàn)以下兩種情況的一種:頁面(前臺(tái))有校驗(yàn)長(zhǎng)度、大??;或者無校驗(yàn),數(shù)據(jù)庫報(bào)錯(cuò)。
所以:所有字段都要做長(zhǎng)度、大小限制(不管需求有沒有給出明確要求,不管測(cè)試顆粒度,都要限制長(zhǎng)度,不允許報(bào)數(shù)據(jù)庫錯(cuò)誤,都要測(cè)?。?!)。
7.最大長(zhǎng)度限制可限定方法:
(1)不允許再輸入;
(2)自動(dòng)截?cái)嗵幚?,并且給用戶提示。
8.關(guān)于長(zhǎng)度概念:
(1) 數(shù)據(jù)庫規(guī)定的字節(jié)長(zhǎng)度A
(2)頁面上可以輸入的字符數(shù)B
控制方法:
1).頁面上,不管輸入什么字符(全角如漢字、半角如字母),統(tǒng)一規(guī)定不能超過B個(gè)字符,此種限制,
測(cè)試點(diǎn):全部輸入全角B個(gè),測(cè)試(B*3字節(jié))會(huì)不會(huì)超過數(shù)據(jù)庫字節(jié)長(zhǎng)度
全部輸入半角B個(gè),測(cè)試(B*1字節(jié))會(huì)不會(huì)超過數(shù)據(jù)庫字節(jié)長(zhǎng)度
混合輸入全角X半角Y,測(cè)試(X*3+Y字節(jié))會(huì)不會(huì)超過數(shù)據(jù)庫長(zhǎng)度
2).頁面上,不以字符統(tǒng)計(jì),以總的輸入字節(jié)數(shù)統(tǒng)計(jì),比如,全部輸入全角字符,允許可以輸入A/3個(gè)字符,全部輸入半角字符,允許輸入A個(gè)字符( 民生網(wǎng)的設(shè)計(jì))
測(cè)試點(diǎn):全部輸入全角,看是否允許輸入A/3個(gè)字符
全部輸入半角,看是否允許輸入A個(gè)字符
混合輸入全角X,半角Y,看是否允許X*3+Y=A
3).判空、唯一、邊界值、特殊字符、正確流程(多種數(shù)據(jù)、多種分支),測(cè)試校驗(yàn)位置:ajax鼠標(biāo)事件校驗(yàn)、前臺(tái)提交按鈕js校驗(yàn),服務(wù)器拿到數(shù)據(jù)后再次驗(yàn)證
三、多文本框(type=textarea)
1.空格和換行的問題,看需求,是否需要做支持HTML Encoding,輸入全部空格時(shí),是否判空處理?””,空格。
2.輸入折行,是否也顯示折行?比如:列點(diǎn)說明原因,就需要支持。
3.字母截?cái)嗟膯栴},對(duì)于一串字母,開發(fā)人員往往會(huì)忘掉做截?cái)?,這樣如果展示在我們的平臺(tái)上的話,這一串字母就會(huì)把我們的UI撐開
4.長(zhǎng)度控制格式, 您還可以輸入***個(gè)字符
四、添加按鈕
1.添加動(dòng)作檢查范圍:
失?。菏欠裉崾?,提示內(nèi)容是否正確
失敗時(shí):保存用戶已輸入的內(nèi)容,避免重新再輸入
成功:對(duì)話框消失,記錄是否可直接查看(還需要刷新?)
列表記錄順序
重復(fù)提交情況,點(diǎn)擊一次后,是否變成disable
2.上傳附件的添加:
(1)文件名稱:文件名稱很長(zhǎng);文件名稱字符多樣化(漢字,英文,符號(hào));文件名稱重復(fù)。
(2) 判空?
(3) 附件格式類型支持?
(4) 附件個(gè)數(shù)?
(5) 附件空間大小。
五、移除按鈕
1.一般都要在前臺(tái)先給出一個(gè)提示操作“確定移除該……”
2.相關(guān)聯(lián)的東西,是否需要限制移除“該類型下存在應(yīng)用,無法移除”有到后臺(tái)比較
3.確定后,真正執(zhí)行移除操作。
結(jié)果:移除后,列表數(shù)據(jù)是否立即消失。必須有確認(rèn)刪除的提示信息
六、列表
1.列表記錄順序
2.是否需要翻頁、有沒有翻頁功能
3.字段名稱是否與表單一致
七、搜索-文本框
1.功能點(diǎn)、需求點(diǎn)考慮:是否提供模糊查詢、輸入數(shù)值有種類有限定時(shí),是否考慮換成下拉框搜索;
2.檢查點(diǎn):文本框值是否消失(是否回填條件值),再次點(diǎn)擊“查詢”可查看所有記錄;考慮搜索結(jié)果:是否存在分 頁,分頁是否正常;是否有序;注意:分頁是否仍保存查詢條件,檢查后面的記錄是否符合條件
3.查詢數(shù)據(jù)多樣性:輸入不存在的字段值測(cè)試、包括特殊字符查詢測(cè)試?yán)纾? or '1'='1;輸入類似程序語句的條件時(shí)是否執(zhí)行查詢,如:XXXX”、XXX and ;
4.操作類型:
(1) 不輸入的查詢
(2) 輸入全部空格的查詢
(3) 模糊查詢(輸入部分字段,或者說,輸入英文字母,查詢到相關(guān)中文數(shù)據(jù))
(4) 輸入不存在的查詢
(5) 輸入存在的查詢
(6) 單個(gè)查詢和多個(gè)條件復(fù)合查詢。
八、搜索-下拉框
1.檢查點(diǎn):
- 搜索結(jié)果是否有序;
- 下拉框值是否齊全;(下拉框值本身也是一個(gè)動(dòng)態(tài)查詢的結(jié)果)
- 下拉框值是否自動(dòng)消失,再次點(diǎn)擊“查詢”可查看所有記錄(是否要回填條件值);
- 分頁時(shí),是否保存搜索條件。(從UI、開發(fā)、業(yè)務(wù)邏輯、用戶使用等角度測(cè)試)
PS:
以上總結(jié)的, 是比較純粹的從頁面控件角度測(cè)試點(diǎn)出發(fā), 對(duì)于完整測(cè)試一個(gè)整體頁面,需要各類測(cè)試有機(jī)結(jié)合起來:
(1)UI測(cè)試:頁面布局; 頁面樣式檢查;控件長(zhǎng)度是否夠長(zhǎng);顯示時(shí),是否會(huì)被截?cái)啵恢С值目旖萱I,Tab鍵切換焦點(diǎn)順序正確性等。
(2)功能測(cè)試:頁面上各類控件的測(cè)試范圍,測(cè)試點(diǎn),可參考上方
(3)結(jié)合控件的實(shí)際作用來補(bǔ)充檢查點(diǎn): 比如, 密碼框是否*顯示, 輸入是否做trim處理等
(4)安全測(cè)試:輸入特殊字符,sql注入,腳本注入測(cè)試
a.后臺(tái)驗(yàn)證測(cè)試,對(duì)于較重要的表單 ,繞過js檢驗(yàn)后臺(tái)是否驗(yàn)證
b.數(shù)據(jù)傳輸是否加密處理,比如, 直接請(qǐng)求轉(zhuǎn)發(fā),地址欄直接顯示發(fā)送字符串?
c.數(shù)據(jù)庫存儲(chǔ),特別密碼等,是否加密形式存儲(chǔ)
(5)兼容性測(cè)試
(6)性能測(cè)試
六.常見功能點(diǎn)測(cè)試思路
根據(jù)經(jīng)驗(yàn),總結(jié)常見的功能點(diǎn)的測(cè)試思路:
1.新增或創(chuàng)建(Add or Create)
(1)操作后的頁面指向
.2 操作后所有綁定此數(shù)據(jù)源的控件數(shù)據(jù)更新,常見的排列順序?yàn)闂tack類型,后進(jìn)先出
.3 取消操作是否成功
2.編輯或更新 (Edit or Update)
(1)操作后的頁面指向
(2)操作后所有綁定此數(shù)據(jù)源的控件數(shù)據(jù)更新
(3)取消操作是否成功
(4)編輯界面是否讀取出正確、全部的數(shù)據(jù)源
(5)記錄在工作流中的編輯功能可用性
(6)操作成功的生效時(shí)刻及生效范圍
3.刪除或移除 (Delete or Remove)
(1)操作后的頁面指向
(2)操作后所有綁定此數(shù)據(jù)源的控件數(shù)據(jù)更新 (如下就是刪除后,Tab數(shù)據(jù)沒有立即刷新的bug)
4.取消操作是否成功
(1)記錄在工作流中的編輯功能可用性
(2)操作成功的生效時(shí)刻及生效范圍(比如:購(gòu)物網(wǎng)站,店家商品下架后,并沒有同時(shí)刪除買家的購(gòu)買記錄)
5.選中 或 全選 (Check or Check all)
(1)多頁面中,全選對(duì)所有頁面是否有效
(2)支持多頁面的個(gè)別選中,且返回查看時(shí)保留選中狀態(tài)
(3)界面上的按鈕的操作范圍是否均受選中功能控制
(4)前一頁選中狀態(tài),在翻頁后,應(yīng)保留原來狀態(tài)
(5)先全選-》移除某個(gè)單選-》全選按鈕是否移除選中狀態(tài)