軟件測試技術(shù)
軟件測試主要工作內(nèi)容是驗證(verification)和確認(rèn)(validation ),下面分別給出其概念:
驗證(verification)是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動,即保證軟件做了你所期望的事情。(Do the right thing)
1.確定軟件生存周期中的一個給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程;
2.程序正確性的形式證明,即采用形式理論證明程序符號設(shè)計規(guī)約規(guī)定的過程;
3.評市、審查、測試、檢查、審計等各類活動,或?qū)δ承╉椞幚怼⒎?wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報告。
確認(rèn)(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Do it right)
1.靜態(tài)確認(rèn),不在計算機(jī)上實際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;
2.動態(tài)確認(rèn),通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題。
軟件測試的對象不僅僅是程序測試,軟件測試應(yīng)該包括整個軟件開發(fā)期問各個階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計文檔、詳細(xì)設(shè)計文檔,當(dāng)然軟件測試的主要對象還是源程序。