2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  NANCHANG UNIVERSITY</p><p><b>  軟件測(cè)試</b></p><p>  題 目: 軟件測(cè)試課程論文 </p><p>  學(xué) 院: 軟件學(xué)院 </p><

2、p>  專 業(yè): 軟件工程 </p><p>  班 級(jí): 嵌入式133班 </p><p>  完成人數(shù): 1人 </p><p>  成 員:

3、 8000113040馮嘉 </p><p>  任課教師: 黃旭慧 職稱: 副教授 </p><p>  完成時(shí)間: 2016 年 06 月 11 日</p><p>  一、黑盒測(cè)試原理及測(cè)試用例設(shè)計(jì)——等價(jià)類劃分法</p><

4、;p>  1.1測(cè)試用例的定義和特征</p><p><b>  測(cè)試用例的定義:</b></p><p> ?。?)測(cè)試用例是為特定的目的而設(shè)計(jì)的一組測(cè)試輸入、 執(zhí)行條件和預(yù)期的結(jié)果。</p><p>  (2)測(cè)試用例是執(zhí)行的最小實(shí)體。 </p><p><b>  測(cè)試用例的特征:</b&g

5、t;</p><p> ?。?)最有可能抓住錯(cuò)誤的;</p><p> ?。?)不是重復(fù)的、多余的;</p><p> ?。?)一組相似測(cè)試用例中最有效的;</p><p> ?。?)既不是太簡(jiǎn)單,也不是太復(fù)雜。</p><p>  1.2設(shè)計(jì)測(cè)試用例的基本準(zhǔn)則</p><p><b>

6、;  測(cè)試用例的代表性</b></p><p>  能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等。</p><p><b>  測(cè)試結(jié)果的可判定性</b></p><p>  即測(cè)試執(zhí)行結(jié)果的正確性是可判定的,每一個(gè)測(cè)試用例都應(yīng)有相應(yīng)的期望結(jié)果。</p><

7、;p><b>  測(cè)試結(jié)果的可再現(xiàn)性</b></p><p>  即對(duì)同樣的測(cè)試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。</p><p>  1.3等價(jià)類劃分原則</p><p>  等價(jià)類劃分設(shè)計(jì)方法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少量具有代表性的數(shù)據(jù)作為測(cè)試用例。 定義:將程序的輸入域劃分

8、為若干部分,然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測(cè)試?yán)?lt;/p><p>  原因:由于實(shí)現(xiàn)窮舉測(cè)試的不可能性,只有從大量的可能數(shù)據(jù)中選取一部分作為測(cè)試用例。</p><p>  效果:經(jīng)過類別劃分后,每一類的代表性數(shù)據(jù)在測(cè)試中的作用都等價(jià)于這一類中的其他值。</p><p>  手段:在設(shè)計(jì)測(cè)試用例時(shí),在需求說明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)表,從而確定測(cè)試用例。

9、</p><p>  1.4等價(jià)類劃分法設(shè)計(jì)測(cè)試用例</p><p>  輸入三個(gè)整數(shù)作為三邊的邊長(zhǎng)構(gòu)成三角形。當(dāng)此三角形為一般三角形、等腰三角形、等邊三角形時(shí),分別作計(jì)算。用等價(jià)類劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。</p><p>  分析程序規(guī)格說明書中給出和隱藏的對(duì)輸入條件的要求,列出等價(jià)類表:</p><p>  三條邊:必須是大于0

10、的整數(shù)</p><p>  三邊構(gòu)成的關(guān)系:兩邊之和必須大于第三邊,兩邊之差必須小于第三邊,且必須是大于0的整數(shù)</p><p><b>  等價(jià)類表:</b></p><p><b>  測(cè)試用例:</b></p><p>  二、黑盒測(cè)試原理及測(cè)試用例設(shè)計(jì)——邊界值分析法</p>

11、<p>  2.1邊界值分析法概要</p><p>  邊界值分析法就是 對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充,這種情況下,其測(cè)試用例來自等價(jià)類的邊界。</p><p>  2.2邊界值分析法的思想</p><p>  故障往往出現(xiàn)在輸入變量的邊界值附近。例如,一個(gè)循環(huán)條件為“≤”時(shí),卻錯(cuò)寫成“<

12、”;計(jì)數(shù)器發(fā)生少計(jì)數(shù)一次。</p><p>  基于可靠性理論中稱為“單故障”的假設(shè),即有兩個(gè)或兩個(gè)以上故障同時(shí)出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說軟件失效基本上是由單故障引起的。</p><p>  2.3測(cè)試用例:找零錢最佳組合</p><p>  假設(shè)商店貨品價(jià)格(R) 都不大于100元(且為整數(shù)),若顧客付款(P)在100元內(nèi),現(xiàn)有一個(gè)程序能在每位顧客付款

13、后給出找零錢的最佳組合(找給顧客貨幣張數(shù)最少)。 假定此商店的貨幣面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四種。</p><p>  請(qǐng)結(jié)合等價(jià)類劃分法和邊界值分析法為上述程序設(shè)計(jì) 出相應(yīng)的測(cè)試用例。</p><p>  一、 分 析 輸 入 的 情 形 。 &l

14、t;/p><p>  1.R無效: R > 100  R<=0 2.R有效: 0 < R < = 100   此種情況下再考慮P: </p><p>  2_1. P無效:P >

15、0;100 (錢給多) 2_2. P無效:P < R   (錢給少) </p><p>  2_3. P有效:R<= P <= 100   //無效輸出: 多找錢 少找錢  </p>

16、<p>  二、 分 析 輸 出 情 形 。  </p><p>  考慮輸出——找零個(gè)數(shù) </p><p>  這里是有效數(shù)據(jù),關(guān)于" 找 給 顧 客 之 最 少 貨幣 個(gè)(張)&

17、#160;數(shù)"的有效取值 50:0/1 </p><p>  10:0/1/2/3/4 </p><p><b>  5 :0/1 </b></p><p>  1 :0/1/2/3/4   </p><p>  三、 分

18、 析 規(guī) 格 中 每 一 決 策 點(diǎn) 之 情 形 </p><p>  考慮輸出——找零數(shù)額(RR表示找零數(shù)額)  </p><p>  無效輸入(不找零):  </p><p>  R 

19、> 100   </p><p><b>  R <= 0 </b></p><p>  0 < R < = 100   P > 100 0 <

20、 R < = 100   P < R  </p><p>  輸出為相應(yīng)錯(cuò)誤提示信息  </p><p>  有效輸入(找零):  </p><p>  0 < R &l

21、t; = 100  R<= P <= 100 </p><p>  此時(shí)考慮的輸出:(RR=P-R 假設(shè)計(jì)算正確 不考慮此種情況無效輸出)  </p><p>  0<=RR<4 5<=RR<10 10<=RR

22、<50 </p><p>  50<=RR<100 </p><p>  RR:0、1、4、5、9、10、49、50、99 </p><p>  五、 為 滿 足 以 上 之 各 種 情 形 , 測(cè)&

23、#160;試 用 例 設(shè) 計(jì) 如 下 : 1. 貨品價(jià)格 = 101 2. 貨品價(jià)格 = 0 3.貨品價(jià)格 = -1 </p><p>  4. 貨品價(jià)格 = 100, 付款金額

24、0;= 101 5. 貨品價(jià)格 = 100, 付款金額 = 99    </p><p>  6. 貨品價(jià)格 = 100, 付款金額 = 100   不找零 </p><p&g

25、t;  7. 貨品價(jià)格 = 99, 付款金額 = 100    N1=1 </p><p>  8. 貨品價(jià)格 = 96, 付款金額 = 100    N1=4 9. 貨品價(jià)格 

26、;= 95, 付款金額 = 100    N5=1 10. 貨品價(jià)格 = 91, 付款金額 = 100   N5=1, N1=4 11. 貨品價(jià)格 = 90, 付款金額 = 100

27、   N10=1 </p><p>  12. 貨品價(jià)格 = 51, 付款金額 = 100   N10=4, N5=1,N1=4 13. 貨品價(jià)格 = 50, 付款金額 = 100  &

28、#160;N50=1 </p><p>  14. 貨品價(jià)格 = 1, 付款金額 = 100    N50=1,N10=4,N5=1,N1=4 </p><p>  三、黑盒測(cè)試原理及測(cè)試用例設(shè)計(jì)——決策表法</p><p><b>  

29、3.1決策表法思想</b></p><p>  決策表的概念:決策表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作情況的工具。</p><p>  在一些數(shù)據(jù)處理問題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。決策表很適合于處理這類問題。</p><p><b>  3.2決策表的生成</b>

30、;</p><p>  決策表通常由以下4部分組成:</p><p>  條件樁—列出問題的所有條件</p><p>  條件項(xiàng)—針對(duì)條件樁給出的條件列出所有可能的取值</p><p>  動(dòng)作樁—列出問題規(guī)定的可能采取的操作</p><p>  動(dòng)作項(xiàng)—指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作 </p>

31、<p>  (1) 確定規(guī)則的個(gè)數(shù)。</p><p>  有n個(gè)條件的決策表有2n個(gè)規(guī)則(每個(gè)條件取真、假值)。</p><p> ?。?) 列出所有的條件樁和動(dòng)作樁。</p><p>  (3) 填入條件項(xiàng)。</p><p>  (4) 填入動(dòng)作項(xiàng),得到初始決策表。</p><p>  (5) 簡(jiǎn)化決策表

32、,合并相似規(guī)則。</p><p>  若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。</p><p>  合并后的條件項(xiàng)用符號(hào)“-”表示,說明執(zhí)行的動(dòng)作與該條件的取值無關(guān),稱為無關(guān)條件。</p><p><b>  3.3決策表的簡(jiǎn)化</b></p><p>  簡(jiǎn)化是以合并相似規(guī)則

33、為目標(biāo);</p><p>  若表中有兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。</p><p>  3.4決策表法設(shè)計(jì)測(cè)試用例</p><p>  某廠對(duì)一部分職工重新分配工作,分配原則是:</p><p> ?。?)年齡不滿20歲,文化程度是小學(xué)者脫產(chǎn)學(xué)習(xí),文化程度是中學(xué)者當(dāng)電工;</p>

34、<p> ?。?)年齡滿20歲但不足50歲,文化程度是小學(xué)或中學(xué)者,男性當(dāng)鉗工,女性當(dāng)車工;文化程度是大學(xué)者技術(shù)員;</p><p>  (3)年齡滿50及50以上,文化程度是小學(xué)或中學(xué)者當(dāng)材料員,文化程度是大學(xué)者當(dāng)技術(shù)員。</p><p>  試分析規(guī)格說明書,建立決策表,并簡(jiǎn)化</p><p>  決策表的用例測(cè)試設(shè)計(jì)條件:</p>&l

35、t;p>  A1:{A:A<20}</p><p>  A2:{A:20≤A≤50}</p><p>  A3:{A:50≤A}</p><p>  C1:{C:C=小學(xué)}</p><p>  C2:{C:C=小學(xué)||C=中學(xué)}</p><p>  C3:{C:C=大學(xué)}</p><p&

36、gt;  S1:{S:S=男}</p><p>  S2:{S:S=女}</p><p>  根據(jù)條件分析,則有18種規(guī)則:</p><p><b>  化簡(jiǎn)后的規(guī)則:</b></p><p>  四、黑盒測(cè)試原理及測(cè)試用例設(shè)計(jì)——因果圖法設(shè)計(jì)</p><p><b>  4.1因果圖的

37、定義</b></p><p>  是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。</p><p>  4.2因果圖法設(shè)計(jì)測(cè)試用例步驟</p><p>  分析程序規(guī)格說明書描述的語義內(nèi)容,找出“原因”和“結(jié)果”,將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”。</p><p>

38、;  由于語法或環(huán)境限制,有些原因與原因之間或與結(jié)果之間的組合情況不能出現(xiàn),用記號(hào)標(biāo)明約束或限制條件;</p><p>  將因果圖轉(zhuǎn)換成決策表;</p><p>  根據(jù)決策表中每一列設(shè)計(jì)測(cè)試用例</p><p>  某軟件規(guī)格說明書包含“訂貨單處理程序”的處理邏輯描述為:如果訂貨金額不足500 元且未過期,則向顧客發(fā)出批準(zhǔn)單和提貨單,已過期的什么通知也不發(fā);如果

39、訂貨金額超過500 但不足1000 ,則發(fā)出批準(zhǔn)單和提貨單,對(duì)已經(jīng)過期的發(fā)過期通知單;如果訂貨金額超過1000 ,不論是否過期,都要發(fā)出批準(zhǔn)單和提貨單。</p><p>  要求:畫出因果圖,并生成判定表和設(shè)計(jì)測(cè)試用例 : </p><p><b>  實(shí)驗(yàn)分析如下: </b></p><p>  首先列出原因?yàn)椋?、訂貨金

40、額不足500 元;2、訂貨金額超過500 但不足1000; </p><p>  3、訂貨金額超過1000;4、過期。 </p><p>  結(jié)果則是:21、發(fā)出批準(zhǔn)單和提貨單;22、無通知;23、發(fā)過期通知單。 </p><p>  實(shí)驗(yàn)結(jié)果:原因1、2、3不能同時(shí)發(fā)生,所以對(duì)其施加異約束E,具有E約束的因果圖如下

41、:</p><p>  根據(jù)因果圖建立的判定表如下:</p><p>  設(shè)計(jì)測(cè)試用例如下,用例ID與判定表中的對(duì)應(yīng):</p><p>  五、白盒測(cè)試方法——邏輯覆蓋法</p><p><b>  5.1語句覆蓋</b></p><p>  語句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一

42、可執(zhí)行語句至少執(zhí)行一次。</p><p>  測(cè)試用例的設(shè)計(jì)格式如下:</p><p>  輸入的(A, B, X),輸出的(A, B, X)</p><p><b>  語句覆蓋率</b></p><p>  已執(zhí)行的可執(zhí)行語句占程序中可執(zhí)行語句總數(shù)的百分比</p><p>  復(fù)雜的程序不可能

43、達(dá)到語句的完全覆蓋</p><p><b>  語句覆蓋率越高越好</b></p><p><b>  檢查所有語句</b></p><p>  結(jié)構(gòu)簡(jiǎn)單的代碼的測(cè)試效果較好</p><p><b>  容易實(shí)現(xiàn)自動(dòng)測(cè)試</b></p><p><

44、b>  代碼覆蓋率高 </b></p><p>  如果是程序塊覆蓋,則不涉及程序塊中的源代碼 </p><p>  優(yōu)點(diǎn) :可以很直觀地從源代碼得到測(cè)試用例,無須細(xì)分每條判定表達(dá)式。</p><p>  缺點(diǎn) :由于這種測(cè)試方法僅僅針對(duì)程序邏輯中顯式存在的語句,但對(duì)于隱藏的條件是無法測(cè)試的。如在多分支的邏輯運(yùn)算中無法全面的考慮。語句覆蓋是最弱的邏

45、輯覆蓋。</p><p><b>  5.2判定覆蓋</b></p><p>  判定覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。</p><p>  判定覆蓋又稱為分支覆蓋。</p><p>  說明:以上僅考慮了兩出口的判斷,我們還應(yīng)把判定覆蓋準(zhǔn)則擴(kuò)充到多出口判斷(如

46、Case語句)的情況。因此,判定覆蓋更為廣泛的含義應(yīng)該是使得每一個(gè)判定獲得每一種可能的結(jié)果至少一次。</p><p>  優(yōu)點(diǎn):判定覆蓋具有比語句覆蓋更強(qiáng)的測(cè)試能力。同樣判定覆蓋也具有和語句覆蓋一樣的簡(jiǎn)單性,無須細(xì)分每個(gè)判定就可以得到測(cè)試用例。</p><p>  缺點(diǎn):往往大部分的判定語句是由多個(gè)邏輯條件組合而成,若僅僅判斷其整個(gè)最終結(jié)果,而忽略每個(gè)條件的取值情況,必然會(huì)遺漏部分測(cè)試路徑

47、。判定覆蓋仍是弱的邏輯覆蓋。</p><p><b>  5.3條件覆蓋</b></p><p>  在設(shè)計(jì)程序中,一個(gè)判定語句是由多個(gè)條件組合而成的復(fù)合判定,判定(a)&&(b||c)包含了三個(gè)條件:a,b和c。為了更徹底的實(shí)現(xiàn)邏輯覆蓋,可以采用條件覆蓋。</p><p>  條件覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得

48、程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。</p><p>  在圖例中,我們事先可對(duì)所有條件的取值加以標(biāo)記。</p><p>  優(yōu)點(diǎn):增加了對(duì)條件判定情況的測(cè)試,增加了測(cè)試路徑。</p><p>  缺點(diǎn):條件覆蓋不一定包含判定覆蓋。條件覆蓋只能保證每個(gè)條件至少有一次為真,而不考慮所有的判定結(jié)果。</p><p>  5.4判定--

49、條件覆蓋</p><p>  判定/條件覆蓋實(shí)際上是將判定覆蓋和條件覆蓋結(jié)合起來的一種方法,</p><p>  就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判定的可能結(jié)果也至少出現(xiàn)一次。</p><p>  設(shè)計(jì)測(cè)試用例覆蓋4個(gè)條件的8種取值以及4個(gè)判定分支。</p><p>  分析:從表面上看,判定/條

50、件覆蓋測(cè)試了各個(gè)判定中的所有條件的取值,但實(shí)際上,編譯器在檢查含有多個(gè)條件的邏輯表達(dá)式時(shí),某些情況下的某些條件將會(huì)被其它條件所掩蓋。因此,判定/條件覆蓋也不一定能夠完全檢查出邏輯表達(dá)式中的錯(cuò)誤。</p><p>  優(yōu)點(diǎn) :能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn)。</p><p>  缺點(diǎn) :判定/條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。</p><p><b&g

51、t;  5.5條件組合覆蓋</b></p><p>  條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。</p><p>  優(yōu)點(diǎn) :條件組合覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準(zhǔn)則。</p><p>  缺點(diǎn) :線性地增加了測(cè)試用例的數(shù)量。</p><p><b

52、>  5.6路徑覆蓋</b></p><p>  路徑覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。</p><p><b>  分析:</b></p><p>  雖然前面一組測(cè)試用例滿足了路徑覆蓋,但并沒有覆蓋程序中所有的條件組合,即滿足路徑覆蓋的測(cè)試用例并不一定滿足組合覆蓋。</p><p&g

53、t;<b>  說明:</b></p><p>  對(duì)于比較簡(jiǎn)單的小程序,實(shí)現(xiàn)路徑覆蓋是可能做到的。但如果程序中出現(xiàn)較多判斷和較多循環(huán),可能的路徑數(shù)目將會(huì)急劇增長(zhǎng),要在測(cè)試中覆蓋所有的路徑是無法實(shí)現(xiàn)的。為了解決這個(gè)難題,只有把覆蓋路徑數(shù)量壓縮到一定的限度內(nèi),如程序中的循環(huán)體只執(zhí)行一次。</p><p>  在實(shí)際測(cè)試中,即使對(duì)于路徑數(shù)很有限的程序已經(jīng)做到路徑覆蓋,仍然

54、不能保證被測(cè)試程序的正確性,還需要采用其他測(cè)試方法進(jìn)行補(bǔ)充。</p><p><b>  5.7設(shè)計(jì)測(cè)試用例</b></p><p>  設(shè)計(jì)測(cè)試用例,實(shí)現(xiàn)語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋,路徑覆蓋.</p><p>  void DoWork(int x,int y,int z)</p><p&

55、gt;<b>  {</b></p><p>  int k=0,j=0;</p><p>  if((x>3)&&(z<10))</p><p><b>  {</b></p><p>  k=x*y-1; //語句塊1</p><p>

56、;  j=sqrt(k);</p><p><b>  }</b></p><p>  if((x= =4)||(y>5))</p><p><b>  {</b></p><p>  j=x*y+10; //語句塊2</p><p><b>  }<

57、;/b></p><p>  j=j%3; //語句塊3</p><p><b>  }</b></p><p>  試做出三角形問題的語句覆蓋,條件覆蓋,判定覆蓋,判定-條件覆蓋、組合條件覆蓋的測(cè)試用例.并注明滿足覆蓋的條件 </p><p>  1)判定/條件覆蓋 </p

58、><p>  對(duì)于第一個(gè)判定a>0&&b>0&&c>0 : </p><p>  條件a>0    取真值記為T1,取假值記為-T1 條件b>0    取真值記為T2,取假值記為-T2 </p>&l

59、t;p>  條件c>0    取真值記為T3,取假值記為-T3 </p><p>  對(duì)于第二個(gè)判定( a+b>c)&&(a+c>b)&&(b+c>a ): </p><p>  條件a+b>c  取真值記為T4,取假值記為

60、-T4 條件a+c>b  取真值記為T5,取假值記為-T5 條件b+c>a  取真值記為T6,取假值記為-T6 </p><p><b>  2.</b></p><p>  對(duì)下面的流程圖用邏輯覆蓋法設(shè)計(jì)測(cè)試用例(至少三種) </p><p>  1)

61、..語句覆蓋:語句覆蓋可以保證程序中的每個(gè)語句都得到執(zhí)行。 </p><p>  測(cè)試用例輸入為:{ x1=3、x2=0}  輸出x3=0 ,程序執(zhí)行的路徑是:12345678 2.判定覆蓋: </p><p>  測(cè)試用例輸入為:{ x1=2、x2=1}  輸出x3=0 ,程序執(zhí)

62、行的路徑是:123578; 測(cè)試用例輸入為:{ x1=3、x2=0}  輸出x3=0 ,程序執(zhí)行的路徑是:12345678. 3).條件覆蓋 </p><p>  對(duì)于第一個(gè)判定( (x1=3)or(x2>1) ): </p><p>  條件x1=3   

63、;取真值記為T1,取假值記為-T1 </p><p>  條件x2>1   取真值記為T2,取假值記為-T2 </p><p>  對(duì)于第二個(gè)判定( (x1>2)and(x2=0) ): </p><p>  條件x1>2   取真值記為T

64、3,取假值記為-T3  </p><p>  條件x2=0   取真值記為T4,取假值記為-T4</p><p>  基本路徑測(cè)試法(畫出程序的流程控制圖  計(jì)算環(huán)路復(fù)雜度  畫出圖形矩陣) </p><p><b>  主要代碼如下: </

65、b></p><p>  1. If (inta >= intb + intc) _ </p><p>  2.         Or (intb > =inta 

66、+ intc) _ </p><p>  3.               Or (intc >= intb + inta) Then </p>

67、<p>  4.     strMsg = "三角形兩邊之和必須大于第三邊" + vbCrLf + "非三角形" 5. Else </p><p>  6.     If

68、60;(inta = intb) _ </p><p>  7.              And (intb = intc) Then </p><p>  8

69、.         strMsg = "三角形的三條邊都相等" + vbCrLf + "等邊三角形" 9. </p><p><b>  Else </b></p>

70、;<p>  10.         If (inta = intb) _ 11.                Or

71、0;(inta = intc) _ </p><p>  12.                      Or (intc =

72、0;intb) Then </p><p>  13.             strMsg = "三角形的任意兩邊相等" + vbCrLf + "等腰三角形"

73、60;14.         Else </p><p>  15.             strMsg = "三角形的各邊均非等" 

74、+ vbCrLf + "普通三角形" 16.         End If 17.     End If 18. </p><p><b>  End

75、60;If </b></p><p>  根據(jù)上面的代碼畫出程序的控制流圖。</p><p>  2.計(jì)算環(huán)路復(fù)雜度。 </p><p><b>  V(G)=9 </b></p><p>  3.求出基本路徑組合。 </p><p>  P1:

76、  1-4-18 P2:  1-2-4-18 P3:  1-2-3-4-18 </p><p>  P4:  1-2-3-6-7-8-17-18 </p><p>  P5:  1-2-3-6-10-13-16-17-18 P6: 

77、 1-2-3-6-10-11-13-16-17-18 P7:  1-2-3-6-10-11-12-13-16-17-18 P8:  1-2-3-6-10-11-12-15-16-17-18 要點(diǎn):從較短路徑順序增加 </p><p>  每個(gè)分支盡可能走一次 </p><p>  4.設(shè)計(jì)測(cè)

78、試用例,按照表1的形式,設(shè)計(jì)用例。 </p><p><b>  六、基本路徑法</b></p><p>  6.1基本路徑法的思想</p><p>  路徑測(cè)試就是設(shè)計(jì)足夠的測(cè)試用例覆蓋程序中所有可能的路徑.但在實(shí)際的問題中,一個(gè)不太復(fù)雜的程序,其路徑都是一個(gè)龐大的數(shù)字,為解決這一難題,只得把覆蓋的路徑壓縮到一定的范圍內(nèi).基本路徑測(cè)

79、試法就是這樣的一種測(cè)試方法,它是在程序控制流圖的基礎(chǔ)上,通過分析控制結(jié)構(gòu)的環(huán)路復(fù)雜性,導(dǎo)出可執(zhí)行的基本路徑的集合,從而設(shè)計(jì)測(cè)試用例.設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語句至少執(zhí)行一次。</p><p><b>  6.2控制流圖</b></p><p>  程序的控制流圖:描述程序控制流的一種圖示方法。</p><p>  6.3環(huán)

80、形復(fù)雜度(環(huán)路復(fù)雜性)</p><p>  程序圈復(fù)雜度:McCabe復(fù)雜性度量。從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確定程序中每個(gè)可執(zhí)行語句至少執(zhí)行一次所必須的測(cè)試用例數(shù)目的上界。</p><p><b>  6.4獨(dú)立路徑</b></p><p>  獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。<

81、/p><p>  6.5基本路徑測(cè)試步驟</p><p><b>  基本路徑測(cè)試步驟</b></p><p>  根據(jù)給出的程序流程圖,完成以下要求:</p><p>  (1)畫出相應(yīng)的控制流圖。</p><p> ?。?)計(jì)算環(huán)形復(fù)雜度。</p><p> ?。?)給出相

82、應(yīng)的圖矩陣。(4)找出程序的獨(dú)立路徑集合。</p><p><b>  解答:</b></p><p>  (1)控制流圖如下所示:</p><p>  (2)環(huán)形復(fù)雜度為2+1=3 </p><p>  (3)圖矩陣:圖中(A<5)AND(B=5),X=X/A,(A=2)OR(X>2),X=X+1

83、四個(gè)節(jié)點(diǎn)分別標(biāo)識(shí)為1,2,3,4,則圖矩陣為   0 a b 0                          0&

84、#160;0 c 0                          0 0 0 e   

85、0;                      0 0 0 0  (4)獨(dú)立路徑:總共4條獨(dú)立路徑 </p><p>  第一條:(A&

86、lt;5)AND(B=5)       (A=2)OR(X>2) </p><p>  第二條:(A<5)AND(B=5)        X=X/A       (A=2)O

87、R(X>2) 第三條:(A<5)AND(B=5)       (A=2)OR(X>2)       X=X+1 </p><p>  第四條:(A<5)AND(B=5)     &#

88、160; X=X/A       (A=2)OR(X>2)       X=X+1</p><p>  七、LoadRunner基本使用</p><p>  制定測(cè)試計(jì)劃(包括測(cè)試實(shí)例的設(shè)計(jì)、場(chǎng)景的設(shè)計(jì)等)。</p>&l

89、t;p>  錄制測(cè)試腳本(對(duì)用戶的操作過程進(jìn)行錄制、回放和修改)。</p><p>  創(chuàng)建測(cè)試場(chǎng)景(模擬用戶的操作)。</p><p>  運(yùn)行測(cè)試(運(yùn)行整個(gè)場(chǎng)景)。</p><p>  監(jiān)視場(chǎng)景(對(duì)服務(wù)器的各項(xiàng)性能指標(biāo)進(jìn)行實(shí)時(shí)監(jiān)測(cè))。</p><p>  分析測(cè)試結(jié)果(幫助測(cè)試人員對(duì)測(cè)試結(jié)果進(jìn)行分析)。</p><

90、;p>  使用LoadRunner測(cè)試www.163.com網(wǎng)站郵箱登錄的操作過程。</p><p>  選擇程序組里面的LoadRunner/virtual user generator。</p><p>  選擇【web(http/html)】協(xié)議。不同的測(cè)試對(duì)象選擇不同的協(xié)議,針對(duì)web網(wǎng)站,選擇web協(xié)議。</p><p>  切換到腳本視圖,選擇【v

91、iew】/【script view】。其中vuser_init和vuser_end一般用于存放應(yīng)用程序初始化和關(guān)閉時(shí)的腳本,這兩個(gè)腳本只執(zhí)行一遍。Action中存放的是實(shí)際的主體腳本,可以多次運(yùn)行,測(cè)試人員也可以創(chuàng)建多個(gè)Action腳本。</p><p>  單擊工具欄上的【start recording】按鈕,開始錄制腳本?!綰RL】中填寫要測(cè)試的網(wǎng)址(mail.163.com)。</p><

92、;p>  選擇【option】按鈕,配置browser,默認(rèn)是IE,如系統(tǒng)默認(rèn)的瀏覽器不是ie,需要配置【specify path to application】。</p><p>  點(diǎn)擊【ok】按鈕,開始錄制。這是會(huì)自動(dòng)打開mail.163.com網(wǎng)頁。需要耐心等待,lr自動(dòng)會(huì)打開該網(wǎng)頁,不能人工打開。</p><p>  輸入用戶名和密碼,點(diǎn)擊登錄按鈕,直到登錄后的界面完全顯示

93、后再點(diǎn)擊錄制工具欄上的停止按鈕。</p><p>  錄制完成后,需要測(cè)試一遍該腳本。點(diǎn)擊工具欄上的運(yùn)行腳本按鈕,運(yùn)行完畢后會(huì)自動(dòng)生成一個(gè)報(bào)告,點(diǎn)擊頁面上的recording summary鏈接,可以進(jìn)入報(bào)告頁面。</p><p>  點(diǎn)擊【TOOLS】菜單下的【create controller scenario】選項(xiàng),選擇【manual scenario】(人工場(chǎng)景),設(shè)置number

94、 of vusers(虛擬用戶數(shù))為10。</p><p>  點(diǎn)擊【edit schedule】,設(shè)置【ramp up】(開始)選項(xiàng)【load setting】,選擇【duration】,設(shè)置【ramp down】。</p><p>  單擊【start scenario】開始測(cè)試。</p><p>  測(cè)試完成后,單擊【result】菜單,選擇【analyze

95、results】菜單,生成結(jié)果分析報(bào)告。</p><p>  分析測(cè)試結(jié)果(要有文字說明和截圖)。</p><p>  使用QTP測(cè)試windows版的飛機(jī)訂票系統(tǒng)(找出該程序的BUG,愈多愈好。BUG的編寫格式如下(如果有多個(gè)bug參照該格式分別進(jìn)行說明):</p><p>  首先需要熟悉QTP自帶的"C:\Program Files\Mercury

96、Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"程序,具體可以使用該程序的help文件。登錄后的界面如下所示:</p><p>  單擊【開始】-【程序】--【QuickTest professional】-【QuickTest professional】,啟動(dòng)QTP。具體測(cè)試過程參見C:\Program Files

97、\Mercury Interactive\QuickTest Professional\help \QTP4BPT.pdf文件。</p><p>  單擊【automation】菜單下的【record and run settings】。選擇【windows application】標(biāo)簽,設(shè)置【record and run only on】下的【application specified below】在【appl

98、ication】文本框中填入"C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"。這次我們使用QTP自動(dòng)的航班訂票系統(tǒng)程序來測(cè)試。</p><p>  單擊【tools】菜單下的【option】,單擊標(biāo)簽【Run】,將【view results when run

99、 session ends】前面的勾去掉。</p><p>  單擊工具欄上的【record】按鈕,QTP自動(dòng)啟動(dòng)flight程序。</p><p>  在【agent name】輸入mercury,【password】輸入mercury,登錄。</p><p>  進(jìn)入后隨便添加一個(gè)航班記錄即可。單擊【stop】按鈕停止記錄。</p><p&g

100、t;  單擊工具欄上的【run】按鈕,進(jìn)行回放。</p><p>  單擊【automation】菜單下的【result】菜單查看測(cè)試結(jié)果。具體如下所示:</p><p>  分析測(cè)試結(jié)果(要有文字說明和截圖)。</p><p>  使用CppTest測(cè)試一段c代碼</p><p>  注意:安裝c++test之前需要先安裝vc++6.0。將

101、以下代碼輸入到VC++6.0環(huán)境下進(jìn)行編譯,確保編譯通過。需要編寫測(cè)試用例:可以使用系統(tǒng)自動(dòng)生成的TC,如果系統(tǒng)的測(cè)試用例不完善,需要自己設(shè)計(jì)TC。TC格式如下:</p><p>  #include <string.h></p><p>  #include <stdio.h></p><p>  int user_input_handle

102、r(char *user_input, char * output)</p><p><b>  {</b></p><p>  int result = 0;</p><p>  if (strcmp("load", user_input) == 0) {</p><p>  strcpy(outp

103、ut,user_input);</p><p>  } else if (strcmp("save", user_input) == 0) {</p><p>  strcpy(output, user_input);</p><p>  } else if (strcmp("quit", user_input) == 0)

104、{</p><p>  strcpy(output, user_input);</p><p><b>  } else {</b></p><p>  result = -1;</p><p><b>  }</b></p><p>  return result;<

105、/p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p>  char res[] = "save";</p><p>  char des[5];</p>

106、<p>  printf("%d\n",user_input_handler("load",des));</p><p><b>  }</b></p><p>  安裝c++test。</p><p>  啟動(dòng)c++test,單擊【file】菜單下的【new project】子菜單,在出現(xiàn)的對(duì)

107、話框中選擇【import visual c++ 6.0 project】,輸入測(cè)試工程名和對(duì)應(yīng)的c++工程。</p><p>  單擊【test】下的【read symbols】。</p><p>  單擊【test】下的【test using】--【active configuration】,執(zhí)行單元測(cè)試。</p><p>  單擊標(biāo)簽【unit testing(

108、native)】,查看測(cè)試用例的通過情況。</p><p>  如果測(cè)試用例不全,需要添加tc,右鍵單擊任意一個(gè)tc,選擇【add】,定制arguments。</p><p>  單擊【test】下的【test using】--【configurations】---【built in】--【coding standards】--【crules】,執(zhí)行代碼規(guī)范檢查。</p>&

109、lt;p>  針對(duì)以上的c代碼,進(jìn)行單元測(cè)試,如果c++test生成的TC不完善,請(qǐng)你補(bǔ)充完善。如果代碼不規(guī)范,請(qǐng)加以修改。</p><p><b>  八、總結(jié)與體會(huì)</b></p><p>  要想成為好的測(cè)試人員,首先得了解自己要測(cè)試的軟件的相關(guān)知識(shí)。要了解軟件產(chǎn)品的架構(gòu)是什么樣的。要了解軟件的市場(chǎng)需求,在接觸軟件之初要可以多看看用戶的反饋信息,這些才是用

110、戶最關(guān)心的,也是在測(cè)試中需要注意的問題,滿足客戶是最大的需要。但是了解軟件需求之后要學(xué)會(huì)要多讀些軟件系統(tǒng)的技術(shù)文檔,軟件設(shè)計(jì)文檔,這些文檔可以幫助了解產(chǎn)品如何工作。</p><p>  要想在短暫的時(shí)間內(nèi),盡可能的學(xué)會(huì)一些東西,這需要跟老師、跟同學(xué)有很好的溝通,加深彼此的了解,同時(shí)我覺得這也是我將來走上社會(huì)的一把不可缺的鑰匙,通過溝通了解,才能更好有針對(duì)性地學(xué)習(xí)了解各方面的知識(shí),才能真正地學(xué)到了計(jì)算機(jī)教科書上所以

111、或者真正用到了課本知識(shí),鞏固了舊知識(shí),掌握了新知識(shí),甚至在實(shí)踐中推翻了本書上舊有的不合實(shí)際的知識(shí),這才是真正體現(xiàn)了知識(shí)的真正價(jià)值,學(xué)以致用。</p><p>  經(jīng)過這次學(xué)習(xí),遇到許多困難,也懂得了許多,在這段時(shí)間里,學(xué)習(xí)以前沒有學(xué)過的知識(shí),使我覺得特別有意義和價(jià)值。此次實(shí)訓(xùn)面對(duì)的數(shù)據(jù)測(cè)試及計(jì)算比較多頁比較復(fù)雜,這也考驗(yàn)了學(xué)生的態(tài)度及耐心。</p><p>  在課程中,我了解開發(fā)項(xiàng)目是一

112、個(gè)有機(jī)的整體,而軟件測(cè)試為最終的軟件是否成功把住了最后一道關(guān),測(cè)試的方法主要有白盒測(cè)試和黑盒測(cè)試兩種。在測(cè)試過程中需要建立詳細(xì)的測(cè)試計(jì)劃并嚴(yán)格按照測(cè)試計(jì)劃進(jìn)行測(cè)試,以減少測(cè)試的隨意性。</p><p>  1、最基本的測(cè)試的分類:從是否需要執(zhí)行被測(cè)軟件的角度,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試;從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可分為白盒測(cè)試和黑盒測(cè)試。 </p><p&g

113、t;  2、然后就是,白盒測(cè)試中的邏輯驅(qū)動(dòng)測(cè)試的覆蓋率測(cè)試。</p><p>  3、還有就是對(duì)于劃分等價(jià)類和邊界值法這一塊,讓我從模糊到明朗。 </p><p><b>  九、參考文獻(xiàn)</b></p><p>  [1] 鄭人杰,殷人昆,陶永雷《實(shí)用軟件工程[M]》.北京:清華大學(xué)出版社,1999 第208~209頁&l

溫馨提示

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

評(píng)論

0/150

提交評(píng)論