當前位置:文書都 >

實用範文 >論文 >

小議軟件測試用例的設計論文

小議軟件測試用例的設計論文

白盒測試技術中測試用例的設計方法研究

小議軟件測試用例的設計論文

白盒測試方法的主要作用有:

(1)至少測試一次程序子模塊的所有獨立執行路徑;

(2)針對所有可能的邏輯判定,至少一次取“真”或“假”兩種情況;(3)在運行界限內和循環邊界處執行循環體;

(4)測試程序內部的數據結構的有效性。在實際的數據測試中,如果程序具有多種循環嵌套的情況,不同的執行路徑數目可能是天文數字,例如一個有5條路徑的嵌套20次循環的小程序,包含不同執行路徑條數為520次方,如果每一條路徑測試1ms,全年無休時要測試完所有路徑需要約3170年的時間。因此,我們必須採用一些替代辦法,典型的方法是有選擇的執行程序中某些最有代表性的通路。白盒測試的主要技術有:

1根據程序內部的邏輯結構設計測試用例的技術—邏輯覆蓋

(1)語句覆蓋,選擇足夠多的測試數據以使被測程序中每條語句都至少執行一次。語句覆蓋不考慮對程序的邏輯覆蓋,它主要關心表達式的結果,卻對每個條件取不同值的情況不做測試。因此,語句覆蓋是比較弱的邏輯覆蓋標準。在圖論中和語句覆蓋對應的是點覆蓋。

(2)判定覆蓋,又叫分支覆蓋,它首先滿足語句覆蓋的條件,同時對每個判定的每種可能的'結果都至少執行一次,即對每個分支都至少執行一次每個判定,判定覆蓋對程序的邏輯覆蓋程度也不高。在圖論中和判定覆蓋相對應的是邊覆蓋。

(3)條件覆蓋,指的是不僅每個語句至少執行一次,而且使判定表達式中的每個條件都取到各種可能的結果,條件覆蓋中可能不包含判定覆蓋。

(4)判定/條件覆蓋,指選取足夠多的測試數據,使得判定表達式中的每個條件都取到各種可能的值,每個判定表達式也取到各種可能的結果。

(5)條件組合覆蓋,要求選擇足夠多的測試數據,使得每個判定表達式中條件的各種可能組合都至少出現一次。條件組合覆蓋是邏輯覆蓋標準中最強的。

(6)路徑覆蓋,指的是選取足夠多的測試數據,使程序的每條可能路徑都至少執行一次。測試用例設計舉例1:如下圖1所示程序段流程,實現語句覆蓋需要設計的測試數據有:X=0,Y=3和X=-1,Y=2;實現條件覆蓋至少採用的測試數據有:X=0,Y=3和X=3,Y=1;實現判定覆蓋至少應用的測試數據有X=0,Y=3,X=1,Y=2和X=-1,Y=2。

2測試程序的控制結構,主要包括條件測試,循環測試和基本路徑測試。

其中基本路徑測試是由TomMcCabe提出的一種白盒測試技術,這種技術在設計測試用例時需要首先計算程序的環形複雜度,並用該複雜度為指南定義執行路徑的基本集合。在實際測試中,僅靠基本路徑測試還不能滿足要求,還需要結合條件測試技術來檢查程序模塊中包含的邏輯條件,還有循環測試來專門測試循環結構的有效性。

黑盒測試技術中的測試用例設計方法研究

黑盒測試主要用來測試軟件的功能特點,通過黑盒測試可以發現:(1)是否有遺漏了的功能或者不正確的功能;(2)能否有正確的接收輸入和正確的輸出結果,這主要針對接口而言;(3)是否有外部信息訪問錯誤或數據結構錯誤,同時,軟件運行時能否滿足性能上的要求;(4)軟件在初始化或者退出時有無錯誤等;使用黑盒測試同樣不可能將所有可能的輸入條件和輸出條件用於測試,因為測試用例的組合是天文數字。例如一個程序有兩個輸入量和一個輸出量,在32位計算機上運行,若X,Y取整數,按窮舉測試時需要232×232=264組,如果一組數據需要1ms,全年無休,需要5億年的時間。顯然,我們必須設計合理的方案來減少測試用例的數量。目前黑盒測試的主要測試用例設計技術有:

1等價類劃分

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

2邊界值分析

使用邊界值分析方法來設計測試用例時需要開發者具有一定的經驗和創造性,通常根據劃分的輸入等價類和輸出等價類的邊界來確定邊界值的結果,即選取剛剛等於、剛剛小於和剛剛大於邊界值的測試數據,而不是選擇等價類內部的數據作為測試用例。

3錯誤推測法

錯誤推測法主要依靠直覺和經驗,需要有一定開發大型軟件工程的經驗,其基本思想是通過列舉出程序中可能有的錯誤和容易發生錯誤的特殊情況,並根據這些情況來選擇測試方案。

小結

測試用例的設計方法並不是獨立使用的,而是經常會進行一些不同設計方案的組合,如黑盒測試中的等價類劃分和邊界分析方法可以結合使用,進步設計更加合理的測試用例,找出更多的軟件運行錯誤。

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/730238.html
專題