公務(wù)員期刊網(wǎng) 論文中心 正文

小議軟件測(cè)試用例的設(shè)計(jì)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了小議軟件測(cè)試用例的設(shè)計(jì)范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

小議軟件測(cè)試用例的設(shè)計(jì)

白盒測(cè)試技術(shù)中測(cè)試用例的設(shè)計(jì)方法研究

白盒測(cè)試方法的主要作用有:(1)至少測(cè)試一次程序子模塊的所有獨(dú)立執(zhí)行路徑;(2)針對(duì)所有可能的邏輯判定,至少一次取“真”或“假”兩種情況;(3)在運(yùn)行界限內(nèi)和循環(huán)邊界處執(zhí)行循環(huán)體;(4)測(cè)試程序內(nèi)部的數(shù)據(jù)結(jié)構(gòu)的有效性。在實(shí)際的數(shù)據(jù)測(cè)試中,如果程序具有多種循環(huán)嵌套的情況,不同的執(zhí)行路徑數(shù)目可能是天文數(shù)字,例如一個(gè)有5條路徑的嵌套20次循環(huán)的小程序,包含不同執(zhí)行路徑條數(shù)為520次方,如果每一條路徑測(cè)試1ms,全年無休時(shí)要測(cè)試完所有路徑需要約3170年的時(shí)間。因此,我們必須采用一些替代辦法,典型的方法是有選擇的執(zhí)行程序中某些最有代表性的通路。白盒測(cè)試的主要技術(shù)有:

1根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用例的技術(shù)—邏輯覆蓋

(1)語句覆蓋,選擇足夠多的測(cè)試數(shù)據(jù)以使被測(cè)程序中每條語句都至少執(zhí)行一次。語句覆蓋不考慮對(duì)程序的邏輯覆蓋,它主要關(guān)心表達(dá)式的結(jié)果,卻對(duì)每個(gè)條件取不同值的情況不做測(cè)試。因此,語句覆蓋是比較弱的邏輯覆蓋標(biāo)準(zhǔn)。在圖論中和語句覆蓋對(duì)應(yīng)的是點(diǎn)覆蓋。(2)判定覆蓋,又叫分支覆蓋,它首先滿足語句覆蓋的條件,同時(shí)對(duì)每個(gè)判定的每種可能的結(jié)果都至少執(zhí)行一次,即對(duì)每個(gè)分支都至少執(zhí)行一次每個(gè)判定,判定覆蓋對(duì)程序的邏輯覆蓋程度也不高。在圖論中和判定覆蓋相對(duì)應(yīng)的是邊覆蓋。(3)條件覆蓋,指的是不僅每個(gè)語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果,條件覆蓋中可能不包含判定覆蓋。(4)判定/條件覆蓋,指選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,每個(gè)判定表達(dá)式也取到各種可能的結(jié)果。(5)條件組合覆蓋,要求選擇足夠多的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。條件組合覆蓋是邏輯覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。(6)路徑覆蓋,指的是選取足夠多的測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。測(cè)試用例設(shè)計(jì)舉例1:如下圖1所示程序段流程,實(shí)現(xiàn)語句覆蓋需要設(shè)計(jì)的測(cè)試數(shù)據(jù)有:X=0,Y=3和X=-1,Y=2;實(shí)現(xiàn)條件覆蓋至少采用的測(cè)試數(shù)據(jù)有:X=0,Y=3和X=3,Y=1;實(shí)現(xiàn)判定覆蓋至少應(yīng)用的測(cè)試數(shù)據(jù)有X=0,Y=3,X=1,Y=2和X=-1,Y=2。

2測(cè)試程序的控制結(jié)構(gòu),主要包括條件測(cè)試,循環(huán)測(cè)試和基本路徑測(cè)試。其中基本路徑測(cè)試是由TomMcCabe提出的一種白盒測(cè)試技術(shù),這種技術(shù)在設(shè)計(jì)測(cè)試用例時(shí)需要首先計(jì)算程序的環(huán)形復(fù)雜度,并用該復(fù)雜度為指南定義執(zhí)行路徑的基本集合。在實(shí)際測(cè)試中,僅靠基本路徑測(cè)試還不能滿足要求,還需要結(jié)合條件測(cè)試技術(shù)來檢查程序模塊中包含的邏輯條件,還有循環(huán)測(cè)試來專門測(cè)試循環(huán)結(jié)構(gòu)的有效性。

黑盒測(cè)試技術(shù)中的測(cè)試用例設(shè)計(jì)方法研究

黑盒測(cè)試主要用來測(cè)試軟件的功能特點(diǎn),通過黑盒測(cè)試可以發(fā)現(xiàn):(1)是否有遺漏了的功能或者不正確的功能;(2)能否有正確的接收輸入和正確的輸出結(jié)果,這主要針對(duì)接口而言;(3)是否有外部信息訪問錯(cuò)誤或數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤,同時(shí),軟件運(yùn)行時(shí)能否滿足性能上的要求;(4)軟件在初始化或者退出時(shí)有無錯(cuò)誤等;使用黑盒測(cè)試同樣不可能將所有可能的輸入條件和輸出條件用于測(cè)試,因?yàn)?a href="http://www.articshipping.com/lunwen/rjgclw/29912.html" target="_blank">測(cè)試用例的組合是天文數(shù)字。例如一個(gè)程序有兩個(gè)輸入量和一個(gè)輸出量,在32位計(jì)算機(jī)上運(yùn)行,若X,Y取整數(shù),按窮舉測(cè)試時(shí)需要232×232=264組,如果一組數(shù)據(jù)需要1ms,全年無休,需要5億年的時(shí)間。顯然,我們必須設(shè)計(jì)合理的方案來減少測(cè)試用例的數(shù)量。目前黑盒測(cè)試的主要測(cè)試用例設(shè)計(jì)技術(shù)有:

1等價(jià)類劃分

等價(jià)類劃分是把程序的輸入域劃分成若干個(gè)數(shù)據(jù)類,據(jù)此導(dǎo)出測(cè)試用例,因?yàn)閷?duì)于同一類中的數(shù)據(jù)而言其作用是相同的[3]。等價(jià)類劃分可以分為有效等價(jià)類和無效等價(jià)類。有效等價(jià)類是指符合程序功能要求的數(shù)據(jù)類,該類中包含的都是有意義的數(shù)據(jù);而無效等價(jià)類指不能滿足程序正確運(yùn)行或者預(yù)期結(jié)果的數(shù)據(jù)類的集合。我們?cè)谠O(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮有效等價(jià)類和無效等價(jià)類的設(shè)計(jì)方案。等價(jià)類的劃分有自己的原則。在具體使用等價(jià)類劃分設(shè)計(jì)測(cè)試用例時(shí)有兩個(gè)步驟:(1)設(shè)計(jì)一個(gè)新的測(cè)試方案以盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步驟直到所有有效等價(jià)類都被覆蓋為止;(2)設(shè)計(jì)一個(gè)新的測(cè)試方案,使它覆蓋一個(gè)而且只覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步驟直到所有無效等價(jià)類都被覆蓋為止。

2邊界值分析

使用邊界值分析方法來設(shè)計(jì)測(cè)試用例時(shí)需要開發(fā)者具有一定的經(jīng)驗(yàn)和創(chuàng)造性,通常根據(jù)劃分的輸入等價(jià)類和輸出等價(jià)類的邊界來確定邊界值的結(jié)果,即選取剛剛等于、剛剛小于和剛剛大于邊界值的測(cè)試數(shù)據(jù),而不是選擇等價(jià)類內(nèi)部的數(shù)據(jù)作為測(cè)試用例。

3錯(cuò)誤推測(cè)法

錯(cuò)誤推測(cè)法主要依靠直覺和經(jīng)驗(yàn),需要有一定開發(fā)大型軟件工程的經(jīng)驗(yàn),其基本思想是通過列舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并根據(jù)這些情況來選擇測(cè)試方案。

小結(jié)

測(cè)試用例的設(shè)計(jì)方法并不是獨(dú)立使用的,而是經(jīng)常會(huì)進(jìn)行一些不同設(shè)計(jì)方案的組合,如黑盒測(cè)試中的等價(jià)類劃分和邊界分析方法可以結(jié)合使用,進(jìn)步設(shè)計(jì)更加合理的測(cè)試用例,找出更多的軟件運(yùn)行錯(cuò)誤。(本文作者:張炯 單位:中國電信股份有限公司上海分公司)