軟體測試基礎

千鋒教育官方發表於2019-09-17

什麼是bug?

Fault, Error & Failure

Faullt:靜態存在於軟體中的缺陷;

Error:執行過程中,執行到Fault時觸發一個錯誤的中間狀態

Failure:失效,Error一直傳播到軟體的外面,使得測試人員或使用者能觀測到的失效行為;


測試用例test case:

包括測試輸入(測試資料)、測試輸出(測試預言)及其他(測試環境);


測試test與除錯debug:

測試是通過執行軟體,觀察是否失效,目的是發現bug;

除錯是通過定位、理解並修復fault,目的是修復bug;


確認validation和驗證verification:

確認是確認最終實現是否與規格文件一致;

驗證是確認規格文件是否是使用者所需要的;

注意:測試包括確認和驗證;


靜態測試static test與動態測試dynamic test:

靜態測試是不執行程式;

動態測試是執行程式;


黑盒測試black-box test和白盒測試white-box test:

黑盒測試是不瞭解內部原始碼;

白盒測試是瞭解內部原始碼的邏輯結構;

灰盒測試不是黑盒測試加上白盒測試;


測試層次:

單元測試:最基本、最小級別的測試,通常測試一個函式或方法;

模組測試:

整合測試:模組級別的組合

系統測試:


測試過程:


獲取測試製品(程式碼或需求)後,通過分析獲取某種結構,由此派生測試需求;也可直接從軟體製品中派生測試需求;

測試需求規格化,再產生測試輸入;測試輸入封裝成完整的測試用例;為使測試用例自動化執行,將其轉變為測試指令碼;

在特定的執行框架下執行,獲取測試結果;最終的測試結果反饋到測試需求,提高測試過程;


相關文章