軟件測試白盒黑盒測試第2章(1)教材_第1頁
軟件測試白盒黑盒測試第2章(1)教材_第2頁
軟件測試白盒黑盒測試第2章(1)教材_第3頁
軟件測試白盒黑盒測試第2章(1)教材_第4頁
軟件測試白盒黑盒測試第2章(1)教材_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第二章第二章 軟件測試基礎(chǔ)軟件測試基礎(chǔ) 本章要點本章要點 白盒測試和黑盒測試的定義; 常見的白盒和黑盒測試設(shè)計技術(shù); 白盒測試與黑盒測試的區(qū)別; 測試計劃和測試報告的編制; 測試用例的定義和編制方法。 本章目標本章目標 u理解并掌握白盒測試和黑盒測試,以及二者的優(yōu)缺點和各自的應(yīng)用范圍;u能夠熟練使用幾種常見測試用例設(shè)計技術(shù);u了解測試計劃和測試文檔的作用,以及應(yīng)該包含的內(nèi)容和制定方法;u了解測試報告的基本內(nèi)容,以及測試用例的基本內(nèi)容和編制方法。 2.12.1用于測試的離散數(shù)學(xué)和圖論基礎(chǔ)用于測試的離散數(shù)學(xué)和圖論基礎(chǔ) 一般而言,在功能性測試中,通常要用到離散數(shù)學(xué)知識,而在結(jié)構(gòu)性測試領(lǐng)域中,則要用到

2、一些關(guān)于圖論的知識。 2.1.1 2.1.1集合論集合論 集合論可分為:自然和不言自明兩種。自然的集合論把集合看作是基本術(shù)語,我們把集合看作一個單位,或一個整體引用多個事物。 集合的表示法有以下兩種: 1、將集合所有元素一一列出的表示法叫做“枚舉法”,但有時也可以只列出一部分元素。 M1=1月,2月,3月,4月 2、用一個集合所具有的共同性質(zhì)來刻畫這個集合。 N=t:t是等邊三角形 集合的劃分: 劃分的含義就是將一個整體分成小塊,使得所有事物都在某個小塊中,不會遺漏。劃分的定義: 給定集合B,以及B的一組子集A1,A2,A3,An,這些子集是B的一個劃分,當(dāng)且僅當(dāng)A1A2 An=B, 且 ij

3、=AiAj= 劃分的概念對于測試人員非常重要,在測試中往往一方面要保證B的所有元素都在某個子集中,另一方面要保證任意一個元素都不會同時出現(xiàn)在兩個子集中。 有效的劃分可以保證功能測試時的完備性與無冗余性。防止有些內(nèi)容沒有被測試,而另一些內(nèi)容被測試多遍的情況。 功能性測試的主要困難之一,就是難以找到合適的劃分。 2.1.22.1.2函數(shù)函數(shù) 在數(shù)學(xué)領(lǐng)域函數(shù)是一種關(guān)系,這種關(guān)系使集合里的每一個元素對應(yīng)到另一個集合里的唯一元素。函數(shù)是軟件測試的核心概念,所有功能性測試的基礎(chǔ)都是函數(shù)。 函數(shù)是將唯一的輸出值賦予每一輸入的“法則”。函數(shù)最重要的性質(zhì)是其決定性,同一輸入總對應(yīng)同一輸出(反之未必成立)??梢詫?/p>

4、函數(shù)理解成“機器”或者“黑盒”。 2.1.3 2.1.3關(guān)系關(guān)系 通俗的講,關(guān)系就是客觀世界一定范圍的對象之間的某種特定聯(lián)系。 關(guān)系關(guān)系表示事物之間的某種聯(lián)系,二元關(guān)系表示兩個事物之間的關(guān)系,如果把這兩個事物分別放在一邊,如果某兩個元素有關(guān)系,那么就在它們之間畫一條有向線,用這種方式表示關(guān)系,稱作關(guān)系圖。 2.1.42.1.4命題邏輯命題邏輯 凡是能分辨其真假的語句都叫做命題。命題邏輯有著和集合論相似的操作,表達式和標識。命題的真值只有兩種,T代表真,而F代表假。 2.1.52.1.5概率論概率論 概率是隨機事件發(fā)生的可能性的數(shù)量指標。 在獨立隨機事件中,如果某一事件在全部事件中出現(xiàn)的頻率,在

5、更大的范圍內(nèi)比較明顯的穩(wěn)定在某一固定常數(shù)附近。就可以認為這個事件發(fā)生的概率為這個常數(shù)。對于任何事件的概率值一定介于 0和 1之間。 2.1.6 2.1.6用于測試的圖用于測試的圖 圖(又叫做線性圖)是一種由兩種集合定義的抽象數(shù)據(jù)結(jié)構(gòu),即一個節(jié)點集合和一個構(gòu)成節(jié)點之間連接的集合。 圖中節(jié)點的度節(jié)點的度是以該節(jié)點作為端點的邊的條數(shù)。 在本節(jié)中將介紹的兩種圖: 程序圖 有限狀態(tài)機 1、程序圖 程序圖定義:節(jié)點要么是整個語句,要么是語句的一部分,邊表示控制流(從節(jié)點i到節(jié)點j有一條邊,當(dāng)且僅當(dāng)對應(yīng)節(jié)點j的語句或語句的一部分,可以立即在節(jié)點i對應(yīng)的語句或語句的一部分之后執(zhí)行)。 程序的有向圖公式化能夠非

6、常準確地描述基本結(jié)構(gòu)化程序設(shè)計的構(gòu)造,例如:串行、選擇和循環(huán)等可以用有向圖表示。串行If-Then-ElseIf-Then條件前測試環(huán)路后測試環(huán)路圖2-1 結(jié)構(gòu)化程序設(shè)計構(gòu)造的有向圖 2、有限狀態(tài)機 有限狀態(tài)機是需求規(guī)格說明的一種標準的表示方法。有限狀態(tài)機是一種有向圖,其中狀態(tài)是節(jié)點,轉(zhuǎn)移是邊。 圖2-2是一個簡單的自動柜員機(SATM)系統(tǒng)。該圖描述了用于個人標識編號PIN嘗試部分的有限狀態(tài)機。這種機器包含5 個狀態(tài)(空閑、等待第一次PIN嘗試等等)和8個用邊表示的轉(zhuǎn)移。轉(zhuǎn)移上的標簽所遵循的規(guī)則是,“分子”是引起轉(zhuǎn)移的事件,“分母”是與該轉(zhuǎn)移關(guān)聯(lián)的行為??臻e等待第一次PIN輸入嘗試等待事務(wù)選

7、擇等待第三次PIN輸入嘗試等待第二次PIN輸入嘗試合法卡顯示屏幕S2正確PIN顯示屏幕S5不正確的PIN顯示屏幕S4非法卡顯示屏幕S1;退卡不正確的PIN顯示屏幕S3不正確的PIN顯示屏幕S3正確PIN顯示屏幕S5圖2-2 用于PIN嘗試的有限狀態(tài)機 車庫門有限狀態(tài)機假設(shè)由兩個按鈕來控制門:一個稱為開鈕而另一個稱為關(guān)鈕。當(dāng)門是在關(guān)閉狀態(tài),按住開鈕會使得門進入上升狀態(tài),于此期間在馬達控制之下,門將逐漸的開啟。在門完全打開之后,即進入打開狀態(tài)。再按住關(guān)鈕會使門進入下降狀態(tài),于此期間門將逐漸的關(guān)閉。從狀態(tài)途中可以清楚的看出門不能立即地從打開狀態(tài)至關(guān)閉狀態(tài),反過來亦如此。而且,也可能輪流的按開鈕與關(guān)扭

8、,使門在上升與下降狀態(tài)之間轉(zhuǎn)變,使得門的動作像玩偶一樣。最后,此模型說明當(dāng)門是在關(guān)閉狀態(tài)時按關(guān)鈕或者門是在打開狀態(tài)時按開鈕,將不會引起任何狀態(tài)的改變,所以什么事情都不會發(fā)生。下降下降關(guān)狀態(tài)關(guān)狀態(tài)開狀態(tài)開狀態(tài)上升上升按開鈕按開鈕上升上升按開鈕按開鈕上升上升按開鈕按開鈕上升上升按關(guān)鈕按關(guān)鈕下降下降按關(guān)鈕按關(guān)鈕下降下降按關(guān)鈕按關(guān)鈕下降下降按關(guān)鈕按關(guān)鈕無動作無動作按開鈕按開鈕無動作無動作 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換應(yīng)用程序有兩大類: 1. 一種是數(shù)據(jù)處理的程序,我們常常用算法來描述它,程序?qū)δ承┹斎霐?shù)據(jù)進行預(yù)定的處理,以便得到某些輸出的數(shù)據(jù),程序目前的狀態(tài)可以用資料目前的狀態(tài)來描

9、述,例如:人事薪資系統(tǒng)、倉儲物流系統(tǒng)等等; 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換 2. 另外一類是與外界環(huán)境互動的系統(tǒng),例如:操作系統(tǒng)、文書處理系統(tǒng)、航空管制系統(tǒng)、交通管制系統(tǒng)、游戲等等,這一類系統(tǒng)一般來說沒有明確的輸入/輸出數(shù)據(jù),但是有很多與外界不預(yù)期的互動,通常系統(tǒng)響應(yīng)的方法與系統(tǒng)內(nèi)部的狀態(tài)有密切的關(guān)聯(lián),系統(tǒng)內(nèi)部通常有許多記錄狀態(tài)的變量。 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換 針對這兩大類的程序,通常描述它們的方法也不太一樣,對于前者,我們通常用控制流程圖或是數(shù)據(jù)流程圖來描述,對于后者則常用有限狀態(tài)機或狀態(tài)圖來描述。 流程圖中最重要的部份是 “處理過程 單元,程序由

10、幾個主要的處理單元組合而成,有限狀態(tài)機中最主要的是程序目前的狀態(tài),每一個狀態(tài)總結(jié)記錄程序由開始到目前所有接到的輸入。 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換 有限狀態(tài)機與流程圖的轉(zhuǎn)換有限狀態(tài)機與流程圖的轉(zhuǎn)換 狀態(tài)圖明顯在架構(gòu)上比流程圖要簡單,包容的模型也比較豐富,需做的假設(shè)比較少。另外,狀態(tài)圖比較重視事件/動作的完成,比較不在意是哪一個程序完成的。流程圖則很在意動作是如何完成的。 2.2 2.2白盒測試白盒測試 白盒測試是一種可視的測試軟件的方法,即它把測試對象看作一個透明的盒子,測試人員要了解程序結(jié)構(gòu)和處理過程,按照程序內(nèi)部邏輯測試

11、程序,檢查程序中的每條通路是否按照預(yù)定要求正確工作。白盒測試的過程如圖2-7所示: 2.2 2.2白盒測試白盒測試 源程序測試用例被測程序執(zhí)行路徑分析覆蓋情況分析圖2-7 白盒測試過程示意圖 白盒測試主要對程序進行的檢查點: ()保證一個模塊中的所有獨立執(zhí)行路徑至少測試一次; ()對所有邏輯判定取值“true”和“false”的兩種情況都至少測試一次; ()在循環(huán)邊界和運行界限內(nèi)執(zhí)行循環(huán)體; ()測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 在軟件測試領(lǐng)域,白盒測試可以用在三種測試類型中: 1、單元測試 2、集成測試 3、回歸測試 2.2.12.2.1白盒測試與調(diào)試的異同白盒測試與調(diào)試的異同 1、從承擔(dān)的任務(wù)來

12、看,白盒測試同其他類型測試一樣,它的任務(wù)是發(fā)現(xiàn)所開發(fā)的項目中的缺陷;但是,調(diào)試不屬于測試,其任務(wù)是糾正軟件中的缺陷。 2、從最終的結(jié)果來看,白盒測試有預(yù)知的結(jié)果,不可預(yù)知的只是程序是否通過測試,并且成功測試的結(jié)果是發(fā)現(xiàn)錯誤的癥狀,從而引起調(diào)試的進行;而調(diào)試的結(jié)果是消除項目中的錯誤。 3、從執(zhí)行的過程來看,測試是一個發(fā)現(xiàn)錯誤、改正錯誤、重新測試的過程;而調(diào)試是一個推理過程。 4、從準備工作來看,測試從已知的條件開始,使用預(yù)先定義的程序;調(diào)試一般是以不可知的內(nèi)部條件開始,做統(tǒng)一性調(diào)試 。 5、從執(zhí)行的計劃性來看,測試是有計劃的并要進行測試設(shè)計;而調(diào)試則不受時間約束。 6、從執(zhí)行的人員來看,測試經(jīng)常

13、是由獨立的測試組在不了解軟件設(shè)計的條件下完成的,而調(diào)試必須由程序員來完成。 7、從所使用的工具來看,大多數(shù)白盒測試的執(zhí)行和設(shè)計可有工具支持,而調(diào)試程序員能利用的工具主要是調(diào)試器。 2.2.2 2.2.2白盒測試的用例設(shè)計白盒測試的用例設(shè)計 白盒測試用例設(shè)計技術(shù)就是研究如何用最少的測試用例最大限度地發(fā)現(xiàn)軟件中的錯誤,目前主要有基本路徑測試、等價類劃分/邊界值分析測試、覆蓋測試、循環(huán)測試、數(shù)據(jù)流測試、程序插樁測試、變異測試等等方法。 2.2.2 2.2.2白盒測試的用例設(shè)計白盒測試的用例設(shè)計 一、基本路徑測試 概念:基本路徑測試就是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)形復(fù)雜性,導(dǎo)出基本可執(zhí)

14、行路徑集合,從而設(shè)計測試用例的方法。 設(shè)計出的測試用例要保證在測試中,程序的每一個可執(zhí)行語句至少執(zhí)行一次。 基本路徑測試 前提條件測試進入的前提條件是在測試人員已經(jīng)對被測試對象有了一定的了解,基本上明確了被測試軟件的邏輯結(jié)構(gòu)。 測試過程過程是通過針對程序邏輯結(jié)構(gòu)設(shè)計和加載測試用例,驅(qū)動程序執(zhí)行,以對程序路徑進行測試。測試結(jié)果是分析實際的測試結(jié)果與預(yù)期的結(jié)果是否一致。 基本路徑測試包括以下4個步驟:1. 程序的控制流圖:描述程序控制流的一種圖示方法。2. 程序圈復(fù)雜度:從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。3

15、. 導(dǎo)出測試用例:根據(jù)圈復(fù)雜度和程序結(jié)構(gòu)設(shè)計用例數(shù)據(jù)輸入和預(yù)期結(jié)果。4. 準備測試用例:確?;韭窂郊械拿恳粭l路徑的執(zhí)行。 控制流圖的符號 在介紹基本路徑方法之前,必須先介紹一種簡單的控制流表示方法,即流圖。流圖是對待測試程序過程處理的一種表示。流圖使用下面的符號描述邏輯控制流,每一種結(jié)構(gòu)化構(gòu)成元素有一個相應(yīng)的流圖符號。順序結(jié)構(gòu)if 結(jié)構(gòu)Case 結(jié)構(gòu)while 結(jié)構(gòu)until 結(jié)構(gòu)控制流圖 流圖只有二種圖形符號圖中的每一個圓稱為流圖的結(jié)點,代表一條或多條語句。流圖中的箭頭稱為邊或連接,代表控制流。 任何過程設(shè)計都要被翻譯成控制流圖。 控制流圖 在將程序流程圖簡化成控制流圖時,應(yīng)注意:在選擇

16、或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個匯聚結(jié)點。邊和結(jié)點圈定的區(qū)域叫做區(qū)域,當(dāng)對區(qū)域計數(shù)時,圖形外的區(qū)域也應(yīng)記為一個區(qū)域??刂屏鲌D1762,38910114,5 76 231 8 4 511 910節(jié)點邊區(qū)域區(qū)域:由邊和解點封閉起來的區(qū)域計算區(qū)域:不要忘記區(qū)域外的部分待測試程序用流圖表示的待測試程序控制流圖如果判斷中的條件表達式是由一個或多個邏輯運算符 (OR, AND, NAND, NOR) 連接的復(fù)合條件表達式,則需要改為一系列只有單條件的嵌套的判斷。例如: 1 if a or b 2 x 3 else 4 y對應(yīng)的邏輯為:獨立路徑獨立路徑:至少沿一條新的邊移動的路徑路徑1:1-11路徑2:

17、1-2-3-4-5-10-1-11路徑3:1-2-3-6-8-9-10-1-11路徑4:1-2-3-6-7-9-10-1-111762,38910114,5對以上路徑的遍歷,就是至少一次地執(zhí)行了程序中的所有語句。基本路徑測試第一步:畫出控制流圖 流程圖用來描述程序控制結(jié)構(gòu)??蓪⒘鞒虉D映射到一個相應(yīng)的流圖(假設(shè)流程圖的菱形決定框中不包含復(fù)合條件)。在流圖中,每一個圓,稱為流圖的結(jié)點,代表一個或多個語句。一個處理方框序列和一個菱形決測框可被映射為一個結(jié)點,流圖中的箭頭,稱為邊或連接,代表控制流,類似于流程圖中的箭頭。一條邊必須終止于一個結(jié)點,即使該結(jié)點并不代表任何語句。由邊和結(jié)點限定的范圍稱為區(qū)域

18、。計算區(qū)域時應(yīng)包括圖外部的范圍。例例 用基本路徑測試法進行測試用基本路徑測試法進行測試 void void Sort(intSort(int iRecord,intiRecord,int iTypeiType) )1.1. 2.2. intint x=0; x=0;3.3. intint y=0; y=0;4.4. while ( while (iRecordiRecord- 0)- 0)5.5. 6.6. if(0= = if(0= =iTypeiType) )7.7. x=y+2; break; x=y+2; break;8.8. else else9.9. if (1= = if (1=

19、 =iTypeiType) )10.10.x=y+10;x=y+10;11.11. else else12.12. x=y+20;x=y+20;13.13. 14.14. 基本路徑測試 畫出其程序流程圖和對應(yīng)的控制流圖如下467810111314467148101113程序流程圖 控制流圖基本路徑測試 - 計算圈復(fù)雜度第二步:計算圈復(fù)雜度圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測度的軟件度量,將該度量用于計算程序的基本的獨立路徑數(shù)目。有以下三種方法計算圈復(fù)雜度:1. 流圖中區(qū)域的數(shù)量對應(yīng)于環(huán)型的復(fù)雜性;2. 給定流圖G的圈復(fù)雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中

20、結(jié)點的數(shù)量;3. 給定流圖G的圈復(fù)雜度V(G),定義為V(G)=P+1,P是流圖G中判定結(jié)點的數(shù)量。 基本路徑測試 - 計算圈復(fù)雜度對應(yīng)上面圖中的圈復(fù)雜度,計算如下:流圖中有四個區(qū)域;V(G)=10條邊-8結(jié)點+2=4;V(G)=3個判定結(jié)點+1=4。4671481011132134基本路徑測試 - 導(dǎo)出測試用例 第三步:導(dǎo)出測試用例根據(jù)上面的計算方法,可得出四個獨立的路徑。(一條獨立路徑是指,和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路。V(G)值正好等于該程序的獨立路徑的條數(shù)。)路徑1:4-14路徑2:4-6-7-14路徑3:4-6-8-10-13-4-14路徑4:4

21、-6-8-11-13-4-14根據(jù)上面的獨立路徑,去設(shè)計輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑。4671481011132134基本路徑測試 - 準備測試用例 第四步:準備測試用例 為了確?;韭窂郊现械拿恳粭l路徑的執(zhí)行,根據(jù)判斷結(jié)點給出的條件,選擇適當(dāng)?shù)臄?shù)據(jù)以保證某一條路徑可以被測試到.基本路徑測試 - 準備測試用例路徑1:4-14輸入數(shù)據(jù):iRecord0,或者取iRecord 0)5. 6. if(0= =iType)7. x=y+2; break;8. else9. if(1= =iType)10. x=y+10;11. else12. x=y+20;13. 14. 基本路徑測試再舉

22、例例:下例程序流程圖描述了最多輸入50個學(xué)生分數(shù)(以1作為輸入結(jié)束標志),計算其中有效的學(xué)生分數(shù)的個數(shù)、總分數(shù)和平均值。開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和6789101112123456789111012R1R2R3R4R5R6開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和6789101112步驟1:導(dǎo)出過程的流圖

23、。步驟2:確定環(huán)形復(fù)雜性度量V(G):1)V(G)= 6 (個區(qū)域)2)V(G)=EN+2=1612+2=6其中E為流圖中的邊數(shù),N為結(jié)點數(shù);3)V(G)=P+1=5+1=6 其中P為結(jié)點的個數(shù)。在流圖中,結(jié)點2、3、5、6、9是結(jié)判定點。基本路徑測試再舉例123456789111012R1R2R3R4R5R6基本路徑測試再舉例步驟3:確定基本路徑集合(即獨立路徑集合)。于是可確定6條獨立的路徑:路徑1:1-2-9-10-12路徑2:1-2-9-11-12路徑3:1-2-3-9-10-12路徑4:1-2-3-4-5-8-2路徑5:1-2-3-4-5-6-8-2路徑6:1-2-3-4-5-6-7

24、-8-2123456789111012R1R2R3R4R5R6步驟4:為每一條獨立路徑各設(shè)計一組測試用例,以便強迫程序沿著該路徑至少執(zhí)行一次。1)路徑1(1-2-9-10-12)的測試用例: scorek=有效分數(shù)值,k i; scorei=1,2i50;期望結(jié)果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總分sum和平均分average。開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和67891011122)路徑2(1-2-9-11-12)的測試用例: sco

25、re 1 = 1 ; 期望的結(jié)果:average = -1 ,其他量保持初值。3)路徑3(1-2-3-9-10-12)的測試用例: 輸入多于50個有效分數(shù),即試圖處理51個分數(shù),要求前51個為有效分數(shù);期望結(jié)果:n1=50、且算出正確的總分和平均分。開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和67891011124)路徑4(1-2-3-4-5-8-2)的測試用例: scorei=有效分數(shù),當(dāng)i50; scorek0, k i ;期望結(jié)果:根據(jù)輸入的有效分數(shù)算

26、出正確的分數(shù)個數(shù)n1、總分sum和平均分average。5)路徑5(1-2-3-4-5-6-8-2)的測試用例: scorei=有效分數(shù),當(dāng)i100,k i ;期望結(jié)果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總分sum和平均分average。開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和67891011126)路徑6(1-2-3-4-5-6-7-8-2)的測試用例: scorei=有效分數(shù), 當(dāng)i50;期望結(jié)果:根據(jù)輸入的有效分數(shù)算出正確的分數(shù)個數(shù)n1、總

27、分sum和平均分average。開始 i =1,n1=n2=0,sum=0Score i -1 AND n20 AND scorei0average=sum/n1average= 1 返回FFFTTT12和345和6789101112基本路徑測試 必須注意,一些獨立的路徑,往往不是完全孤立的,有時它是程序正常的控制流的一部分,這時,這些路徑的測試可以是另一條路徑測試的一部分。void void ReadNameReadName( ( CStringCString name) name) if (name = if (name = zhaozhao) )Operation(0);Operatio

28、n(0);elseelse if (name = if (name = qianqian) )Operation(1);Operation(1);elseelse if (name = sun)if (name = sun)Operation (2);Operation (2);elseelse if(nameif(name = = li li) )Operation (3);Operation (3);elseelse if (name = if (name = zhouzhou) )Operation (4);Operation (4);elseelseOperation (5);Oper

29、ation (5); return;return; 基本路徑法練習(xí)題基本路徑法練習(xí)題【問題問題1 1】請畫出以上代碼的請畫出以上代碼的流程框圖和控制流圖流程框圖和控制流圖(自由設(shè)計流程編號)。(自由設(shè)計流程編號)?!締栴}問題2 2】請根據(jù)公式計算上請根據(jù)公式計算上述控制流圖的圈復(fù)雜度述控制流圖的圈復(fù)雜度V(G)V(G)?!締栴}問題3 3】請給出路徑,并使請給出路徑,并使用基本路徑測試法設(shè)計用基本路徑測試法設(shè)計測試用例,使之滿足基測試用例,使之滿足基本路徑覆蓋要求。本路徑覆蓋要求。void void ReadNameReadName( ( CStringCString name) name) if (name = if (name = zhaozhao) )Operation(0);Operation(0);elseelse if (name = if (name = qianqian) )Operation(1);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論