日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程白盒测试的流图怎么画_【2017年整理】软件工程白盒测试.doc

發(fā)布時(shí)間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程白盒测试的流图怎么画_【2017年整理】软件工程白盒测试.doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【2017年整理】軟件工程白盒測試

白盒測試

白盒測試以程序的結(jié)構(gòu)為依據(jù),所有又稱為結(jié)構(gòu)測試。早期的白盒測試把注意力放在流程圖的各個(gè)判定框,使用不同的邏輯覆蓋標(biāo)準(zhǔn)來表達(dá)對程序進(jìn)行測試的詳盡程度。隨著測試技術(shù)的發(fā)展,人們越來越重視對程序執(zhí)行路徑的考察,并且用程序圖代替流程圖來設(shè)計(jì)測試用例。為了區(qū)分這兩種白盒測試技術(shù),以下把前者稱為邏輯覆蓋測試,后者稱為路徑測試。

一、邏輯覆蓋測試

邏輯覆蓋測試法(Logic Coverage Testing)考察的重點(diǎn)是圖中的判定框(菱形框)。因?yàn)檫@些判定若不是與選擇結(jié)構(gòu)有關(guān),就是與循環(huán)結(jié)構(gòu)有關(guān),是決定程序結(jié)構(gòu)的關(guān)鍵成分。

按照對被測程序所作測試的有效程度,邏輯覆蓋測試可由弱到強(qiáng)區(qū)分為5種覆蓋標(biāo)準(zhǔn):

發(fā)現(xiàn)錯(cuò)誤的能力

強(qiáng)語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每一判定的每個(gè)分支至少執(zhí)行一次條件覆蓋每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次判定/條件覆蓋同時(shí)滿足判定覆蓋和條件覆蓋的要求條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次

舉例說明:

有一個(gè)程序段如下:

a

b F T c

d F T e

語句覆蓋:設(shè)計(jì)若干個(gè)測試用例,運(yùn)行被測程序,使得每一個(gè)可執(zhí)行語句至少執(zhí)行一次。例如在上圖所給出的例子中,正好所有的可執(zhí)行語句都在路徑L1(a->c->e)上,所以選擇路徑L1設(shè)計(jì)測試用例,就可以覆蓋所有的可執(zhí)行語句。

L1(a->c->e)

={(A>1) and (B=0) } and {(A=2) or (x/A>1)}

=(A=2) and (B=0) or {(A>1) and (B=0) and (x/A>1)}

測試用例可以設(shè)計(jì)為:【(2,0,4),(2,0,3)】覆蓋ace【L1】

從程序中每個(gè)可執(zhí)行語句都得到執(zhí)行這一點(diǎn)來看,語句覆蓋的方法似乎能夠比較全面的檢驗(yàn)每一個(gè)可執(zhí)行語句。但與后面介紹的其它覆蓋相比,語句覆蓋是最弱的邏輯覆蓋準(zhǔn)則。

判定覆蓋

所謂判定覆蓋就是設(shè)計(jì)若干個(gè)測試用例,運(yùn)行被測試程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。判定覆蓋又稱為分支覆蓋。如上例如果選擇路徑L1(a->c->e)和L2(a->b->d),可得滿足要求得測試用例:

L2(a->b->d)

={(A<=1) or (B≠0) } and {(A≠2) and (x<=1)}

=( A<=1) and (x<=1) or {( B≠0) and (A≠2) and (x<=1)}

測試用例可以設(shè)計(jì)為:

【(2,0,4),(2,0,3)】覆蓋ace【L1】

【(1,1,1),(1,1,1)】覆蓋abd【L2】

如果選取路徑L3(a->b->e)和L4(a->c->d)

L3(a->b->e)

={(A<=1) or (B≠0) } and {(A=2) or (x>1)}

={( A<=1) and (x>1)} or {( B≠0) and (A=2) } or {( B≠0) and (x>1)}

L4(a->c->d)

={(A>1) and (B=0) } and {(A≠2) and (x/A<=1)}

還可以得到另一組可用得測試用例:

【(2,1,1),(2,1,2)】覆蓋abe【L3】

【(3,0,3),(3,1,1)】覆蓋acd【L4】

所有測試用例得取法不唯一。注意有例外情況,例如,如果把上例中第二個(gè)判定中的條件x>1錯(cuò)寫成x<1,那么利用上面兩組測試用例,仍能得到同樣的結(jié)果。這表明,只是判定覆蓋,還不能保證一定能查出在判斷得條件中存在得錯(cuò)誤。因此還需要更強(qiáng)的邏輯覆蓋準(zhǔn)則檢驗(yàn)判斷內(nèi)部條件。

條件覆蓋

所謂條件覆蓋就是設(shè)計(jì)若干個(gè)測試用例,運(yùn)行被測程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。上例中,我們事先可對所有條件得取值加以標(biāo)記。例如:

對于第一個(gè)判斷:條件A>1取真值為T1,取假值為T1

條件B=1取真值為T2,取假值為T2

對于第二個(gè)判斷:條件A=2取真值為T3,取假值為T3

條件x>1取真值為T4,取假值為T4

則可選取測試用例如下:

測試用例 通過路徑 條件取值 覆蓋分支【(2,0,4),(2,0,3)】 ace(L1) T1 T2 T3 T4 c,e

【(1,0,1),(1,0,1)】

總結(jié)

以上是生活随笔為你收集整理的软件工程白盒测试的流图怎么画_【2017年整理】软件工程白盒测试.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。