一、輸入框
1 字符型輸入框 2 數值型輸入框 3 日期型輸入框 4 郵箱測試 5 日歷控件
6 樹形 7 單選框 8 復選框 9 下拉選擇框 10 文件目錄
11 文件 12 圖片 13 文字測試 14 按鈕
1、字符型輸入框:
(1)英文半角、英文全角、數字、漢字、特殊符號(( ' & $ !)、英文雙引號、英文單引號、&、系統保留字、編程保留字、數據庫保留字、;所有鍵盤可以輸入的字符(全角、半角)
(2)復制粘貼不允許輸入的字符
(3)空
(4)空格(半角、全角):僅空格、字符前中后有空格
(5)輸入null、NULL
(6)最大邊界值、最大邊界值+1、最小邊界、最小邊界值-1、超長字符
(7)輸入htm代碼:比如"<font>你好</font>"
(8)輸入javascript代碼:比如 <param name="MovieWindowWidth" value="320">;<b>hello</b>;alert("hello");doucment.write("abc");
(9)轉義字符:比如<Script Language="JavaScript"> </script>;<br>;<tr>;<td>;</tr>;</td>;</html>;</body>;</table>等
(10)Tab、Enter鍵
(11)多行文本框輸入:
a 允許回車換行、保存后再顯示能夠保存輸入的格式;
b 僅輸入回車換行,檢查能否正確保存(若能,檢查保存結果,若不能,查看是否有正常提示)
2、數值型輸入框:
(1)邊界值:最大值、最小值、最大值+1、最小值-1
(2)位數:最小位數、最大位數、最小位數-1、最大位數+1、輸入超長值、輸入整數
(3)異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能導致系統錯誤的字符、禁止直接輸入特殊字符時,嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,通過剪貼板拷貝到輸入框,分頁符,分節符類似公式的上下標等、數值的特殊符號如∑,㏒,㏑,∏,+,-等、不能直接輸入,就copy,是否數據檢驗出錯;
輸入負整數、負小數、分數、輸入字母或漢字、小數(小數前0點舍去的情況,多個小數點的情況)、首位為0的數字如01、02、科學計數法是否支持1.0E2、全角數字與半角數字、數字與字母混合、16進制,8進制數值、貨幣型輸入(允許小數點后面幾位)
(4)正數、負數、0、0.0、+0.0、-0.0、指數、對數、分數、整數、小數、復數、科學計數法的測試,全角的數字、超大整數,超大的小數,超小的小數
(5)安全性檢查:不能直接輸入就copy
3、日期型輸入框:
(1)合法性檢查:(輸入0日、1日、32日)、月輸入[1、3、5、7、8、10、12] 日輸入[31]、月輸入[4、6、9、11]日輸入[30][31]、輸入非閏年 月輸入[2] 日期輸入[28、29]、輸入閏年 月輸入[2] 日期輸入[29、30]、月輸入[0、1、12、13]
(2)異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能導致系統錯誤的字符
(3)安全性檢查:不能直接輸入,就copy,是否數據檢驗出錯?
4、郵箱測試
(1)沒有@和 . 符號 如abc163com,sdw,34455,$#%^^%
(2)有@和 . 符號
a. @和 . 之間沒有字符串,如abc@.com,abc.@com
b. 字符串的第一位是@或 . 如@163.com,.abc@163.com,@abc@sina.com
c. 字符串的最后一位是@或 . 如 abc@sina.com@,abc@sina.com.
d. 有@和 . 符號,並有特殊字符 如abc#d@163.com,abc@16#3&.com,abc@163.c$%om
e. 有@和 . 符號,並有空格 如 abc @163.com, abc@16 3.com, abc@163.co m
(3)@和 . 符號中只有一個,如abc@sohucom,abcsohu.com,abcsina@com,abc.sohucom
(4)有@@符號重復,如abc@@sohucom,abc@sohu@sohu.com,abc@sohu.c@com
(5)有..符號重復,如abc@sohu.com.cn,a.bc@163.com,abc@163..com
(6)域名不能使用"_"作為了開始符,結束符,abc@sina._com,abc@sina.com_
(7)不正確的域名后綴,如:a@b.hello,ab@cd.hi
(8)粘貼或者輸入文本字母、數字以外字符;
5、日歷控件
(1)同時支持選擇年月日、年月日時分秒規則
(2)打開日歷控件時,默認顯示當前日期
(3)開始日期 < 截止日期
(4)開始日期 > 截止日期
(5)開始日期 = 截止日期
6、樹形
(1)各層級用不同圖標表示,最下層節點無加減號
(2)提供全部收起、全部展開功能
(3)如有需要提供搜索與右鍵功能,如提供需有提示信息
(4)展開時,內容刷新正常
7、單選框
(1)一組單選按鈕不能同時選中,只能選中一個
(2)一組執行同一功能的單選按鈕在初始狀態時必須有一個被默認選中,不能同時為空
8、復選框
(1)多個復選框可以被同時選中
(2)多個復選框可以被部分選中
(3)多個復選框可以都不被選中
(4)逐一執行每個復選框的功能
9、下拉選擇框
(1)查詢時默認顯示全部
(2)選擇時默認顯示請選擇(或根據需求默認顯示相應的選項)
10、文件目錄
目錄名稱、目錄下的文件數量、隱藏文件、目錄的層級數量、網絡文件夾、目錄名稱包含特殊字符(-_)windos路徑縮寫的文件目錄
11、文件
(1)文件類型、大文件、超小文件、超大文件、只讀文件、占用狀態、無權限的文件
(2)文件不存在、文件重名情況、硬盤滿了、文件只讀屬性、文件被占用狀態、文件的名稱(過長、過短)、文件類型、網絡文件
12、圖片
圖片類型、大小、顯示尺寸、屬性、圖片路徑、圖片鏈接,數據庫保存圖片的不同大小、圖片顯示是否變形,圖片是否影響頁面其他元素的布局;
13、文字測試
(1)語言風格是否統一
(2)文字排版是否美觀
(3)文字描述是否有二義性
(4) 錯誤提示的語言是否明確
(5) 多語言測試情況下,文字顯示正確
(6) 文字內容是否和需求文檔保持一致
14、按鈕
(1)點擊按鈕是否正確響應操作。如單擊確定,正確執行操作;單擊取消,退出窗口
(2)對非法的輸入或操作給出足夠的提示說明
(3)對可能造成數據無法恢復的操作必須給出確認信息,給用戶放棄選擇的機會(如刪除等危險操作)
(4)信息重復:在一些需要命名,且名字應該唯一的信息輸入重復的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入內容的前后輸入空格,系統是否作出正確處理.
二、搜索功能
若查詢條件為輸入框,則參考輸入框對應類型的測試方法
篩選的結果中:
點擊“首頁” “尾頁” “上一頁” “下一頁”,查詢結果是否還是篩選的結果
1、功能實現:
(1)如果支持模糊查詢,搜索名稱中任意一個字符是否能搜索到
(2)比較長的名稱是否能查到
(3)輸入系統中不存在的與之匹配的條件
(4)查詢條件全部匹配時,系統能否查詢出相關記錄
(5)查詢條件全為空時,系統能否查詢出相關記錄
(6)針對單個查詢條件進行查詢,系統能否查詢出相關記錄
(7)針對多個查詢條件,進行組合查詢,系統能否查詢出相關記錄
(8)用戶進行查詢操作時,一般情況是不進行查詢條件的清空,除非需求特殊說明。
(9)Tab、Enter鍵
2、組合測試:
(1)不同查詢條件之間來回選擇,是否出現頁面錯誤(單選框和多選框最容易出錯)
(2)測試多個查詢條件時,要注意查詢條件的組合測試,可能不同組合的測試會報錯。
多條件查詢測試用例設計方法
假設查詢因子:A,B,C,D,E
1、單獨查詢:A;B;C;D;E
- 確保單獨查詢的正確性,這也是最基本的。
2、兩個組合查詢:AB;AC;AD;AE;BC;BD;BE;CD;CE;DE。
- 確保兩個組合查詢的正確性,這保證了兩兩之間不會相互影響。
3、三個組合查詢:ABC;CDE
- 確保三個組合的正確性;因為我們已確保了單獨及兩個組合查詢的正確性,所以不需要測試三個組合的全部級組合。
4、五個組合查詢:ABCDE
- 確保最大組合的正確性。
如果輸入條件達到更多,可以考慮以下方法
1.單個條件遍歷
2.默認條件查詢
3.根據需求或者業務規則選取重點條件組合查詢
4.全條件組合查詢
5.根據查詢所拼SQL來修改查詢條件進行查詢
三、添加功能
1、正確輸入相關內容,包括必填項,點添加按鈕,記錄是否成功添加
2、必填項內容不填、其他項正確輸入,點添加按鈕,系統是否有相應提示
3、僅填寫必填項,點添加按鈕,記錄能否添加成功
4、內容項中輸入空格,點添加按鈕,記錄能否添加成功
5、內容項中輸入系統中不允許出現的字符、點添加按鈕,系統是否有相應提示
6、內容項中輸入HTML腳本,點添加按鈕,記錄能否添加成功
7、添加記錄失敗時,原填寫內容是否保存
8、新添加的記錄是否排列在首行
9、提交數據時,連續多次點擊,查看系統會不會連續增加幾條相同的數據或報錯
10、是否支持Tab、Enter鍵
11、是否能夠連續添加(針對特殊情況)
12、是否可以重復添加
13、兩個人添加相同的信息,同時點擊提交,系統是否有相應提示
四、修改功能
1、修改功能是否正確修改數據庫中對應表的對應字段的數據;
2、修改功能應該不允許修改數據庫中對應表的對應記錄的主鍵數據;
3、修改功能不會影響數據庫中與對應修改數據無關的數據,不會新增數據(除非新增處理是作廢原記錄並新增記錄)。
4、修改成功或失敗都應該反饋准確的提示信息。
5、修改提交時應該自動處理掉輸入內容兩端的空格。
6、若結果列表中沒有記錄或者沒選擇記錄,點擊修改按鈕,系統是否有相應提示
7、如果不可重復添加,修改為已存在的數據,是否給出相應提示
8、提交數據時,連續多次點擊,查看系統會不會連續增加幾條相同的數據或報錯
9、是否進行必填項檢查、長度檢查等其他限制條件
10、對於圖片上傳,若不上傳圖片,查看編輯頁面時是否顯示有默認的圖片,若上傳圖片,查看是否顯示為上傳圖片
11、修改正在查看的信息,或是兩個人同時修改,系統是否有相應提示
五、刪除功能
1、選擇任意一條記錄,進行刪除,能否刪除成功
2、選擇不連續多條記錄,進行刪除,能否刪除成功
3、選擇連續多條記錄,進行刪除,能否刪除成功
4、能否進行批量刪除操作
5、刪除時,系統是否有確認刪除的提示
6、當只有一條數據時,是否可以刪除成功
7、刪除一條數據后,是否可以添加相同的數據
8、如有全選,注意是否把所有的數據刪除
9、刪除數據時,要注意相應查詢頁面的數據是否及時更新
10、如刪除的數據與其他業務數據關聯,要注意其關聯性(如刪除部門信息時,部門下游員工,則應該給出提示)
11、如果結果列表中沒有記錄或沒有選擇任何一條記錄,點擊刪除按鈕系統會報錯
12、刪除正在查看的信息,或是兩個人同時刪除信息,系統是否有相應提示
如:某一功能模塊具有最基本的增刪改查功能,則需要進行以下測試
單項功能測試(增加、修改、查詢、刪除)
增加——>增加——>增加 (連續增加測試)
增加——>刪除
增加——>刪除——>增加 (新增加的內容與刪除內容一致)
增加——>修改——>刪除
修改——>修改——>修改 (連續修改測試)
修改——>增加(新增加的內容與修改前內容一致)
修改——>刪除
修改——>刪除——>增加 (新增加的內容與刪除內容一致)
刪除——>刪除——>刪除 (連續刪除測試)
六、注冊、登陸模塊
1 注冊功能
2 登陸功能
3 驗證碼圖片
4 修改密碼
1、注冊功能:
(1)用戶名、密碼輸入:
1)非法字符,能否粘貼不符合要求的字符
2)空格(半角、全角):僅空格、字符前中后有空格
3)輸入null、NULL
4)最大邊界值、最大邊界值+1、最小邊界、最小邊界值-1、超長字符
5)輸入腳本
(2)用戶名密碼其中一個為空或都為空
(3)注冊已存在的用戶
(4)改變存在的用戶的用戶名和密碼的大小寫,來注冊
(5)兩次密碼輸入不一樣
(6)密碼是否可以復制粘貼;密碼是否以* 之類的加秘符號顯示
(7)看是否支持tap和enter鍵等
(8)注冊時,設置密碼為特殊版本號,檢查登錄時是否會報錯
(9)注冊成功后,頁面應該以登陸狀態跳轉到首頁或指定頁面
(10)在注冊信息中刪除已輸入的信息,檢查是否可以注冊成功。
2、登陸功能:
(1)輸入正確的用戶名和正確的密碼
(2)輸入正確的用戶名和錯誤的密碼
(3)輸入錯誤的用戶名和正確的密碼
(4)輸入錯誤的用戶名和錯誤的密碼
(5)用戶名、密碼輸入:
1)非法字符,能否粘貼不符合要求的字符
2)空格(半角、全角):僅空格、字符前中后有空格
3)輸入null、NULL
4)最大邊界值、最大邊界值+1、最小邊界、最小邊界值-1、超長字符
(6)用戶名密碼其中一個為空或都為空
(7)輸入正確的用戶名和密碼,但是不區分大小寫
(8)已刪除的用戶名和密碼
(9)不存在的用戶名
(10) 密碼是否加密,能否復制粘貼出加密的密碼
(11)考慮是否支持多用戶在同一機器上登錄;
(12)考慮一用戶在多台機器上登錄;
(13)使用禁用帳號登陸,系統能否正確處理;
(14)刪除或修改后的用戶用原用戶登錄;
(15)支持Tab、Enter鍵
(16)登錄成功后能否能否跳轉到正確的頁面
(17)記住用戶名的功能
(18)登陸失敗后,不能記錄密碼的功能
(19)要考慮多次點擊登錄和取消按鈕的界面反應;
(20)登錄成功后生成的Cookie,是否是httponly (否則容易被腳本盜取)
(21)用戶名和密碼是否通過加密的方式,發送給Web服務器
(22)用戶名和密碼的驗證,應該是用服務器端驗證, 而不能單單是在客戶端用javascript驗證
(23)用戶名和密碼的輸入框,應該屏蔽SQL 注入攻擊
(24)用戶名和密碼的的輸入框,應該禁止輸入腳本 (防止XSS攻擊)
(25)錯誤登陸的次數限制(防止暴力破解)
1、SQL注入:username dlrTest' passwd abc'
2、SQL注入:username dlrTest'or'1'='1
3、SQL注入:username dlrTest'or'1'='1--或者dlrTest'or'-- passwd abc'
3、驗證碼圖片
(1)刷新頁面,驗證碼是否更新
(2)點擊“驗證碼”圖片,驗證碼是否更新
(3)用戶名密碼驗證碼輸入錯誤或不輸入,登錄失敗后,驗證碼是否更新
4、修改密碼
原密碼:
新密碼:
確認密碼:
確定取消
(1)用戶名:輸入錯誤
(2)不輸入舊密碼,直接改密碼----修改失敗
(3)輸入錯誤的原密碼----修改失敗
(4)新密碼和確認密碼不一致----修改失敗
(5)不輸入新密碼----修改失敗
(6)不輸入確認密碼----修改失敗
(7)新密碼和確認密碼為空----修改失敗
(8)新密碼和確認密碼包含空格(前中后)----修改失敗
(9)新密碼為最多字符----修改成功
(10)新密碼為最少字符----修改成功
(11)長度測試:最小邊界值,最小邊界值-1,最大邊界值,最大邊界值+1
(12)新密碼為非允許字符(如有的密碼要求必須是英文和數字組成,那么要試漢字和符號等)
(13)看是否支持tab和enter鍵等
(14)密碼是否可以復制粘貼
(15)密碼是否以* 之類的加密符號
(26)看密碼是否區分大小寫,新密碼中英文小寫,確認密碼中英文大寫
(27)新密碼與舊密碼一樣能否修改成功
(28)密碼修改成功后是否可以用舊密碼登錄成功
(29)密碼修改成功后是否可以用新密碼登錄成功
七、上傳圖片測試
功能 實現:
(1)上傳文件是否支持中文、英文、特殊符號、空格、數字 名稱,並且可以正確顯示
(2)文件類型正確、大小合適(最小邊界值,最大邊界值)
(3)文件類型正確,大小不合適(最小邊界值-1,最大邊界值+1)
(4)文件類型錯誤,大小合適(上傳bmp,jpg,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,.doc;.xls;ppt;jpeg;psd;tga;png;swf;pcx;dxf;emf;lic;eps;.txt等格式文件)
(5)文件類型和大小都合適,上傳一個正在使用中的圖片(即打開該圖片,在上傳該圖片)
(6)文件類型大小都合適,手動輸入存在的圖片地址來上傳
(7)文件類型和大小都合適,輸入不存在的圖片地址來上傳
(8)文件類型和大小都合適,輸入圖片名稱來上傳
(9)不選擇文件直接點擊上傳,查看是否給出提示
(10)連續多次選擇不同的文件,查看是否上傳最后一次選擇的文件
(11)上傳文件名測試,檢查不符合文件名規范
1) 圖片:圖片名.wmv.jpg
2) 非圖片:圖片名.jpg.wmv
3) 超長文件名:
(12)上傳文件容錯性測試:如檢查覆蓋同文件操作;
(13)上傳文件后,檢查是否與源文件一致,包含目錄設置等
(14)上傳文件,是否能打開等
(15)上傳文件能否正確顯示
(16)上傳文件發布時間是否正確
(17)上傳文件特性測試:如果支持如斷點續傳等一些特性
(18)上傳文件異常情況測試:如硬盤空間不足
(19)上傳文件速率性能測試:檢查上傳不同的文件在不同的網絡環境響應速度,及系統資源占用
(20)上傳文件安全性測試:如上傳常見木馬
(21)上傳文件易用性測試:檢查上傳文件操作是否讓用戶易於學習和理解使用等
八:文件導出
1、導出文件是否是查詢結果的文件內容
2、驗證導出文件名長度,根據具體情況而定
3、驗證導出文件為空的情況
4、驗證導出文件名為特殊字符的情況
5、驗證導出全部資料的情況,導出的信息是否正確
6、驗證導出部分資料的情況,導出的信息是否正確
7、驗證導出大量數據時的時間是否在合理的時間范圍內
8、驗證導出目的磁盤空間已滿的情況下,導出是否有友好的處理方式
9、驗證導出目的的文件夾為只讀的情況下,導出時是否有友好的的提示信息
九、文件下載頁面
1、當前位置的提示是否現實正確;頁面美觀性、易用性;按鈕文字是否正確 ;說明性文字是否正確
2、正確/錯誤的提示文字是否正確
3、右鍵另存為是否可以正確下載文件,並且記錄下載次數 ·
4、工具下載是否正確,並且記錄下載次數
5、單擊下載是提示下載還是在頁面打開 · 直接打開是否顯示正確
6、對於本機沒有安裝工具的文件是否能夠打開,是否能給出正確的提示 ·
7、對於直接在頁面內打開的內容是否能夠顯示正常,頁面美觀性 ·
8、保存到本地是否能正確顯示
9、取消下載是否會紀錄下載次數
10、下載次數是否被正確記錄
11、后台沒有發布的文件是否在前台可以找到並下載
12、后台設置了下載權限的文件是否可以被正確看到、是否可以下載
十、查詢結果列表
功能 實現:
(1)列表、列寬是否合理
(2)列表數據太寬有沒有提供橫向滾動
(3)列表的列名有沒有與內容對應
(4)列表的每列的列名是否描述的清晰
(5)列表是否把不必要的列都顯示出來
(6)點擊某列進行排序,是否會報錯(點擊查看每一頁的排序是否正確)
(7)雙擊或單擊某列信息,是否會報錯
十一、cookie
1、是否包含明文的敏感信息
2、瀏覽器是否打開cooke選項