功能測試又稱正確性測試,它檢查軟件的功能是否符合規格說明。由于正確性是軟件最重要的質量因素,所以其測試也最重要。
基本的方法是構造一些合理輸入,檢查是否得到期望的輸出。這是一種枚舉方法。測試人員一定要設法減少枚舉的次數,否則測試投入太大。關鍵在于尋找等價區間,因為在等價區間中,只需用任意值測試一次即可。等價區間的概念可表述如下:記(A, B)是命題f(x) 的一個等價區間,在(A, B)中任意取x1進行測試。如果f (x1) 錯誤,那么f (x) 在整個(A, B)區間都將出錯。如果f (x1) 正確,那么f (x) 在整個(A, B)區間都將正確。上述測試方法稱為等價測試,來源于人們的直覺與經驗,可令測試事半功倍。
還有一種有效的測試方法是邊界值測試。即采用定義域或者等價區間的邊界值進行測試。因為程序員容易疏忽邊界情況,程序也“喜歡”在邊界值處出錯。例如測試平方根函數的一段程序。憑直覺輸入等價區間應是(0, 1)和(1, +∞)??扇=0。5以及x=2。0進行等價測試。再取 x=0以及x=1進行邊界值測試。
有一些復雜的程序,我們難以憑直覺與經驗找到等價區間和邊界值,這時枚舉測試就相當有難度。
原文轉自:http://www.anti-gravitydesign.com