小議軟件測試用例的設(shè)計論文
白盒測試技術(shù)中測試用例的設(shè)計方法研究
白盒測試方法的主要作用有:
。1)至少測試一次程序子模塊的所有獨(dú)立執(zhí)行路徑;
(2)針對所有可能的邏輯判定,至少一次取“真”或“假”兩種情況;(3)在運(yùn)行界限內(nèi)和循環(huán)邊界處執(zhí)行循環(huán)體;
。4)測試程序內(nèi)部的數(shù)據(jù)結(jié)構(gòu)的有效性。在實(shí)際的數(shù)據(jù)測試中,如果程序具有多種循環(huán)嵌套的情況,不同的執(zhí)行路徑數(shù)目可能是天文數(shù)字,例如一個有5條路徑的嵌套20次循環(huán)的小程序,包含不同執(zhí)行路徑條數(shù)為520次方,如果每一條路徑測試1ms,全年無休時要測試完所有路徑需要約3170年的時間。因此,我們必須采用一些替代辦法,典型的方法是有選擇的執(zhí)行程序中某些最有代表性的通路。白盒測試的主要技術(shù)有:
1根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)設(shè)計測試用例的技術(shù)—邏輯覆蓋
。1)語句覆蓋,選擇足夠多的測試數(shù)據(jù)以使被測程序中每條語句都至少執(zhí)行一次。語句覆蓋不考慮對程序的邏輯覆蓋,它主要關(guān)心表達(dá)式的結(jié)果,卻對每個條件取不同值的情況不做測試。因此,語句覆蓋是比較弱的邏輯覆蓋標(biāo)準(zhǔn)。在圖論中和語句覆蓋對應(yīng)的是點(diǎn)覆蓋。
。2)判定覆蓋,又叫分支覆蓋,它首先滿足語句覆蓋的條件,同時對每個判定的每種可能的結(jié)果都至少執(zhí)行一次,即對每個分支都至少執(zhí)行一次每個判定,判定覆蓋對程序的邏輯覆蓋程度也不高。在圖論中和判定覆蓋相對應(yīng)的是邊覆蓋。
。3)條件覆蓋,指的是不僅每個語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個條件都取到各種可能的結(jié)果,條件覆蓋中可能不包含判定覆蓋。
。4)判定/條件覆蓋,指選取足夠多的測試數(shù)據(jù),使得判定表達(dá)式中的每個條件都取到各種可能的值,每個判定表達(dá)式也取到各種可能的結(jié)果。
。5)條件組合覆蓋,要求選擇足夠多的測試數(shù)據(jù),使得每個判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。條件組合覆蓋是邏輯覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。
。6)路徑覆蓋,指的是選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。測試用例設(shè)計舉例1:如下圖1所示程序段流程,實(shí)現(xiàn)語句覆蓋需要設(shè)計的測試數(shù)據(jù)有:X=0,Y=3和X=-1,Y=2;實(shí)現(xiàn)條件覆蓋至少采用的測試數(shù)據(jù)有:X=0,Y=3和X=3,Y=1;實(shí)現(xiàn)判定覆蓋至少應(yīng)用的測試數(shù)據(jù)有X=0,Y=3,X=1,Y=2和X=-1,Y=2。
2測試程序的控制結(jié)構(gòu),主要包括條件測試,循環(huán)測試和基本路徑測試。
其中基本路徑測試是由TomMcCabe提出的一種白盒測試技術(shù),這種技術(shù)在設(shè)計測試用例時需要首先計算程序的環(huán)形復(fù)雜度,并用該復(fù)雜度為指南定義執(zhí)行路徑的基本集合。在實(shí)際測試中,僅靠基本路徑測試還不能滿足要求,還需要結(jié)合條件測試技術(shù)來檢查程序模塊中包含的邏輯條件,還有循環(huán)測試來專門測試循環(huán)結(jié)構(gòu)的有效性。
黑盒測試技術(shù)中的測試用例設(shè)計方法研究
黑盒測試主要用來測試軟件的功能特點(diǎn),通過黑盒測試可以發(fā)現(xiàn):(1)是否有遺漏了的功能或者不正確的功能;(2)能否有正確的接收輸入和正確的輸出結(jié)果,這主要針對接口而言;(3)是否有外部信息訪問錯誤或數(shù)據(jù)結(jié)構(gòu)錯誤,同時,軟件運(yùn)行時能否滿足性能上的要求;(4)軟件在初始化或者退出時有無錯誤等;使用黑盒測試同樣不可能將所有可能的.輸入條件和輸出條件用于測試,因?yàn)闇y試用例的組合是天文數(shù)字。例如一個程序有兩個輸入量和一個輸出量,在32位計算機(jī)上運(yùn)行,若X,Y取整數(shù),按窮舉測試時需要232×232=264組,如果一組數(shù)據(jù)需要1ms,全年無休,需要5億年的時間。顯然,我們必須設(shè)計合理的方案來減少測試用例的數(shù)量。目前黑盒測試的主要測試用例設(shè)計技術(shù)有:
1等價類劃分
等價類劃分是把程序的輸入域劃分成若干個數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例,因?yàn)閷τ谕活愔械臄?shù)據(jù)而言其作用是相同的[3]。等價類劃分可以分為有效等價類和無效等價類。有效等價類是指符合程序功能要求的數(shù)據(jù)類,該類中包含的都是有意義的數(shù)據(jù);而無效等價類指不能滿足程序正確運(yùn)行或者預(yù)期結(jié)果的數(shù)據(jù)類的集合。我們在設(shè)計測試用例時,要同時考慮有效等價類和無效等價類的設(shè)計方案。等價類的劃分有自己的原則。在具體使用等價類劃分設(shè)計測試用例時有兩個步驟:(1)設(shè)計一個新的測試方案以盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步驟直到所有有效等價類都被覆蓋為止;(2)設(shè)計一個新的測試方案,使它覆蓋一個而且只覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步驟直到所有無效等價類都被覆蓋為止。
2邊界值分析
使用邊界值分析方法來設(shè)計測試用例時需要開發(fā)者具有一定的經(jīng)驗(yàn)和創(chuàng)造性,通常根據(jù)劃分的輸入等價類和輸出等價類的邊界來確定邊界值的結(jié)果,即選取剛剛等于、剛剛小于和剛剛大于邊界值的測試數(shù)據(jù),而不是選擇等價類內(nèi)部的數(shù)據(jù)作為測試用例。
3錯誤推測法
錯誤推測法主要依靠直覺和經(jīng)驗(yàn),需要有一定開發(fā)大型軟件工程的經(jīng)驗(yàn),其基本思想是通過列舉出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,并根據(jù)這些情況來選擇測試方案。
小結(jié)
測試用例的設(shè)計方法并不是獨(dú)立使用的,而是經(jīng)常會進(jìn)行一些不同設(shè)計方案的組合,如黑盒測試中的等價類劃分和邊界分析方法可以結(jié)合使用,進(jìn)步設(shè)計更加合理的測試用例,找出更多的軟件運(yùn)行錯誤。
【小議軟件測試用例的設(shè)計論文】相關(guān)文章:
小議軟件人才的培養(yǎng)方式論文12-01
小議城市公共空間的設(shè)計論文11-16
小議景觀公園的空間設(shè)計論文11-16
小議網(wǎng)頁設(shè)計的視覺傳達(dá)論文11-12
小議公路勘察設(shè)計思路的論文11-12
小議高校教師的激勵設(shè)計的論文11-13
小議風(fēng)景園林的規(guī)劃與設(shè)計論文11-16
小議山地校園的景觀設(shè)計論文11-16