軟件測試中測試用例設計--錯誤推測方法
1、方法定義:
基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。
2、思路:
分析程序中最易出錯的場景和情況,在此基礎上有針對性的設計測試用例。需要完成的前提條件如下:
A、深度熟悉被測系統的業務、需求。
B、對被測系統或類似系統之前的缺陷分布情況進行過系統的分析。包括功能缺陷,數據缺陷,接口缺陷和界面缺陷等等。
3、測試用例舉例
。1)聊天窗口功能
A、輸入特殊字符(全角,半角)后,窗口是否能夠正常顯示
B、輸入空格,是否能夠過濾,是否會算入長度計算
C、輸入html字符
D、輸入腳本語言函數
E、在需要密碼驗證,或者需要二次輸入確認的地方,通過復制粘貼第一次的輸入內容是否能夠通過
。2)查詢功能
A、無條件查詢
B、是否支持模糊查詢
C、查詢的關鍵字之間是否可用連接符
D、輸入正確的查詢條件以前加上空格,看是否能正確地查出相應的數據
。3)登錄功能
A、輸入的數據前存在空格,是否能夠正常登錄
B、輸入的密碼是否能夠加密顯示
C、用戶在注銷之后是否能夠再登錄成功
4、優缺點
優點:充分發揮個人的經驗和潛能,命中率高
缺點:覆蓋率難以保證;過多的依賴于個人的經驗
http://blog.csdn.net/jx9746/archive/2009/12/27/5086651.aspx
功能測試用例庫
1.輸入驗證
輸入驗證主要包括:數字輸入驗證、非法字符輸入驗證、輸入長度驗證、必填項驗證和信息提示
1.數字輸入驗證:分別輸入數字(正數、負數、零值、單精度、雙精度)、字符串、空白值、空值、臨界數值。不合法的輸入,系統給出必要的判斷提示信息
2.字符輸入驗證:分別輸入單字節字符、雙字節字符、大小寫字符、特殊字符、空白值、空值。不合法的輸入,系統給出必要的判斷提示信息
3.日期、時間輸入驗證:分別輸入任意字符、任意數字、非日期格式的數據、非正確日期(錯誤的閏年日期)、空值、空白值。不合法的輸入,系統給出必要的判斷提示信息。注:有些系統會不讓輸入當日以后或者以前的日期、時間;有些系統會通過JavaScript來自動填寫日期時間,這時需要注意是否能否人工主觀填寫輸入
4.多列表選擇框:測試是否能否多選,列表框中的數據是否能否顯示完全。當列表框的數據過多時,需要對數據有一定格式的排序
5.單列表下拉框:測試是否能否手工輸入,下拉框中的數據是否能否顯示完整。當下拉框的數據很多時,需要對數據有一定格式的排序。如果下拉框數據值過多時,下拉框可能會超出IE顯示范圍,此種情況不能夠被接收
6.大文本輸入框 (textArea) :雖然它能夠滿足大數據量的輸入,但最好能夠顯示地標明輸入字符的長度限制,并且應該結合“字符輸入驗證”進行。需要注意的是,應該允許標點的存在
7.文件輸入框輸入驗證:該輸入框主要用做文件上傳操作。在測試過程中,應該注意輸入文件的擴展名。從測試角度來看,要求開發人員必須對擴展名進行輸入限制,并且在適當的地方輸入格式提示。當輸入是空值等不合法的輸入時,系統給出必要的判斷提示信息。另外,對于上傳的文件大小應該做限制,不宜太大
8.輸入字符長度驗證:輸入字符的長度是否超過實際系統接收字符長度的能力。當輸入超出長度時,系統給出必要的判斷提示信息
9.必填項驗證:輸入不允許為空的時候,系統需要有提示用戶輸入信息功能
10.格式、規則輸入驗證:當輸入需要一定的格式時,系統需要有提示用戶輸入信息功能。比如身份證號碼可以輸入18位或者15位,部分身份證最后一位為字母,身份證上生日與身份證號碼有一定規則
11.系統錯誤定位的輸入驗證:當輸入存在問題時,被系統捕獲到,此時頁面上的光標能夠定位到發生錯誤的輸入框
12.單選框、多選框的輸入驗證:單選框需要依次驗證單選框的值是否都有效;多選框需要依次驗證多選框的值是否都有效
13.驗證碼驗證:做驗證碼輸入驗證時,先結合“字符輸入驗證”進行測試,然后注意的地方是,當利用IE回退或者刷新時,顯示的驗證碼應該和實際系統驗證碼一致。如果驗證碼以圖片形式顯示,但圖片由于其他原因(如網絡)不能看到或者顯示不完整,系統應該允許進行重新獲取,最好不要做整個頁面刷新
2. 操作驗證(CZ)
該用例庫主要針對頁面操作
1.頁面鏈接檢查:每一個鏈接是否都有對應的頁面,并且頁面之間切換正確
2.相關性檢查:刪除/增加一項會不會對其他項產生影響,如果產生影響,這些影響是否都正確
3.檢查按鈕的功能是否正確:如增、刪、改、查等功能是否正確
4.重復提交表單:一條已經成功提交的記錄,用IE回退后再提交,看看系統是否做了處理
5.多次IE回退:檢查多次使用IE回退的情況,在有回退的地方,回退,回到原來頁面,再回退,重復多次,看是否出錯
6.快捷鍵檢查:是否支持常用快捷鍵,如Ctrl+C、Ctrl+V、Backspace等,對一些不允許輸入信息的字段,如選人、選日期對快捷方式是否也做了限制
7.回車鍵檢查:在輸入結束后直接回車鍵,看系統處理如何,能否報錯
8.上傳下載文件檢查:上傳下載文件的功能是否實現,上傳文件是否能打開,對上傳文件的格式有何規定,系統是否有解釋信息,并檢查系統是否能否做到
9.其他驗證:在頁面上圖片的大小不宜太大,需要第三方軟件支持時,應該給出必要的信息,比如需要jre的支持,但用戶機器還沒有安裝jre,那么此時在頁面上應該有顯著的標志來提醒用戶進行安裝
3. 登錄模塊測試用例
該用例庫主要針對登錄模塊。需要結合“訪問控制驗證(FWKZYZ)”用例庫
1.登錄名輸入:進行“輸入驗證”。需要注意登錄名是否區分大小寫和空格
2.密碼輸入:進行“輸入驗證”
3.提交操作:結合“訪問空值驗證(FWKZYZ)”。當輸入正確的登錄名和密碼后,該用戶能夠進入到指定的正確頁面。當輸入的登錄名和密碼有誤時,系統限制其登錄,并且給出適當的提示信息。當遇到錯誤時,應該進行“錯誤頁面測試”
4.重設操作:當進行重設操作時,當前頁面上所有輸入項被清空
4. 增加操作測試用例(ZJ)
該用例庫主要針對增加操作
1.添加輸入內容,進行“輸入驗證”
2.應該限制重復增加,具體操作:利用網絡傳輸以及服務器的延遲,多次單擊“增加”按鈕,經常在數據庫發現重復提交的數據
3.當增加成功或者失敗后,應該有必要的信息提示
4.文件數據的增加:有些增加包含了數據庫數據的增加,和一些文件的增加,此時的數據會保存在兩個地方,所以測試時,需要對相關的數據做全面的驗證
5.文件數據驗證:進行“輸入驗證”值“文件輸入框輸入驗證”。注意:當上傳的文件為中文文件名時,上傳到服務器后,可能會出現亂碼現象,F在一般的做法是將原文件名替換成字母和數字的組合,以克服漢字文件名的弊端,另外,可以增加文件的安全性
5. 刪除操作測試用例(SC)
該用例庫主要針對刪除操作
1.選擇需要刪除的數據字段。有時候系統會根據ID來刪除,有時候系統會根據名稱來刪除,測試的時候應該多注意,一般要求按照ID來刪除,因為根據名稱來刪除,名稱可能會存在重名問題
2.應該限制重復刪除。具體操作:利用網絡傳輸以及服務器的延遲,多次單擊“刪除”按鈕,經常在數據庫中發現重復提交的數據
3.當刪除的數據還有文件時,西藥去驗證存在數據庫中的數據,以及硬盤下的文件是否都被同時刪除
4.當數據被刪除成功或者失敗后,要有響應的信息提示
5.進行“操作驗證”
6. 修改操作測試用例(XG)
該用例庫主要針對修改操作
1.打開需要修改的數據頁面,注意與增加頁面相比,只能修改部分數值,例如關鍵字等是不能被修改的,并且二者數據應該是一致的
2.增加頁面上的輸入限制與修改頁面的輸入限制應該一致
3.修改成功或者失敗后,應該有相應的信息提示
7. 查詢操作測試用例(CX)
該用例庫主要針對查詢操作
1.條件輸入查詢,先進行條件輸入框的“輸入驗證”
2.條件組合查詢,將多個條件進行組合查詢,結果可以通過數據庫驗證。需要注意的是,整個數據查詢和條件查詢數據結果條數要一致,另外,如果遇到某天的查詢時間段,有的數據庫認為一天不包括零點零分,有的數據庫認為包括
3.所有查詢結果,必須進行一定順序的排列,可以按照ID或按照名稱來排列
4.當查詢成功或者失敗后,系統應給出必要的信息提示
8. 翻頁操作測試用例(FY)
該用例庫主要針對翻頁操作
1.當數據量很大的時候,需要進行分頁顯示,每頁顯示的行數最好不要超過20行,每頁列表上最好有序號標識,行與行之間顏色要有一定區分,這樣有利于用戶的查找
2.翻頁按鈕應該包括:首頁、前一頁、后一頁、尾頁、當前X頁、共X頁,這些常用按鈕和顯示,并且按鈕都能正常翻頁
3.翻頁按鈕的每頁顯示的數據要準確,確保沒有查不出來的數據,最好的做法就是和數據庫結合起來驗證
4.頁面太多,翻頁數據不能全部顯示時,系統應該有完善的應對機制,比如值顯示當前頁的前三頁和該頁的后三頁的頁數碼
5.當翻到某頁時,系統應該有明顯的標識,標出該頁面所處的頁碼
9. 錯誤頁面測試(CW)
錯誤頁面是在遇到系統異常的情況產生的友好界面
1.當系統遇到致命錯誤時,不能將服務器的調試信息出現在頁面上,因為這樣做會帶來不安全,應該給出一個合適的提示信息
2.由于系統繁忙,無法及時給出正確信息時,系統可以給出友好的錯誤頁面,如:“請用戶稍后再試”等提示信息
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/