版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測(cè)試課程設(shè)計(jì)
- 軟件測(cè)試課程設(shè)計(jì)
- 軟件測(cè)試課程復(fù)習(xí)題
- 軟件測(cè)試課程設(shè)計(jì)報(bào)告
- 軟件測(cè)試畢業(yè)論文
- 軟件測(cè)試-論文-樣例
- 軟件測(cè)試畢業(yè)論文
- 軟件測(cè)試畢業(yè)論文
- 軟件測(cè)試畢業(yè)論文
- 免費(fèi)測(cè)試論文手機(jī)軟件測(cè)試論文
- 學(xué)生管理系統(tǒng)測(cè)試--軟件測(cè)試論文
- 軟件測(cè)試論文:軟件企業(yè)如何實(shí)施自動(dòng)化測(cè)試
- 軟件測(cè)試概論課程教學(xué)大綱
- 軟件無線電課程論文
- 軟件測(cè)試課程設(shè)計(jì)--醫(yī)院管理系統(tǒng)
- 軟件系統(tǒng)詳細(xì)測(cè)試計(jì)劃--課程設(shè)計(jì)
- 打字訓(xùn)練測(cè)試軟件-java課程設(shè)計(jì)
- 軟件測(cè)試課程設(shè)計(jì)報(bào)告-計(jì)算器程序測(cè)試
- 畢業(yè)論文軟件測(cè)試環(huán)境搭建
- 畢業(yè)論文---軟件測(cè)試環(huán)境搭建
評(píng)論
0/150
提交評(píng)論