軟件測試是使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結(jié)果與實際結(jié)果之間的差別。
從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度劃分,測試方法主要有白盒測試和黑盒測試。白盒測試方法主要有代碼檢査法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。黑盒測試方法主要包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅(qū)動法、正交試驗設計法、功能圖法、場景法等。
從是否執(zhí)行程序的角度劃分,測試方法又可分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試包括代碼檢査、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。動態(tài)測試由3部分組成:構(gòu)造測試實例、執(zhí)行程序和分析程序的輸出結(jié)果。