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