程式設計基礎/軟體測試
軟體測試涉及執行軟體元件或系統元件以評估一個或多個感興趣的屬性。一般來說,這些屬性表明被測試的元件或系統在以下方面達到了什麼程度:[1]
- 滿足指導其設計和開發的要求
- 對各種輸入做出正確響應
- 在可接受的時間內執行其功能
- 具有足夠的可用性
- 可以在其預期環境中安裝和執行
- 實現利益相關者期望的總體結果
測試資料由使用者提供一些輸入值並預測輸出組成。對於簡單的程式來說,這可能很容易,並且測試資料可以重複使用兩次。
- 檢查模型以檢視它是否產生正確的結果(模型檢查)
- 檢查編碼後的程式以檢視它是否產生正確的結果(程式碼檢查)
測試資料是透過使用程式的演算法開發的。這種演算法通常在程式設計期間使用流程圖或虛擬碼進行記錄。以下是描述用於計算每小時工作的總工資的程式的輸入、處理和輸出的概要形式的虛擬碼。
使用 IPO 概要計算總工資的虛擬碼
Input
display a message asking user for their hours worked
get the hours from the keyboard
display a message asking user for their pay rate
get the rate from the keyboard
Processing
calculate the gross pay by:
multiplying the hours worked by the hourly rate
Output
display the gross pay on the monitor
pause so the user can see the answer
測試資料用於驗證輸入、處理和輸出是否正常工作。在最初開發測試資料時,它可以驗證記錄的演算法(在本例中是我們的虛擬碼)是否正確。它幫助我們理解甚至視覺化程式的輸入、處理和輸出。
輸入:本週我工作了 37.5 小時,我的時薪為 15.50 美元。我們應該驗證虛擬碼是否在向用戶索要此資料。
處理:使用我的太陽能手持計算器,我可以計算出我的總工資將是:37.5 * 15.50 或 581.25 美元。我們應該驗證虛擬碼是否執行了正確的計算。
輸出:僅顯示重要的資訊(總工資),供使用者檢視。我們應該驗證是否顯示了適當的資訊。
測試資料可以開發並用於測試在程式設計階段記錄的演算法(在本例中是我們的虛擬碼)。一旦程式用編譯器和連結器錯誤解決後,程式設計師就可以扮演使用者的角色,並應該使用開發的測試資料測試程式。當你執行你的程式時,你如何知道它是否正常工作?你是否正確地計劃了你的邏輯來完成你的目的?即使你的計劃是正確的,它是否正確地轉換為(編碼)到你選擇的程式語言中?所有這些問題的答案(或解決方案)都是我們的測試資料。
透過開發測試資料,我們預測了應該得到的結果,因此我們可以驗證我們的程式是否正常工作。當我們執行程式時,我們將輸入我們在測試資料中使用的輸入值。希望程式會輸出預測的值。如果沒有,那麼我們的問題可能是以下任何一種
- 計劃(IPO 概要或其他專案)可能錯誤
- 計劃轉換為程式碼可能錯誤
- 測試資料的計算結果錯誤
解決此類問題可能是程式設計師遇到的最困難的問題。您必須審查上述所有內容以確定錯誤在哪裡。修復錯誤並重新測試您的程式。
- 程式碼檢查
- 使用測試資料檢查用特定語言(如 C++)編碼的程式。
- 模型檢查
- 使用測試資料檢查設計模型(通常在虛擬碼中完成)。