搜尋功能、翻頁功能、輸入框的測試用例設計及知識
搜尋功能測試用例設計
搜尋功能點進行分解,把測試用例分解為多個測試場景
場景編號 |
場景描述 |
預期結果 |
場景一 |
頁面檢查 |
正確 |
場景二 |
預設條件搜尋 |
查詢結果正確 |
場景三 |
修改可選條件搜尋 |
查詢結果正確 |
場景四 |
修改輸入條件搜尋 |
查詢結果正確 |
場景五 |
修改區間條件搜尋 |
查詢結果正確 |
場景六 |
組合可選、輸入條件搜尋 |
查詢結果正確 |
場景七 |
操作後檢查搜尋條件及查詢結果 |
查詢結果正確 |
場景八 |
錯誤、空記錄搜尋 |
查詢結果為空 |
測試步驟描述
按照已經分解的測試場景順序,逐個描述測試場景的測試步驟
測試場景一:
步驟編號 |
具體描述 |
1 |
進入搜尋(高階搜尋)頁面 |
2 |
介面共性測試 |
3 |
退出 |
測試場景二:
步驟編號 |
具體描述 |
1 |
進入搜尋(高階搜尋)頁面 |
2 |
點選“搜尋”按鈕,顯示查詢結果列表 |
3 |
檢查查詢結果列表,每頁顯示記錄條數正確、文字折行顯示正確、頁面佈局美觀 |
4 |
檢查查詢結果列表,列標題項、列顯示內容、排序方式符合需求定義 |
5 |
檢查查詢結果列表,符合預設查詢條件結果集 |
6 |
點選查詢結果列表連結、複選框、全選框響應正確 |
7 |
退出 |
測試場景三:
步驟編號 |
具體描述 |
1 |
進入搜尋(高階搜尋)頁面 |
2 |
逐一選擇各個查詢條件可選項,如:“全部”、“類別1”等,點選“搜尋”,查詢結果正確 |
3 |
組合各個查詢條件可選項,如:價格+產品,點選“搜尋”,查詢結果正確 |
4 |
退出 |
測試場景四:
步驟編號 |
具體描述 |
1 |
進入搜尋(高階搜尋)頁面 |
2 |
逐一輸入文字域條件,模糊查詢值,點選“搜尋”,查詢結果正確 |
3 |
逐一輸入文字域條件,完全匹配值,點選“搜尋”,查詢結果正確 |
4 |
逐一輸入文字域條件,中文值,點選“搜尋”,查詢結果正確 |
5 |
逐一輸入文字域條件,字母大、小寫值,點選“搜尋”,查詢結果正確 |
6 |
逐一輸入文字域條件,數字型別值,點選“搜尋”,查詢結果正確 |
7 |
逐一輸入文字域條件,全形、半形值,點選“搜尋”,查詢結果正確 |
8 |
組合各個文字域查詢條件,點選“搜尋”,查詢結果正確 |
9 |
退出 |
翻頁功能測試用例
翻頁功能我們常碰到的一般有以下幾個功能:
1、首頁、上一頁、下一頁、尾頁。
2、總頁數,當前頁數
3、指定跳轉頁
4、指定每頁顯示條數
當然,有一些是少於多少頁,全部以數字的形式顯示,多於多少頁後,才出現下一頁的控制元件。本文暫且用以上四點來做為通用的用例來設計吧。
對於1翻頁連結或按鈕的測試,主要要檢查的測試點有:
1、有無資料時控制元件的顯示情況
2、在首頁時,首頁和上一頁是否能點選
3、在尾頁時,下一頁和尾頁是否能點選
4、在非首頁和非尾頁時,四個按鈕功能是否正確
5、翻頁後,列表中的記錄是否仍按照指定的排序列進行了排序,
對於2總頁數,當前頁數,主要要檢查的測試點有:
1、總頁數是否等於總的記錄數/指定每頁條數
2、當前頁數是否正確
對於3指定跳轉頁,主要要檢查的測試點有:
1、是否能正常跳轉到指定的頁數
2、輸入的跳轉頁數非法時的處理
對於4指定每頁顯示條數,主要要檢查的測試點有:
1、是否有預設的指定每頁顯示條數
2、指定每頁的條數後,列表顯示的記錄數,頁數是否正確
3、輸入的每頁條數非法時的處理
分析完上面的測試點,應該可以進行用例的設計了。
step 1: 列表無記錄
expect: 1、四個翻頁控制元件變灰不可點選
2、列表有相應的無資料資訊提示
3、不可指定頁數
4、不可指定跳轉頁
5、總頁數顯示為0
6、當前頁數顯示為0
step 2: 列表的記錄數<=指定的每頁顯示條數
expect: 1、四個翻頁控制元件變灰不可點選
2、總頁數顯示為1
3、當前頁數顯示為1
step 3: 列表的記錄數>指定的每頁顯示條數
expect: 1、預設在首頁,當前頁數為1
2、列表的資料按照指定的排序列正確排序
3、記錄數與資料庫相符
4、總頁數=記錄數/指定的每頁顯示條數
step 4: 列表的記錄數>指定的每頁顯示條數,在首頁
expect: 1、首頁變灰不可點選
2、上一頁變灰不可點選
3、下一頁可點選,從(每頁指定條數+1)條記錄開始顯示,當前頁數+1
4、尾頁可點選,顯示最後頁的記錄
step 5: 列表的記錄數>指定的每頁顯示條數,在中間的某頁
expect: 1、首頁可點選,顯示1到每頁指定條數的記錄
2、上一頁可點選,顯示上一頁的記錄
3、下一頁可點選,從後一頁的記錄
4、尾頁可點選,顯示最後頁的記錄
5、列表的資料按照指定的排序列正確排序
6、當前頁數為所在頁
step 6:列表的記錄數>指定的每頁顯示條數,在尾頁
expect: 1、首頁可點選,顯示1到每頁指定條數的記錄
2、上一頁可點選,顯示上一頁的記錄
3、下一頁變灰不可點選
4、尾頁變灰不可點選
5、列表的資料按照指定的排序列正確排序
6、當前頁數為最後一頁的頁數
step 7:輸入每頁顯示條數為正整數
expect: 1、每頁顯示條數更新成指定的條數
2、超過指定的條數的記錄分頁顯示
3、總頁數更新成列表的記錄數/每頁顯示條數
step 8:輸入每頁顯示條數為0
expect: 1、提示“每頁顯示條數必須為大於1的整數”
2、提示後每頁顯示條數恢復為上次生效的條數
step 9:輸入每頁顯示條數為負數
expect: 1、提示每頁顯示條數必須為大於1的整數
2、提示後每頁顯示條數恢復為上次生效的條數
step 10:輸入每頁顯示條數長度超過資料庫指定的長度<<<maxlen>>>
expect: 1、提示每頁顯示條數不能超過<<<maxlen>>>位
2、提示後每頁顯示條數恢復為上次生效的條數
step 11:輸入每頁顯示條數為字串,如中文翻頁數
expect: 1、提示每頁顯示條數必須為大於1的整數
2、提示後每頁顯示條數恢復為上次生效的條數
step 12:輸入每頁顯示條數為特殊字元,如%
expect: 1、提示每頁顯示條數必須為大於1的整數
2、提示後每頁顯示條數恢復為上次生效的條數
step 13:輸入每頁顯示條數為html字串,如<br>
expect: 1、提示每頁顯示條數必須為大於1的整數
2、提示後每頁顯示條數恢復為上次生效的條數
step 14:輸入跳轉的頁數為存在的頁數
expect: 1、正確跳轉到指定的頁數
step 15:輸入跳轉的頁數不存在或非法值
expect: 1、跳轉的頁數值置為1,顯示第一頁的資料
以上的用例是將總頁數,當前頁數都揉進了翻頁控制元件的測試用例中了
- 1. 輸入框的測試
最近在測試Web的輸入框的時候,發現有點疏忽,所以作了一些簡單的總結,總的情況有一下幾個方面:
1.驗證輸入與輸出的是否資訊一致;
2.輸入框之前的標題是否正確;
3.對特殊字元的處理,尤其是輸入資訊需要傳送到資料庫的。特殊字元包括:'(單引號)、"(雙引號)、[](中括號)、()(小括號)、{}(大括號)、;(分號)、<>(大於小於號)……
4.對輸入框輸入超過限制的字元的處理,一般非特殊的沒有作出限制的在255byte左右;
5.輸入框本身的大小、長度;
6.不同內碼的字元的輸入;
7.對空格、TAB字元的處理機制;
8.字元本身顯示的顏色;
9.密碼輸入視窗轉換成星號或其它符號;
10.密碼輸入框對其中的資訊進行加密,防止採用破解星號的方法破解;
11.按下ctrl和alt鍵對輸入框的影響;
12.對於新增、修改、註冊時用的輸入框,有限制的,應該輸入時作出提示,指出不允許的或者標出允許的;
13.對於有約束條件要求的輸入框應當在條件滿足時輸入框的狀態發生相應的改變,比如選了湖南就應該列出湖南下面的市,或者選了某些條件之後,一些輸入框會關閉或轉為只讀狀態;
14.輸入型別;根據前面的欄位標題判斷該輸入框應該輸入哪些內容算是合理的。例如,是否允許輸入數字或字母,不允許輸入其他字元等。
15.輸入長度;資料庫欄位有長度定義,當輸入過長時,提交資料是否會出錯。
16.輸入狀態;當處於某種狀態下,輸入框是否處於可寫或非可寫狀態。例如,系統自動給予的編號等欄位作為唯一標識,當再次處於編輯狀態下,輸入框欄位應處於不可寫狀態,如果可寫對其編輯的話,可能會造成資料重複引起衝突等。
暫時,就能想這麼多,看大家誰還有觀點,互相學習下!
17.如果是會進行資料庫操作的輸入框,還可以考慮輸入SQL中的一些特殊符號如單引號等,有時會有意想不到的錯誤出現
18.輸入型別 輸入長度 是否允許複製貼上 為空的情況 空格的考慮 半形全形測試 對於密碼輸入框要考慮顯示的內容是* 輸入錯誤時的提示資訊及提示資訊是否準確
19.可以先了解你要測試的輸入框在軟體系統的某個功能中所扮演的角色,然後瞭解其具體的輸入條件,在將輸入條件按照有效等價類,無效等價類,邊界值等方法進行測試用例的設計。
20.關鍵字有大小寫混合的情況;
21.關鍵字中含有一個或多個空格的情況,包括前空格,中間空格(多個關鍵字),和後空格;
22.關鍵字中是否支援萬用字元的情況(視功能而定);
23.關鍵字的長度分別為9、10、11個字元時的情況;
24.關鍵字是valid,但是沒有匹配搜尋結果的情況;
25.輸入html的標籤會出現哪些問題?輸入<;html>; 會出現什麼問題呢?(這條是我自己發現的,在網上也沒找到類似的東東,呵呵,大家湊合著看吧)
安全測試方面:
給出一些特別的關鍵字,比如 or 1=1, 這樣的關鍵字如果不被處理就直接用到資料庫查詢中去,後果可想而知。