2020-12-15:【黑盒測試用例設計】測試方法之錯誤值猜測法

小仙女的小跟班_fairy發表於2020-12-15

【黑盒測試用例設計】測試方法之錯誤值猜測法

原理:基於經驗和直覺推測程式中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。

基本思想:列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。

適用場景:幾乎所有場景。

使用技巧:沒有技巧,直覺和經驗堆積。

應用例項

  • 例如, 輸入資料和輸出資料為0的情況;輸入表格為空格或輸入表格只有一行。

  • 例如,測試一個對線性表(比如陣列)進行排序的程式,可推測列出以下幾項需要特別測試的情況:

輸入的線性表為空表;
表中只含有一個元素;
輸入表中所有元素已排好序;
輸入表已按逆序排好;
輸入表中部分或全部元素相同。

  • 例如,測試手機終端的通話功能,可以設計各種通話失敗的情況來補充測試用例:

無SIM 卡插入時進行撥出(非緊急呼叫);
插入已欠費SIM卡進行撥出;
射頻器件損壞或無訊號區域插入有效SIM卡撥出;
網路正常,插入有效SIM卡,撥出無效號碼(如1、888、333333、不輸入任何號碼等);
網路正常,插入有效SIM卡,使用“快速撥號”功能撥出設定無效號碼的數字。

3.錯誤推測方法

另外,在專案測試過程中,針對非用例所發現的問題,如通過探索測試、隨機測試等方法發現的或售後反饋的問題,如果具有普遍性,可以將其轉化為用例,作為當前用例庫的經驗用例補充。

例項

功能測試用例庫

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.Enter鍵檢查:在輸入結束後直接Enter鍵,看系統處理如何,能否報錯;
8.上傳下載檔案檢查:上傳下載檔案的功能是否實現,上傳檔案是否能開啟,對上傳檔案的格式有何規定,系統是否有解釋資訊,並檢查系統是否能否做到;
9.其他驗證:在頁面上圖片的大小不宜太大,需要第三方軟體支援時,應該給出必要的資訊,比如需要jre的支援,但使用者機器還沒有安裝jre,那麼此時在頁面上應該有顯著的標誌來提醒使用者進行安裝;

3.登入模組測試用例

  • 該用例庫主要針對登入模組。需要結合“訪問控制驗證(FWKZYZ)”用例庫

1.登入名輸入:進行“輸入驗證”。需要注意登入名是否區分大小寫和空格;
2.密碼輸入:進行“輸入驗證”;
3.提交操作:結合“訪問空值驗證(FWKZYZ)”。當輸入正確的登入名和密碼後,該使用者能夠進入到指定的正確頁面。當輸入的登入名和密碼有誤時,系統限制其登入,並且給出適當的提示資訊。當遇到錯誤時,應該進行“錯誤頁面測試”;
4.重設操作:當進行重設操作時,當前頁面上所有輸入項被清空;

4.增加操作測試用例(ZJ)

  • 該用例庫主要針對增加操作

1.新增輸入內容,進行“輸入驗證”;
2.應該限制重複增加,具體操作:利用網路傳輸以及伺服器的延遲,多次單擊“增加”按鈕,經常在資料庫發現重複提交的資料;
3.當增加成功或者失敗後,應該有必要的資訊提示;
4.檔案資料的增加:有些增加包含了資料庫資料的增加,和一些檔案的增加,此時的資料會儲存在兩個地方,所以測試時,需要對相關的資料做全面的驗證;
5.檔案資料驗證:進行“輸入驗證”值“檔案輸入框輸入驗證”。注意:當上傳的檔案為中文檔名時,上傳到伺服器後,可能會出現亂碼現象。現在一般的做法是將原檔名替換成字母和數字的組合,以克服漢字檔名的弊端,另外,可以增加檔案的安全性;

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.由於系統繁忙,無法及時給出正確資訊時,系統可以給出友好的錯誤頁面,如:“請使用者稍後再試”等提示資訊

相關文章