1. 程式人生 > >測試人員必學的軟件快速測試方法(二)

測試人員必學的軟件快速測試方法(二)

軟件測試 快速測試 專項測試 自動化測試 缺陷管理

以下是測試專家Cem Kaner在黑盒軟件測試中總結的一些快速測試方法,這裏進行補充和調整,並同步更新到我們的測試知識共享庫中,使用時可靈活增刪改查。



1.用戶界面

若軟件在應用商店中銷售,界面很可能成為用戶是否安裝或購買的重要因素

1).漫遊用戶界面 ,發現是否有任何令人厭煩的界面設計。


2).可參考受歡迎的界面設計,以發現被測產品的可改進之處"


2.邊界

軟件在處理數值邊界時可能出錯

1).發現業務的範圍和邊界,測試邊界上的值和臨近邊界的值


2).測試超出範圍的值


3).令數值計算產出超出範圍的值


4).令一個模塊輸出其他模塊不能接受的值,如界面字段只能顯示10個字符的字符串,測試人員讓後臺產生11個字符的字符串。後臺DB的字段是8位整數,測試人員讓前臺網頁傳遞大於255的整數"


3.溢出

整數和浮點數運算可能溢出,會導致計算錯誤和安全漏洞

留意軟件的數值計算,若覺得某個計算有溢出的風險,就傳入極大值或極小值去觸發潛在的溢出

4.計算和操作

數據轉換和數值計算有些典型錯誤

1).輸入錯誤的數據以測試數據轉換,如軟件期望輸入整數,測試輸入浮點數、無效字符串、空字符串


2).除0


3).除很接近0的極小數值,會產生很大的計算結果,有可能導致數值越界或溢出


4).將高精度數值強制賦給低精度數值,可能導致精度丟失,甚至計算錯誤


5).浮點數運算很可能產生誤差,一些小的誤差會累積出嚴重的偏差,所以測試要關註涉及多個變量或步驟的數值計算,仔細檢查其結果的精度"


5.初始狀態

一段程序在使用一個變量時,可能對該變量的狀態有不正確的假設,這會導致軟件故障

變量通常有5個狀態,測試要檢查程序的對變量狀態的假設是否總是正確的:


1).未初始化


2).已初始化


3).默認值


4).已經被賦予當前計算需要的值


5).帶有其他計算的結果


6.被修改的值

軟件可能不能偵測到它所依賴的事物發生了變化 ,這會導致錯誤

為一個變量設置值,讓一些功能依賴於該變量,然後修改該變量的值,並檢查相應功能是否正確。

eg.用圖片應用瀏覽圖片,切換到OS界面下刪除正在顯示的圖片,返回圖片應用,看被刪的圖片如何顯示


7.控制流

控制流的意外跳轉可能暴露隱藏的問題

測試要想辦法打亂軟件的控制流,如觸發異常、輸入異常數據、造成環境失敗等


8.序列

有些軟件錯誤會在漫長的操作序列中暴露

考慮反復執行以下操作:


1).產生錯誤消息的操作


2).令任務被迫中斷的操作


3).會執行遞歸計算的操作

另外, 測試可編寫測試程序,用隨機的順序調用已有的自動化測試用例,實施長序列的測試"


9.消息

軟件與外界的通訊可能中斷

若軟件與網絡服務、DB、其他軟件有任何形式的交互 ,測試要破壞它們之間的通訊。

可編寫測試程序來監聽並篡改信息,或強制被依賴的軟件返回錯誤信息,以測試軟件如何處理破損的消息


10.時序和競態條件

軟件可能對操作的時序有不正確地假設

測試異步調用時,測試讓軟件先後啟動A和B兩個計算,並讓B先完成計算。有些軟件不能處理後提交的在計算先返回的情況,會發生故障。

測試可同時啟動多個操作去訪問共享的數據或功能,以檢查並發計算是否造成數據損壞。"


11.錯誤處理

軟件的錯誤處理代碼需要應對意外情況,有較高的編寫難度,故易出錯

測試嘗試觸發軟件的錯誤信息,然後反復執行導致 錯誤消息的操作,以檢查錯誤處理代碼是否產生了資源泄漏問題。

強力測試軟件,來檢查錯誤處理代碼是否將軟件恢復到正確狀態。"


12.失敗處理

軟件的失敗恢復可能包含錯誤,使得損失加重

測試要檢查失敗處理代碼的正確性。如,文檔崩潰重啟後,是否顯示用戶最近的編輯成果,避免或降低了用戶的損失。


13.文件系統 文件系統的異常情況會影響軟件的運行


1).用調試工具令OS的文件讀寫API返回錯誤,可模擬出磁盤損壞等異常情況


2).刪除正在被使用的文件


3).刪除即將被使用的文件


4).鎖住即將被使用的文件


5).竊取軟件持有的文件句柄

6).修改一個需要更高權限才能修改的文件


7).令文件名和文件路徑的長度超過OS支持的最大路徑長度


8).令文件名包含OS禁止的字符


9).修改文件名後綴為大寫或其他無效的後綴名


10).將文件名修改對OS有特殊含義的單詞

11).讀寫尺寸巨大的文件


12).將文件寫入只讀的磁盤


13).將文件寫入容量即將耗盡的磁盤


14).將文件寫入網絡磁盤,在寫入過程中,斷開網絡


15).將文件寫入移動硬盤,在寫入過程中,拔出移動硬盤


測試人員必學的軟件快速測試方法(二)