1 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個贊
軟件的測試方法很多,不同的出發(fā)點(diǎn)得到不同的測試方法。有:
?從測試過程來分:靜態(tài)分析法、動態(tài)測試法;
?從觀察結(jié)構(gòu)的透明性方式來分:白盒法、黑盒法、灰盒法;
?從獲得測試數(shù)據(jù)形式上分:窮盡法;等價類劃分法;邊界值分析法;
?從邏輯分析上分:因果圖法;錯誤推測法;
?從測試步驟上分:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試等;
?從考察形式上分:功能測試,邏輯測試;? ? ? ? ? ?如何測試得更完全、怎樣進(jìn)行測試用例的設(shè)計,是軟件測試中的關(guān)鍵技術(shù)。無論用哪種方法進(jìn)行測試,都是設(shè)法用較少的測試用例集合測試出程序中較多的潛在錯誤。
靜態(tài)分析時,不執(zhí)行程序,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流圖分析、符號執(zhí)行來分析軟件可能導(dǎo)致的異常情況,找出軟件錯誤。從測試過程來分:靜態(tài)分析法、動態(tài)測試法;
結(jié)構(gòu)檢查是手工分析技術(shù),對需求說明、程序設(shè)計、編碼、測試工作進(jìn)行評議,虛擬地(模擬)執(zhí)行程序,在評議中發(fā)現(xiàn)和檢查錯誤;
流圖分析是通過分析流程圖、代碼結(jié)構(gòu)來檢查程序錯誤,便于進(jìn)行編碼分析和測試結(jié)果分析;
符號執(zhí)行是定義符號化數(shù)據(jù),為程序的每條路徑給出符號表達(dá)式,對特定路徑輸入符號,經(jīng)處理輸出符號,判斷程序的行為是否錯誤,這種方法復(fù)雜,易出錯,較少使用。
灰盒法是白盒法和黑盒法相結(jié)合使用的方法,僅對重點(diǎn)路徑和程序段用白盒法測試,大部分用黑盒法進(jìn)行測試。
動態(tài)測試是直接執(zhí)行程序進(jìn)行測試,包括功能測試、接口測試和結(jié)構(gòu)測試,觀察程序的行為,記錄執(zhí)行的結(jié)果,從執(zhí)行結(jié)果來分析程序可能出現(xiàn)的錯誤;
有些人設(shè)想,不管使用那種測試方法,只要對每一種可能發(fā)生的情況都進(jìn)行測試,能正確通過,就可以得到完全正確的程序。
包含所有可能情況的測試稱為窮盡測試,實(shí)際上,通常不可能做到窮盡測試。因?yàn)楦鞣N輸入數(shù)據(jù)的排列組合情況往往多到無法實(shí)際測試完成的程度。如用黑盒法測試三個整數(shù)型的輸入數(shù)據(jù),如果每個整數(shù)是16位二進(jìn)制數(shù),則輸入數(shù)據(jù)有
216×216×216=248≈2.8×1014種排列組合。
如果每測試一次需要1毫秒,測試完畢這些排列組合的各種情況需要一萬年,另外還需測試不合法的輸入情況,實(shí)際上不可能窮盡所有組合情況。因此,一般的軟件測試是有限測試。
Alpha(α)測試:通用軟件產(chǎn)品為了征集用戶的意見,在開發(fā)者的場所,由用戶進(jìn)行的測試,記錄用戶發(fā)現(xiàn)的錯誤和問題。
Beta(β)測試:在一個或多個用戶自己的場所,由最終用戶進(jìn)行,并記錄在測試中遇到的所有問題和想法。
重要的通用軟件產(chǎn)品,大多經(jīng)過α和β測試。
添加回答
舉報