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