Web測試中,各類web控制項測試點總結

一 、界面檢查  進入一個頁面測試,首先是檢查title,頁面排版,欄位等,而不是馬上進入文本框校驗  1、頁面名稱title是否正確  2、當前位置是否可見 您的位置:xxx>xxxx

  3、文字格式統一性

  4、排版是否整齊  5、列表項顯示欄位是否齊全,列表項欄位名稱是否跟表單統一  6、同一頁面,是否出現 欄位名稱相同、值取不同的問題。  7、數據載入情況:除了文本框的值,還要注意:  複選框,是否保存打√,或者保存不打√  下拉框,是否保存選擇的值  多文本框,值是否都被保存,空格,換行是否保存

二、單文本框(type=text)

  邊界:欄位長度

  判空:是否可以為空  唯一性:是否唯一(小歸結:邊界、判空、唯一性、特殊字元、正確性)  考慮語言,操作環境  特殊符號測試輸入:   or 1<>1    or 1=1   or 1<>2  "|?><  where a=xxx   下劃線是否允許  輸入全部空格 輸入 單引號  ><script>alert(「123」);</script>>  特殊欄位輸入限定:  框內容是否合法(tel,ip,url,email)序號等,直接限制輸入數字,其他過濾掉

  輸入金額文本框,整數首位為0,過濾掉,小數點後面,一般保留兩個有效數字。

  正確性測試:(必不可少的步驟)  1)、(欄位長度輸入最大允許長度時)數據允許長度的測試:  a、頁面是否被擠出的測試(都輸入長英文字元串,是否斷行);  b、資料庫是否允許最大字元(都輸入漢字、都輸入英文、混合……);  c、最短長度的正確流程,最大長度的正確流程覆蓋。  2)、對於允許為空的欄位,不填入,再次數據傳遞後,看是否報500錯誤。  3)、未規定欄位長度(或者數值大小),不按死板輸入,輸入非常多字元(或者非常大的數值)時,做允許動作的正確性校驗,看是否報錯。(要達到的結果:不管有沒有長度限制(沒有給最長、最大限制讓你去測?),最終頁面不能拋資料庫異常。)monkeytest  說明:通過不斷輸入長字元串,看是否有長度校驗;  最終都會出現以下兩種情況的一種:

  A、頁面(前台)有校驗長度、大小; 或者

  B、無校驗,資料庫報錯。  所以: 所有欄位都要做長度、大小限制(不管需求有沒有給出明確要求,不管測試顆粒度,都要限制長度,不允許報資料庫錯誤,都要測!!!)。最大長度限制可限定方法:1、不允許再輸入;2、自動截斷處理,並且給用戶提示。關於長度概念:  1、 資料庫規定的位元組長度A  2、 頁面上可以輸入的字元數B  控制方法:  1)、頁面上,不管輸入什麼字元(全形如漢字、半形如字母),統一規定不能超過B個字元,此種限制,  測試點:全部輸入全形B個,測試(B*3位元組)會不會超過資料庫位元組長度  全部輸入半形B個,測試(B*1位元組)會不會超過資料庫位元組長度

  混合輸入全形X半形Y,測試(X*3+Y位元組)會不會超過資料庫長度

  2)、頁面上,不以字元統計,以總的輸入位元組數統計,比如,全部輸入全形字元,允許可以輸入A/3個字元,全部輸入半形字元,允許輸入A個字元( 民生網的設計)  測試點:全部輸入全形,看是否允許輸入A/3個字元  全部輸入半形,看是否允許輸入A個字元  混合輸入全形X,半形Y,看是否允許X*3+Y=A  (5個:判空、唯一、邊界值、特殊字元、正確流程(多種數據、多種分支))  +測試校驗位置:ajax滑鼠事件校驗、前台提交按鈕js校驗,伺服器拿到數據後再次驗證

  三、多文本框(type=textarea)  1)、空格和換行的問題,看需求,是否需要做支持HTML Encoding

  輸入全部空格時,是否判空處理?」」空格, 。

  輸入折行,是否也顯示折行?  比如:列點說明原因,就需要支持。  2)、字母截斷的問題  對於一串字母,開發人員往往會忘掉做截斷,這樣如果展示在我們的平台上的話,這一串字母就會把我們的UI撐開  3)、長度控制格式, 您還可以輸入***個字元

  四、添加按鈕  添加動作檢查範圍:  失敗:是否提示

  提示內容是否正確

  失敗時:保存用戶已輸入的內容,避免重新再輸入  成功:對話框消失  記錄是否可直接查看(還需要刷新?)  列表記錄順序  重複提交情況,點擊一次後,是否變成disable  上傳附件的添加:  A. 文件名稱:文件名稱很長;文件名稱字元多樣化(漢字,英文,符號);文件名稱重複。  B. 判空?  C. 附件格式類型支持?

  D. 附件個數?

  E. 附件空間大小。

五、移除按鈕  1.一般都要在前台先給出一個提示操作「確定移除該……」  2.相關聯的東西,是否需要限制移除「該類型下存在應用,無法移除」有到後台比較  3.確定後,真正執行移除操作。  結果:  移除後,列表數據是否立即消失。  必須有確認刪除的提示信息

  六、列表  1)、列表記錄順序  2)、是否需要翻頁、有沒有翻頁功能  3)、欄位名稱是否與表單一致

  七、搜索-文本框  1、功能點、需求點考慮:  是否提供模糊查詢、輸入數值有種類有限定時,是否考慮換成下拉框搜索;  2、檢查點:  文本框值是否消失(是否回填條件值),再次點擊「查詢」可查看所有記錄;  考慮搜索結果:是否存在分頁,分頁是否正常;是否有序;  注意:分頁是否仍保存查詢條件,檢查後面的記錄是否符合條件  3、查詢數據多樣性:  輸入不存在的欄位值測試、包括特殊字元查詢測試例如: or 1=1;  輸入類似程序語句的條件時是否執行查詢,如:XXXX」、XXX and ;  4、操作類型:  1) 不輸入的查詢  2) 輸入全部空格的查詢  3) 模糊查詢(輸入部分欄位,或者說,輸入英文字母,查詢到相關中文數據)  4) 輸入不存在的查詢  5) 輸入存在的查詢  6) 單個查詢和多個條件複合查詢。

  八、搜索-下拉框  檢查點:  a) 搜索結果是否有序;  b) 下拉框值是否齊全;(下拉框值本身也是一個動態查詢的結果)  c) 下拉框值是否自動消失,再次點擊「查詢」可查看所有記錄(是否要回填條件值);  d) 分頁時,是否保存搜索條件。  (從UI、開發、業務邏輯、用戶使用等角度測試)  PS:  以上總結的, 是比較純粹的從頁面控制項角度測試點出發, 對於完整測試一個整體頁面,需要各類測試有機結合起來:  1)UI測試:  頁面布局; 頁面樣式檢查;控制項長度是否夠長;顯示時,是否會被截斷;支持的快捷鍵,Tab鍵切換焦點順序正確性等。  2)功能測試:頁面上各類控制項的測試範圍,測試點,可參考上方  結合控制項的實際作用來補充檢查點: 比如, 密碼框是否*顯示, 輸入是否做trim處理等  3)安全測試:輸入特殊字元,sql注入,腳本注入測試  後台驗證測試,對於較重要的表單 ,繞過js檢驗後台是否驗證  數據傳輸是否加密處理,比如, 直接請求轉發,地址欄直接顯示發送字元串?  資料庫存儲,特別密碼等,是否加密形式存儲  4)兼容性測試  5)性能測試二.常見功能點測試思路根據經驗,總結常見的功能點的測試思路:1. 新增 或 創建(Add or Create)  .1 操作後的頁面指向  .2 操作後所有綁定此數據源的控制項數據更新,常見的排列順序為棧Stack類型,後進先出  .3 取消操作是否成功

2.編輯 或 更新 (Edit or Update)

  .1 操作後的頁面指向  .2 操作後所有綁定此數據源的控制項數據更新  .3 取消操作是否成功  .4 編輯界面是否讀取出正確、全部的數據源  .5 記錄在工作流中的編輯功能可用性  .6 操作成功的生效時刻及生效範圍

3.刪除 或 移除 (Delete or Remove)

  .1 操作後的頁面指向  .2 操作後所有綁定此數據源的控制項數據更新 (如下就是刪除後,Tab數據沒有立即刷新的bug)3 取消操作是否成功  .4 記錄在工作流中的編輯功能可用性  .5 操作成功的生效時刻及生效範圍(比如:購物網站,店家商品下架後,並沒有同時刪除買家的購買記錄)

4.選中 或 全選 (Check or Check all)

  .1 多頁面中,全選對所有頁面是否有效  .2 支持多頁面的個別選中,且返回查看時保留選中狀態  .3 界面上的按鈕的操作範圍是否均受選中功能控制  .4 前一頁選中狀態,在翻頁後,應保留原來狀態  .5 先全選-》移除某個單選-》全選按鈕是否移除選中狀態
推薦閱讀:
相关文章