覆蓋率的概念:用來(lái)度量測(cè)試完整性的一個(gè)手段扎唾。覆蓋率是測(cè)試有效性的一個(gè)度量
覆蓋率 =(至少被執(zhí)行一次的item數(shù))/item總數(shù)
白盒覆蓋率:語(yǔ)句营密,判定澄步,條件冰蘑,路徑
灰盒覆蓋率:接口(函數(shù))
黑盒覆蓋率:功能,性能
面向?qū)ο蟮母采w率:
測(cè)試用例設(shè)計(jì)不能一味追求覆蓋率村缸,因?yàn)闇y(cè)試成本隨覆蓋率的增加而增加
白盒覆蓋率: 邏輯覆蓋率/代碼覆蓋率/結(jié)構(gòu)化覆蓋率
邏輯覆蓋率:
語(yǔ)句:在測(cè)試時(shí)運(yùn)行被測(cè)試程序后祠肥,程序中被執(zhí)行到的可執(zhí)行語(yǔ)句的比率
判定:在測(cè)試時(shí)運(yùn)行被測(cè)試程序后,程序中所有判定語(yǔ)句的取真分支和取假分支被執(zhí)行的比率
判定覆蓋率=(判定結(jié)果被評(píng)價(jià)的次數(shù))/(判定結(jié)果的總數(shù))
判定覆蓋率達(dá)到了100%也會(huì)有缺陷發(fā)現(xiàn)不了梯皿,覆蓋率只是度量的手段
條件:在測(cè)試時(shí)運(yùn)行被測(cè)程序后仇箱,所有判定語(yǔ)句中每個(gè)條件的可能取值 (真值和假值)出現(xiàn)過(guò)的比率
覆蓋了 條件的測(cè)試用例不一定覆蓋了分支
判定條件:設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷本身所有可能判斷結(jié)果至少執(zhí)行一次东羹。
判給定條件覆蓋率=(條件操作數(shù)值或判定結(jié)果至少被評(píng)價(jià)一次的數(shù)量)/(條件操作數(shù)值總數(shù)+判定結(jié)果總數(shù))
條件組合:設(shè)計(jì)足夠的測(cè)試用例剂桥,使的每個(gè)判定中的各種可能組合至少出現(xiàn)一次。
條件組合覆蓋率=(條件組合至少被評(píng)價(jià)一次的數(shù)量)/(條件組合總數(shù))
路徑:在測(cè)試時(shí)運(yùn)行被測(cè)程序后属提,程序種所有可能的路徑被執(zhí)行過(guò)的比率
每個(gè)覆蓋率度量的時(shí)侯都有局限性权逗,需要各個(gè)覆蓋率組合起來(lái)對(duì)測(cè)試進(jìn)行度量
函數(shù)覆蓋:通過(guò)一定的測(cè)試用例 使得系統(tǒng)的每一個(gè)函數(shù)被測(cè)試到美尸。
接口覆蓋:通過(guò)一定的測(cè)試用例 使得系統(tǒng)的每一個(gè)接口被測(cè)試到。
黑盒覆蓋率:功能覆蓋率/需求覆蓋=(被驗(yàn)證到的需求數(shù)量)/(總的需求數(shù)量)
功能覆蓋方面的自動(dòng)化工具比較少
面向?qū)ο蟮母采w率:繼承 斟薇,多態(tài)师坎,封裝