一般可分為:靜態(tài)分析和動態(tài)分析兩種技術(shù)。
白盒測試技術(shù)一般可分為:靜態(tài)分析和動態(tài)分析兩種技術(shù);
靜態(tài)分析:
1、檢查程序內(nèi)部的完整性和一致性。
2、考慮預(yù)定義規(guī)則。
3、把程序和其相應(yīng)的規(guī)格或文檔進行比較。
靜態(tài)分析主要包含手工的“檢視”和“走讀”,靜態(tài)分析不需要軟件的執(zhí)行。
動態(tài)分析是需要執(zhí)行系統(tǒng)的測試方式,主要包括:“測試覆蓋率分析”、“跟蹤”、“調(diào)整”和“模擬和斷言檢查”。
黑盒測試的測試方法有:等價類劃分、邊界值分析法、猜錯法、隨機數(shù)法、因果圖
白盒測試的測試方法有:代碼檢查法、程序變異、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、符號測試法、邏輯覆蓋法、域測試、Z路徑覆蓋和基本路徑測試法
還可以參照以下網(wǎng)址
1. 白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。這一方法是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致
2. 黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試地,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和軟件功能進行測試
3. 黑盒測試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進行測試的。很明顯,如果外部特性本身有問題或規(guī)格說明的規(guī)定有誤,用墨盒測試方法是發(fā)現(xiàn)不了的
參考資料
CSDN博客.CSDN博客[引用時間2018-1-13]
白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,是針對被測單元內(nèi)部是如何進行工作的測試。
它根據(jù)程序的控制結(jié)構(gòu)設(shè)計測試用例,主要用于軟件或程序驗證。 白盒測試法檢查程序內(nèi)部邏輯結(jié)構(gòu),對所有邏輯路徑進行測試,是一種窮舉路徑的測試方法。
但即使每條路徑都測試過了,仍然可能存在錯誤。因為: 窮舉路徑測試無法檢查出程序本身是否違反了設(shè)計規(guī)范,即程序是否是一個錯誤的程序。
窮舉路徑測試不可能查出程序因為遺漏路徑而出錯。 窮舉路徑測試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯誤。
采用白盒測試方法必須遵循以下幾條原則,才能達到測試的目的: 保證一個模塊中的所有獨立路徑至少被測試一次。 所有邏輯值均需測試真 (true) 和假 (false) 兩種情況。
檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),保證其結(jié)構(gòu)的有效性。 在上下邊界及可操作范圍內(nèi)運行所有循環(huán)。
白盒測試主要是檢查程序的內(nèi)部結(jié)構(gòu)、邏輯、循環(huán)和路徑。常用測試用例設(shè)計方法有: 邏輯覆蓋法(邏輯驅(qū)動測試) 基本路徑測試方法。
白盒測試的測試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、Z路徑覆蓋、程序變異。
白盒測試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
六種覆蓋標(biāo)準(zhǔn):語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發(fā)現(xiàn)錯誤的能力呈由弱至強的變化。語句覆蓋每條語句至少執(zhí)行一次。
判定覆蓋每個判定的每個分支至少執(zhí)行一次。條件覆蓋每個判定的每個條件應(yīng)取到各種可能的值。
判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。條件組合覆蓋每個判定中各條件的每一種組合至少出現(xiàn)一次。
路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。
白盒測試技術(shù)中的邏輯覆蓋
一個或者多個條件組成一個判定,一個程序中可以有多個判定。
首要的是建立一個二維的真值表,各列為判定和條件,各行為每組值的T或者F。
1、語句覆蓋
為了暴露程序中的錯誤,至少每個語句應(yīng)該執(zhí)行一次。
這也是最弱的邏輯覆蓋標(biāo)準(zhǔn)咯。
2、判定覆蓋
每個判定的每種可能結(jié)果都要執(zhí)行一次。
建立判定表以后,要保證每種判定的結(jié)果中都包含了T和F,才滿足判定覆蓋。
3、條件覆蓋
不但每個語句需要執(zhí)行一次,而且判定表達式中的每個條件都要取到可能的結(jié)果。
建立判定表以后,要保證每種條件的結(jié)果中都包含了T和F,才滿足條件覆蓋。
4、判定/條件覆蓋
使得每個判定以及每個判定中的每個條件都取到可能的結(jié)果。
建立判定表以后,要保證每個判定結(jié)果包含T和F,而且每種條件的結(jié)果包含T和F。
也就是綜合了上面的條件覆蓋和判定覆蓋。
5、條件組合覆蓋
使得每個判定中的條件的各種組合至少出現(xiàn)一次。
也就是說,先把程序中的條件列出來,排列組合,寫出所有的可能性,看有沒有那組值同時滿足這些排列組合。
6、路徑覆蓋
每條可能的路徑都至少執(zhí)行一次。
白盒測試是一種測試用例設(shè)計方法。
在這里,盒子指的是被測試的軟件,白盒,顧名思義即盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運作的。因此,白盒測試需要對系統(tǒng)內(nèi)部的結(jié)構(gòu)和工作原理有一個清楚的了解;并且基于這個知識來設(shè)計你的用例。
黑盒測試又叫功能測試,因為主要關(guān)注被測軟件的功能實現(xiàn),而不是內(nèi)部邏輯。 白盒測試只考慮測試軟件產(chǎn)品,它不保證完整的需求規(guī)格是否被滿足; 黑盒測試只考慮測試需求規(guī)格,它不保證實現(xiàn)的所有部分是否被測試到; 黑盒測試會發(fā)現(xiàn)遺漏的缺陷,指出規(guī)格的哪些部分沒有被完成; 白盒測試會發(fā)現(xiàn)代理方面缺陷,指出哪些實現(xiàn)部分是錯誤的.。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.457秒