系統解決問題的方法:測試
建立完解決方案後,我們需要測試整個系統是否有效。這個過程應該很簡單,因為我們只需要將最終產品與我們在分析階段設定的目標進行比較。有幾種方法可以測試系統,你需要了解所有方法以及可能使用的各種資料型別。
在專案早期階段,你應該考慮如何測試系統以確保其正常執行。你需要了解並能夠區分三種主要的測試方法。

將程式原始碼視為一個黑盒子,你無法訪問它,也不必瞭解它的工作原理。你只需輸入資料,並測試輸出是否符合預期。內部工作機制是未知的,它們在一個黑盒子裡。黑盒測試的例子是,如果你為一款新的遊戲主機遊戲擔任遊戲測試員。你不會參與系統的設計或編碼,你所要做的只是輸入命令,檢視是否能輸出想要的結果。

在白盒測試中,你瞭解構成程式的編碼結構。你進行的所有測試都將執行程式中的不同路徑,檢查是否輸出了正確的結果。
幹執行是在計算機程式設計師腦中進行的計算機程式執行,程式設計師逐行檢查原始碼,並確定執行時程式會做什麼。在理論計算機科學中,幹執行是在腦中對演算法(有時用偽程式碼表示)進行執行,計算機科學家逐行檢查演算法的步驟。在這兩種情況下,幹執行通常藉助於跟蹤表。既然我們在這裡,不妨多練習一下
|
練習:幹執行測試 完成以下程式碼的跟蹤表 var a <- 5
var b <- 4
var count <- 0
while count < b
a <- a + a
count <- count + 1
end while
答案
完成以下程式碼的跟蹤表 array nums() <- {4,2,5,2,1}
var z <- 4
var high <- nums(0)
while z > 0
if high < nums(z)
high <- nums(z)
end if
z <- z - 1
end while
答案
|
| 方法 | 原始碼可用性 | 標題文字 |
|---|---|---|
| 黑盒 | 否 | 示例 |
| 白盒 | 可能(需要理解) | 示例 |
| 幹執行 | 是 | 示例 |
|
練習:測試方法 為以下每個場景命名合適的測試方法
答案 黑盒測試,因為你無法訪問程式的內部工作機制
答案 幹執行測試,因為你能夠訪問原始碼,這將幫助你找到有問題的程式設計行 對以下演算法進行幹執行測試 |
我們可以使用三種類型的測試資料。它們是什麼?答案主要在於它們的名稱,讓我們看一下這個例子,有人建立了一箇中學註冊系統,允許學生自行註冊。我們不想讓年齡過小的學生入學,也不想讓年齡過大的學生入學。事實上,我們希望招收 11-16 歲的學生。
- 一個典型的學生將是 12、13、14 或 15 歲。
- 一個錯誤(或錯誤)年齡的學生將是 45 歲、6 歲或任何不在允許範圍內的年齡。
- 一個極端(或邊界)年齡的學生剛入學或即將畢業,他們將是 11 歲或 16 歲。
如果你正在測試包含典型、錯誤和極端資料的資料,請展示這三種資料的測試。有些測試可能只包含典型和錯誤資料,例如,輸入正確密碼可能只包含典型值和錯誤值。有些事情可能只包含典型測試,例如,一個指向下一頁的按鈕是否起作用,或一個計算是否正確。
|
示例:電子工藝測試資料 想象以下目標被設定 一名球員在一場比賽中獲得的黃牌數量不能超過 2 張 比賽的加時時間不能超過 15 分鐘 球隊的名稱不能超過 20 個字元 |
|
練習:測試資料 列出以下內容的典型、錯誤和極端資料
答案 Typical : 5,16,18 錯誤:21、-7
答案 Typical : 28,56,32 錯誤:16、86
答案 Typical : GH24 錯誤:G678
答案 Typical : 12/07/1987 錯誤:1987 年 9 月 31 日、1987 年 2 月 31 日
答案 典型:棕色、紅色、黑色
答案 Typical : 28 錯誤:n/a
答案 典型:24、500
答案 典型:23 日、16 日 |