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