白盒測試用例設(shè)計技術(shù)可分為邏輯覆蓋和路徑覆蓋,邏輯覆蓋又可分為以下幾種,從弱到強(qiáng):
語句覆蓋(SC):設(shè)計足夠多的測試用例,確保每條語句都被執(zhí)行過。
判定覆蓋(DC):設(shè)計足夠多的測試用例,確保每個判定都分別取真值與假值。
條件覆蓋(CC):設(shè)計足夠多的測試用例,確保每個條件都分別取真值與假值。(一個判定里可能包含多個條件)
判定/條件覆蓋(DCC):設(shè)計足夠多的測試用例,確保每個判定和條件分別取真值和假值。
條件組合覆蓋(CMC):設(shè)計足夠多的測試用例,確保覆蓋每個判定中的各個條件的所有組合情況。(只考慮同一個判定內(nèi)的各條件組合情況)
路徑覆蓋:設(shè)計足夠多的測試用例,確保每條路徑都被執(zhí)行。如果程序復(fù)雜,比如包含循環(huán)的情況,路徑覆蓋的測試用例數(shù)將會是個天文數(shù)字,無法實(shí)現(xiàn)。可以采用簡化了的路徑覆蓋,即將循環(huán)看成是一個判定,只考慮循環(huán)被執(zhí)行和未執(zhí)行兩種情況。
白盒測試用例設(shè)計技術(shù)可分為邏輯覆蓋和路徑覆蓋,邏輯覆蓋又可分為以下幾種,從弱到強(qiáng):語句覆蓋(SC):設(shè)計足夠多的測試用例,確保每條語句都被執(zhí)行過。
判定覆蓋(DC):設(shè)計足夠多的測試用例,確保每個判定都分別取真值與假值。條件覆蓋(CC):設(shè)計足夠多的測試用例,確保每個條件都分別取真值與假值。
(一個判定里可能包含多個條件)判定/條件覆蓋(DCC):設(shè)計足夠多的測試用例,確保每個判定和條件分別取真值和假值。條件組合覆蓋(CMC):設(shè)計足夠多的測試用例,確保覆蓋每個判定中的各個條件的所有組合情況。
(只考慮同一個判定內(nèi)的各條件組合情況)路徑覆蓋:設(shè)計足夠多的測試用例,確保每條路徑都被執(zhí)行。如果程序復(fù)雜,比如包含循環(huán)的情況,路徑覆蓋的測試用例數(shù)將會是個天文數(shù)字,無法實(shí)現(xiàn)。
可以采用簡化了的路徑覆蓋,即將循環(huán)看成是一個判定,只考慮循環(huán)被執(zhí)行和未執(zhí)行兩種情況。
黑盒測試的測試方法有:等價類劃分、邊界值分析法、猜錯法、隨機(jī)數(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ī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。這一方法是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試,通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致
2. 黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試地,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和軟件功能進(jìn)行測試
3. 黑盒測試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進(jìn)行測試的。很明顯,如果外部特性本身有問題或規(guī)格說明的規(guī)定有誤,用墨盒測試方法是發(fā)現(xiàn)不了的
參考資料
CSDN博客.CSDN博客[引用時間2018-1-13]
白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,是針對被測單元內(nèi)部是如何進(jìn)行工作的測試。
它根據(jù)程序的控制結(jié)構(gòu)設(shè)計測試用例,主要用于軟件或程序驗(yàn)證。 白盒測試法檢查程序內(nèi)部邏輯結(jié)構(gòu),對所有邏輯路徑進(jìn)行測試,是一種窮舉路徑的測試方法。
但即使每條路徑都測試過了,仍然可能存在錯誤。因?yàn)椋?窮舉路徑測試無法檢查出程序本身是否違反了設(shè)計規(guī)范,即程序是否是一個錯誤的程序。
窮舉路徑測試不可能查出程序因?yàn)檫z漏路徑而出錯。 窮舉路徑測試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯誤。
采用白盒測試方法必須遵循以下幾條原則,才能達(dá)到測試的目的: 保證一個模塊中的所有獨(dú)立路徑至少被測試一次。 所有邏輯值均需測試真 (true) 和假 (false) 兩種情況。
檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),保證其結(jié)構(gòu)的有效性。 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。
白盒測試主要是檢查程序的內(nèi)部結(jié)構(gòu)、邏輯、循環(huán)和路徑。常用測試用例設(shè)計方法有: 邏輯覆蓋法(邏輯驅(qū)動測試) 基本路徑測試方法。
1、按是否查看程序內(nèi)部結(jié)構(gòu)分為:
(1)黑盒測試
(2)白盒測試
2、按是否運(yùn)行程序分為:
(1)靜態(tài)測試(static testing):
(2)動態(tài)測試
3、按階段劃分:
(1)單元測試
(2)集成測試
(3)系統(tǒng)測試
(4)驗(yàn)收測試
4、黑盒測試分為功能測試和性能測試:
5、其他測試類型:
回歸測試
冒煙測試
隨機(jī)測試
測試用例設(shè)計方法
(1)逐級細(xì)分法(2)輸入域測試法 (3)輸出域分析法 (4)正交試驗(yàn)設(shè)計法 (5) 業(yè)務(wù)流程分析法 (6)狀態(tài)遷移法 (7)因果圖法 (8)判定表法 (9)錯誤猜測法 (10)等價類劃分法 (11)邊界值分析法
1. 等價類劃分
常見的軟件測試面試題劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2. 邊界值分析法
邊界值分析方法是對等價類劃分方法的補(bǔ)充。測試工作經(jīng)驗(yàn)告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).
3. 錯誤推測法
基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等, 這些就是經(jīng)驗(yàn)的總結(jié)。還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況。輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況??蛇x擇這些情況下的例子作為測試用例.
4. 因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來考慮設(shè)計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時候,可能因?yàn)榇罅康膮?shù)的組合而引起測試用例數(shù)量上的激增,同時,這些測試用例并沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試,就可以通過正交表來進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場景分析方法
指根據(jù)用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執(zhí)行的深度和可行性更好。
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題
詳細(xì)的描述一個測試活動完整的過程。1. 項(xiàng)目經(jīng)理通過和客戶的交流,完成需求文檔,由開發(fā)人員和測試人員共同完成需求文檔的評審,評審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實(shí)現(xiàn)的功
白盒測試是一種測試用例設(shè)計方法。
在這里,盒子指的是被測試的軟件,白盒,顧名思義即盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。因此,白盒測試需要對系統(tǒng)內(nèi)部的結(jié)構(gòu)和工作原理有一個清楚的了解;并且基于這個知識來設(shè)計你的用例。
黑盒測試又叫功能測試,因?yàn)橹饕P(guān)注被測軟件的功能實(shí)現(xiàn),而不是內(nèi)部邏輯。 白盒測試只考慮測試軟件產(chǎn)品,它不保證完整的需求規(guī)格是否被滿足; 黑盒測試只考慮測試需求規(guī)格,它不保證實(shí)現(xiàn)的所有部分是否被測試到; 黑盒測試會發(fā)現(xiàn)遺漏的缺陷,指出規(guī)格的哪些部分沒有被完成; 白盒測試會發(fā)現(xiàn)代理方面缺陷,指出哪些實(shí)現(xiàn)部分是錯誤的.。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.424秒