白盒測試用例設計技術(shù)可分為邏輯覆蓋和路徑覆蓋,邏輯覆蓋又可分為以下幾種,從弱到強:
語(yǔ)句覆蓋(SC):設計足夠多的測試用例,確保每條語(yǔ)句都被執行過(guò)。
判定覆蓋(DC):設計足夠多的測試用例,確保每個(gè)判定都分別取真值與假值。
條件覆蓋(CC):設計足夠多的測試用例,確保每個(gè)條件都分別取真值與假值。(一個(gè)判定里可能包含多個(gè)條件)
判定/條件覆蓋(DCC):設計足夠多的測試用例,確保每個(gè)判定和條件分別取真值和假值。
條件組合覆蓋(CMC):設計足夠多的測試用例,確保覆蓋每個(gè)判定中的各個(gè)條件的所有組合情況。(只考慮同一個(gè)判定內的各條件組合情況)
路徑覆蓋:設計足夠多的測試用例,確保每條路徑都被執行。如果程序復雜,比如包含循環(huán)的情況,路徑覆蓋的測試用例數將會(huì )是個(gè)天文數字,無(wú)法實(shí)現。可以采用簡(jiǎn)化了的路徑覆蓋,即將循環(huán)看成是一個(gè)判定,只考慮循環(huán)被執行和未執行兩種情況。
白盒測試用例設計技術(shù)可分為邏輯覆蓋和路徑覆蓋,邏輯覆蓋又可分為以下幾種,從弱到強:語(yǔ)句覆蓋(SC):設計足夠多的測試用例,確保每條語(yǔ)句都被執行過(guò)。
判定覆蓋(DC):設計足夠多的測試用例,確保每個(gè)判定都分別取真值與假值。條件覆蓋(CC):設計足夠多的測試用例,確保每個(gè)條件都分別取真值與假值。
(一個(gè)判定里可能包含多個(gè)條件)判定/條件覆蓋(DCC):設計足夠多的測試用例,確保每個(gè)判定和條件分別取真值和假值。條件組合覆蓋(CMC):設計足夠多的測試用例,確保覆蓋每個(gè)判定中的各個(gè)條件的所有組合情況。
(只考慮同一個(gè)判定內的各條件組合情況)路徑覆蓋:設計足夠多的測試用例,確保每條路徑都被執行。如果程序復雜,比如包含循環(huán)的情況,路徑覆蓋的測試用例數將會(huì )是個(gè)天文數字,無(wú)法實(shí)現。
可以采用簡(jiǎn)化了的路徑覆蓋,即將循環(huán)看成是一個(gè)判定,只考慮循環(huán)被執行和未執行兩種情況。
1. 等價(jià)類(lèi)劃分
常見(jiàn)的軟件測試面試題劃分等價(jià)類(lèi): 等價(jià)類(lèi)是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價(jià)類(lèi)的代表值就等于對這一類(lèi)其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi).
2. 邊界值分析法
邊界值分析方法是對等價(jià)類(lèi)劃分方法的補充。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價(jià)類(lèi)的邊界,就是應著(zhù)重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價(jià)類(lèi)中的典型值或任意值作為測試數據.
3. 錯誤推測法
基于經(jīng)驗和直覺(jué)推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時(shí)曾列出的許多在模塊中常見(jiàn)的錯誤. 以前產(chǎn)品測試中曾經(jīng)發(fā)現的錯誤等, 這些就是經(jīng)驗的總結。還有, 輸入數據和輸出數據為0的情況。輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況。可選擇這些情況下的例子作為測試用例.
4. 因果圖方法
前面介紹的等價(jià)類(lèi)劃分方法和邊界值分析方法,都是著(zhù)重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì )產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類(lèi),他們之間的組合情況也相當多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時(shí)候,可能因為大量的參數的組合而引起測試用例數量上的激增,同時(shí),這些測試用例并沒(méi)有明顯的優(yōu)先級上的差距,而測試人員又無(wú)法完成這么多數量的測試,就可以通過(guò)正交表來(lái)進(jìn)行縮減一些用例,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場(chǎng)景分析方法
指根據用戶(hù)場(chǎng)景來(lái)模擬用戶(hù)的操作步驟,這個(gè)比較類(lèi)似因果圖,但是可能執行的深度和可行性更好。
白盒測試用例設計的關(guān)鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果
黑盒法用例設計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時(shí)間內發(fā)現最多的問(wèn)題
詳細的描述一個(gè)測試活動(dòng)完整的過(guò)程。1. 項目經(jīng)理通過(guò)和客戶(hù)的交流,完成需求文檔,由開(kāi)發(fā)人員和測試人員共同完成需求文檔的評審,評審的內容包括:需求描述不清楚的地方和可能有明顯沖突或者無(wú)法實(shí)現的功
原發(fā)布者:木易子午
常見(jiàn)的測試用例設計方法都有哪些?請分別以具體的例子來(lái)說(shuō)明這些方法在測試用例設計工作中的應用。 1.等價(jià)類(lèi)劃分 常見(jiàn)的軟件測試面試題劃分等價(jià)類(lèi):等價(jià)類(lèi)是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價(jià)類(lèi)的代表值就等于對這一類(lèi)其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi). 2.邊界值分析法 邊界值分析方法是對等價(jià)類(lèi)劃分方法的補充。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤. 使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價(jià)類(lèi)的邊界,就是應著(zhù)重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價(jià)類(lèi)中的典型值或任意值作為測試數據. 3.錯誤推測法基于經(jīng)驗和直覺(jué)推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法.錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據他們選擇測試用例.例如,在單元測試時(shí)曾列出的許多在模塊中常見(jiàn)的錯誤.以前產(chǎn)品測試中曾經(jīng)發(fā)現的錯誤等,這些就是經(jīng)驗的總結。還有,
白盒測試也稱(chēng)結構測試或邏輯驅動(dòng)測試,是針對被測單元內部是如何進(jìn)行工作的測試。
它根據程序的控制結構設計測試用例,主要用于軟件或程序驗證。 白盒測試法檢查程序內部邏輯結構,對所有邏輯路徑進(jìn)行測試,是一種窮舉路徑的測試方法。
但即使每條路徑都測試過(guò)了,仍然可能存在錯誤。因為: 窮舉路徑測試無(wú)法檢查出程序本身是否違反了設計規范,即程序是否是一個(gè)錯誤的程序。
窮舉路徑測試不可能查出程序因為遺漏路徑而出錯。 窮舉路徑測試發(fā)現不了一些與數據相關(guān)的錯誤。
采用白盒測試方法必須遵循以下幾條原則,才能達到測試的目的: 保證一個(gè)模塊中的所有獨立路徑至少被測試一次。 所有邏輯值均需測試真 (true) 和假 (false) 兩種情況。
檢查程序的內部數據結構,保證其結構的有效性。 在上下邊界及可操作范圍內運行所有循環(huán)。
白盒測試主要是檢查程序的內部結構、邏輯、循環(huán)和路徑。常用測試用例設計方法有: 邏輯覆蓋法(邏輯驅動(dòng)測試) 基本路徑測試方法。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.200秒