




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 指南:測試用例 主題解釋 從用例中生成測試用例 從補(bǔ)充規(guī)約中生成測試用例o o o oo為性能測試生成測試用例 為安全性/訪問控制測試生成測試用例為配置測試生成測試用例 為安裝測試生成測試用例 為其他非功能性測試生成測試用例 為單元測試生成測試用例 白盒測試 黑盒測試為產(chǎn)品驗(yàn)收測試生成測試用例為回歸測試編制測試用例 解釋要使最終用戶對(duì)軟件感到滿意,最有力的舉措就是對(duì)最終用戶的期望加以明確闡述,以便對(duì)這些期望進(jìn)行核實(shí)并確認(rèn)其有效性。測試用例反映了要核實(shí)的需求。然而,核實(shí)這些需求可能通過不同的方式并由不同的測試員來實(shí)施。例如,執(zhí)行軟件以便驗(yàn)證它的功能和性能,這項(xiàng)操作可能由某個(gè)測試員采用自動(dòng)測試技
2、術(shù)來實(shí)現(xiàn); 計(jì)算機(jī)系統(tǒng)的關(guān)機(jī)步驟可通過手工測試和觀察來完成;不過,市場占有率和銷售數(shù)據(jù)(以及產(chǎn)品需求),只能通過評(píng)測產(chǎn)品和競爭銷售數(shù)據(jù)來完成。 既然可能無法(或不必負(fù)責(zé))核實(shí)所有的需求,那么是否能為測試挑選最適合或最關(guān)鍵的需求則關(guān)系到項(xiàng)目的成敗。選中要核實(shí)的需求將是對(duì)成本、風(fēng)險(xiǎn)和對(duì)該需求進(jìn)行核實(shí)的必要性這三者權(quán)衡考慮的結(jié)果。 確定測試用例之所以很重要,原因有以下幾方面。測試用例構(gòu)成了設(shè)計(jì)和制定測試過程的基礎(chǔ)。 測試的“深度”與測試用例的數(shù)量成比例。由于每個(gè)測試用例反映不同的場景、條件或經(jīng)由產(chǎn)品的流,因而,隨著測試用例數(shù)量的增加,您對(duì)產(chǎn)品質(zhì)量和測試流程也就測試用例 測試用例是為某個(gè)特殊目標(biāo)而編制
3、的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。 越有信心。 判斷測試是否完全的一個(gè)主要評(píng)測方法是基于需求的覆蓋,而這又是以確定、實(shí)施和/或執(zhí)行的測試用例的數(shù)量為依據(jù)的。類似下面這樣的說明:“95 % 的關(guān)鍵測試用例已得以執(zhí)行和驗(yàn)證”,遠(yuǎn)比“我們已完成 95 % 的測試”更有意義。 測試工作量與測試用例的數(shù)量成比例。根據(jù)全面且細(xì)化的測試用例,可以更準(zhǔn)確地估計(jì)測試周期各連續(xù)階段的時(shí)間安排。 測試設(shè)計(jì)和開發(fā)的類型以及所需的資源主要都受控于測試用例。 測試用例通常根據(jù)它們所關(guān)聯(lián)關(guān)系的測試類型或測試需求來分類,而且將隨類型和需求進(jìn)行相應(yīng)地改變。最佳方案是為每個(gè)測試
4、需求至少編制兩個(gè)測試用例: 一個(gè)測試用例用于證明該需求已經(jīng)滿足,通常稱作正面測試用例; 另一個(gè)測試用例反映某個(gè)無法接受、反?;蛞馔獾臈l件或數(shù)據(jù),用于論證只有在所需條件下才能夠滿足該需求,這個(gè)測試用例稱作測試用例。 從用例中生成測試用例用于功能性測試的測試用例來源于測試目標(biāo)的用例(請(qǐng)參見工件:用例)。應(yīng)該為每個(gè)用例場景編制測試用例。用例場景要通過描述流經(jīng)用例的路徑來確定,這個(gè)流經(jīng)過程要從用例開始到結(jié)束遍歷其中所有基本流和備選流。 例如,下圖中經(jīng)過用例的每條不同路徑都反映了基本流和備選流,都用箭頭來表示?;玖饔弥焙诰€來表示,是經(jīng)過用例的最簡單的路徑。每個(gè)備選流自基本流開始,之后,備選流會(huì)在某個(gè)特
5、定條件下執(zhí)行。備選流可能會(huì)重新加入基本流中 (備選流 1 和 3),還可能起源于另一個(gè)備選流(備選流 2),或者終止用例而不再重新加入某個(gè)流(備選流 2 和 4)。 用例的流示例遵循上圖中每個(gè)經(jīng)過用例的可能路徑,可以確定不同的用例場景。從基本流開始, 再將基本流和備選流結(jié)合起來,可以確定以下用例場景: 注:為方便起見,場景 5、6 和 8 只描述了備選流 3 指示的循環(huán)執(zhí)行一次的情況。 生成每個(gè)場景的測試用例是通過確定某個(gè)特定條件來完成的,這個(gè)特定條件將導(dǎo)致特定用例場景的執(zhí)行。 例如,假定上圖描述的用例對(duì)備選流 3 規(guī)定如下:“如果在上述步驟 2輸入提款金額中輸入的美元量超出當(dāng)前帳戶余額,則出
6、現(xiàn)此流。系統(tǒng)將顯示一則警告消息,之后重新加入基本流,再次執(zhí)行上述步驟2輸入提款金額,此時(shí)銀行客戶可以輸入新的提款金額?!?據(jù)此,可以開始確定需要用來執(zhí)行備選流 3 的測試用例:測試用例 ID場景 條件 預(yù)期結(jié)果 TC x場景 4步驟 2 - 提款金額 帳戶余額 在步驟2處重 場景 1基本流 場景 2基本流 備選流 1場景 3基本流 備選流 1備選流 2場景 4基本流 備選流 3場景 5基本流 備選流 3備選流 1場景 6基本流 備選流 3備選流 1備選流 2場景 7基本流 備選流 4場景 8基本流 備選流 3備選流 4 注:由于沒有提供其他信息,以上顯示的測試用例都非常簡單。測試用例很少如此簡
7、單。 下面是一個(gè)由用例生成測試用例的更符合實(shí)際情況的示例示例:新加入基本流 TC y場景 4步驟 2 - 提款金額 帳戶余額 不執(zhí)行備選流3, 執(zhí)行基本流 TC z場景 4步驟 2 - 提款金額 = 帳戶余額 不執(zhí)行備選流3, 執(zhí)行基本流 一臺(tái) ATM 機(jī)器的主角和用例。 下表包含了上圖中提款用例的基本流和某些備用流:基本流 本用例的開端是 ATM 處于準(zhǔn)備就緒狀態(tài)。 1. 準(zhǔn)備提款 - 客戶將插入 ATM 機(jī)的讀卡機(jī)。 2. 驗(yàn)證- ATM 機(jī)從的磁條中讀取帳戶代碼,并檢查它是否屬于可以接收的。 3. 輸入 PIN - ATM 要求客戶輸入 PIN 碼(4 位) 4. 驗(yàn)證帳戶代碼和 PIN
8、 - 驗(yàn)證帳戶代碼和 PIN 以確定該帳戶是否有效以及所輸入的 PIN 對(duì)該帳戶來說是否正確。對(duì)于此 流,帳戶是有效的而且 PIN 對(duì)此帳戶來說正確無誤。 5. ATM 選項(xiàng) - ATM 顯示在本機(jī)上可用的各種選項(xiàng)。在此 流中,銀行客戶通常選擇“提款”。 6. 輸入金額 - 要從 ATM 中提取的金額。對(duì)于此流 , 客戶需選擇預(yù)設(shè)的金額(10 美元、20 美元、50 美元或 100 美元)。 7. 授權(quán) - ATM 通過將卡 ID、PIN、金額以及帳戶信息作復(fù),批準(zhǔn)完成提款過程,并且據(jù)此更新帳戶余額。 8. 出鈔 - 提供現(xiàn)金。 9. 返回-被返還。 10. 收據(jù) - 打印收據(jù)并提供給客戶。A
9、TM 還相應(yīng)地更新內(nèi)部記錄。 用例結(jié)束時(shí) ATM 又回到準(zhǔn)備就緒狀態(tài)。 備選流 1 -無效 在基本流步驟 2 中 - 驗(yàn)證,如果卡是無效的,則卡被退回,同時(shí)會(huì)相關(guān)消息。 備選流 2 -在基本流步驟 5 中 - ATM 選項(xiàng),如果 ATM 內(nèi)沒有現(xiàn)金,則 ATM 內(nèi)沒有現(xiàn)金 “提款”選項(xiàng)將無法使用。 備選流 3 - ATM 內(nèi)現(xiàn)金不足 在基本流步驟 6 中- 輸入金額,如果 ATM 機(jī)內(nèi)金額少于請(qǐng)求提取的金額,則將顯示一則適當(dāng)?shù)南ⅲ⑶以诓襟E 6 - 輸入金額處重新加入基本流。 備選流 4 - PIN 有誤 在基本流步驟 4 中- 驗(yàn)證帳戶和 PIN,客戶有三次機(jī)會(huì)輸入PIN。 如果 PIN
10、輸入有誤,ATM 將顯示適當(dāng)?shù)南?;如果還存在輸入機(jī)會(huì),則此流在步驟 3 - 輸入 PIN 處重新加入基本流。 如果最后一次嘗試輸入的 PIN 碼仍然錯(cuò)誤,則該卡將被 ATM 機(jī)保留,同時(shí) ATM 返回到準(zhǔn)備就緒狀態(tài),本用例終止。 備選流 5 -帳戶不存在 在基本流步驟 4 中 - 驗(yàn)證帳戶和 PIN,如果銀行系統(tǒng)返回的代碼表明找不到該帳戶或禁止從該帳戶中提款,則 ATM 顯示適當(dāng)?shù)南⒉⑶以诓襟E 9 - 返回 處重新加入基本流。 備選流 6 - 帳面金額不足 在基本流步驟 7 - 授權(quán)中,銀行系統(tǒng)返回代碼表明帳戶余額少于在基本流步驟 6 - 輸入金額內(nèi)輸入的金額,則 ATM 顯示適當(dāng)?shù)南⒉?/p>
11、且在步驟 6 - 輸入金額處重新加入基本流。 備選流 7 - 達(dá)到每日最大的提款金額 在基本流步驟 7 - 授權(quán)中,銀行系統(tǒng)返回的代碼表明包括本提款請(qǐng)求在內(nèi),客戶已經(jīng)或?qū)⒊^在 24 小時(shí)內(nèi)允許提取的最多金額,則 ATM 顯示適當(dāng)?shù)南⒉⒃诓襟E 6 - 輸入金額上重新加入基本流。 備選流 x -記錄錯(cuò)誤 如果在基本流步驟 10 - 收據(jù)中,記錄無法更新,則 ATM 進(jìn)入“安全模式”,在此模式下所有功能都將暫停使用。同時(shí)向銀行系統(tǒng)發(fā)送一條適當(dāng)?shù)木瘓?bào)信息表明 ATM 已經(jīng)暫停工作。 備選流 y -退出 客戶可隨時(shí)決定終止交易(退出)。交易終止,隨之退出。 備選流 z - “”ATM 包含大量的傳感
12、器,用以監(jiān)控各種功能,如電源檢測器、不同的門和出入口處的測壓器以及動(dòng)作檢測器等。在任一時(shí)刻, 如果某個(gè)傳感器被激活,則警報(bào)信號(hào)將發(fā)送給而 且 ATM 進(jìn)入“安全模式”,在此模式下所有功能都暫停使用,直到采取適當(dāng)?shù)闹貑?重新初始化的措施。 在第一次迭代中,根據(jù)迭代計(jì)劃,我們需要核實(shí)提款用例已經(jīng)正確地實(shí)施。此時(shí)尚未實(shí)施整個(gè)用例,只實(shí)施了下面的流: 基本流 - 提取預(yù)設(shè)金額(10 美元、20 美元、50 美元、 100 美元) 備選流 2 - ATM 內(nèi)沒有現(xiàn)金 備選流 3 - ATM 內(nèi)現(xiàn)金不足 可以從這個(gè)用例生成下列場景6(場景 3 和 7)內(nèi)的循環(huán)以及循環(huán)組合未納入注:為方便起見,備選流 3
13、和上表。 對(duì)于這 7 個(gè)場景中的每一個(gè)場景都需要確定測試用例??梢圆捎镁仃嚮驔Q策表來確定和管理測試用例。下面顯示了一種通用格式,其中各行代表各個(gè)測試用例, 而各列則代表測試用例的信息。本示例中,對(duì)于每個(gè)測試用例,存在一個(gè)測試用例 ID、條件(或說明)、測試用例中涉及的所有數(shù)據(jù)元素(作為輸入或已經(jīng)存在于數(shù)據(jù)庫中)以及預(yù)期結(jié)果。 通過從確定執(zhí)行用例場景所需的數(shù)據(jù)元素入手構(gòu)建矩陣。然后,對(duì)于每個(gè)場景, 至少要確定包含執(zhí)行場景所需的適當(dāng)條件的測試用例。例如,在下面的矩陣中, V(有效)用于表明這個(gè)條件必須是 VALID(有效的)才可執(zhí)行基本流,而 I(無效)用于表明這種條件下將激活所需備選流。下表中使
14、用的“n/a”(不適用) 表明這個(gè)條件不適用于測試用例。 TC(測試用例 ) ID號(hào) 場景/條件 PIN帳號(hào) 輸入的金額 (或選擇的金 帳面金額 ATM內(nèi)的金額 預(yù)期結(jié)果 場景 1 - 成功的提款 基本流 場景 2 - ATM 內(nèi)沒有現(xiàn)金 基本流 備選流 2場景 3 - ATM 內(nèi)現(xiàn)金不足 基本流 備選流 3場景 4 - PIN 有誤(還有輸入機(jī)會(huì)) 基本流 備選流 4場景 5 - PIN 有誤(不再有輸入機(jī)會(huì)) 基本流 備選流 4場景 6 - 帳戶不存在/帳戶類型有誤 基本流 備選流 5場景 7 - 帳戶余額不足 基本流 備選流 6 備選流 4 - PIN 有誤 備選流 5 - 帳戶不存在/
15、帳戶類型有誤 備選流 6 - 帳面金額不足 在上面的矩陣中,六個(gè)測試用例執(zhí)行了四個(gè)場景。對(duì)于基本流,上述測試用例 CW1 稱為正面測試用例。它一直沿著用例的基本流路徑執(zhí)行,未發(fā)生任何偏差?;玖鞯娜鏈y試必須包括測試用例,以確保只有在符合條件的情況下才執(zhí)行基本流。這些測試用例由 CW2 至 6 表示(陰影單元格表明這種條件下需要執(zhí)行備選流)。雖然 CW2 至 6 對(duì)于基本流而言都是測試用例,但它們相對(duì)于備選流 2 至 4 而言是正面測試用例。而且對(duì)于這些備選流中的每一個(gè)而言,至少存在一個(gè)測試用例(CW1 - 基本流)。 每個(gè)場景只具有一個(gè)正面測試用例和測試用例是不充分的,場景 4 正是這樣的一
16、個(gè)示例。要全面地測試場景 4 - PIN 有誤,至少需要三個(gè)正面測試用例(以激活場景 4): 輸入了錯(cuò)誤的 PIN,但仍存在輸入機(jī)會(huì),此備選流重新加入基本流中的步驟 3 - 輸 PIN。 入輸入了錯(cuò)誤的 PIN,而且不再有輸入機(jī)會(huì),則此備選流將保留并終止用例。最后一次輸入時(shí)輸入了“正確”的 PIN。備選流在步驟 5 - 輸入金額處重新加入基本 流。額) CW1.場景 1 - 成功的提款 VVVVV成功的提款。 CW2.場 景 2 - ATM 內(nèi) 沒有現(xiàn)金 VVVVI提款選項(xiàng)不可用,用例結(jié)束 CW3.場 景 3 - ATM 內(nèi) 現(xiàn)金不足 VVVVI警告消息, 返回基本流步 驟 6 - 輸入金額
17、CW4.場景 4 - PIN 有誤( 還有不止一次輸入機(jī)會(huì)) IVn/aVV警告消息, 返回基本流步驟 4,輸入 PINCW5.場景 4 - PIN 有誤( 還有一次輸入機(jī)會(huì)) IVn/aVV警告消息, 返回基本流步驟 4,輸入 PINCW6.場景 4 - PIN 有誤( 不再有 輸 入 機(jī)會(huì)) IVn/aVV警告消息, 卡予保留, 用例結(jié)束 注:在上面的矩陣中,無需為條件(數(shù)據(jù))輸入任何實(shí)際的值。以這種方式創(chuàng)建測試用例矩陣的一個(gè)優(yōu)點(diǎn)在于容易看到測試的是什么條件。由于只需要查看 V 和 I(或此處采用的陰影單元格),這種方式還易于判斷是否已經(jīng)確定了充足的測試用例。從上表中可發(fā)現(xiàn)存在幾個(gè)條件不具
18、備陰影單元格,這表明測試用例還不完全,如場景 6 - 不存在的帳戶/帳戶類型有誤和場景 7 - 帳戶余額不足就缺少測試用例。 一旦確定了所有的測試用例,則應(yīng)對(duì)這些用例進(jìn)行復(fù)審和驗(yàn)證以確保其準(zhǔn)確且適度,并取消多余或等效的測試用例。有關(guān)詳細(xì)信息,請(qǐng)參見檢查點(diǎn):測試用例。 測試用例一經(jīng)認(rèn)可,就可以確定實(shí)際數(shù)據(jù)值(在測試用例實(shí)施矩陣中)并且設(shè)定測試數(shù)據(jù)(關(guān)于測試數(shù)據(jù)的詳細(xì)信息,請(qǐng)參見指南:測試數(shù)據(jù))。 TC(測試用例 ) ID號(hào) 場景/條件 PIN帳號(hào) 輸入的金額 ( 或選擇的金額) 帳面金額 ATM內(nèi)的金額 預(yù)期結(jié)果 CW1.場 景 1 - 成功的提款 4987809 -49850.00500.00
19、2,000成功的提款。帳戶余額被更新為 450.00CW2.場 景 2 - ATM 內(nèi) 沒有現(xiàn)金 4987809 -498100.00500.000.00提款選項(xiàng)不可用, 用例結(jié)束 CW3.場 景 3 - ATM 內(nèi) 現(xiàn)金不足 4987809 -498100.00500.0070.00警告消息, 返回基本流步驟 6 - 輸入金額 CW4.場 景 4 - PIN 有 誤 (還有不止一次輸入機(jī)會(huì)) 4978809 -498n/a500.002,000警告消息, 返 回 基 本流 步 驟4 , 輸 入PINCW5.場 景 4 - PIN有 誤 (還有一次輸入機(jī)會(huì)) 4978809 -498n/a50
20、0.002,000警告消息, 返 回 基 本流 步 驟4 , 輸 入 CW6.場 景 4 -4978809 -n/a500.002,000警告消息, 以上測試用例只是在本次迭代中需要用來驗(yàn)證提款用例的一部分測試用例。需要的其他測試用例包括: 場景 6 -場景 6 -場景 7 -帳戶不存在/帳戶類型有誤:未找到帳戶或帳戶不可用帳戶不存在/帳戶類型有誤:禁止從該帳戶中提款帳戶余額不足:請(qǐng)求的金額超出帳面金額 在將來的迭代中,當(dāng)實(shí)施其他流時(shí),在下列情況下將需要測試用例:無效卡(所持卡為掛失卡、被盜卡、非承兌銀行發(fā)卡、磁條損壞等) 無法讀卡(讀卡機(jī)堵塞、脫機(jī)或出現(xiàn)故障) 帳戶已消戶、凍結(jié)或由于其他方面
21、原因而無法使用 ATM 內(nèi)的現(xiàn)金不足或不能提供所請(qǐng)求的金額(與 CW3 不同,在 CW3 中只是一種幣值不足,而不是所有幣值都不足) 無法聯(lián)系銀行系統(tǒng)以獲得認(rèn)可 銀行網(wǎng)絡(luò)離線或交易過程中斷電 在確定功能性測試用例時(shí),確保滿足下列條件:已經(jīng)為每個(gè)用例場景確定了充足的正面和測試用例。 測試用例可以處理用例所實(shí)施的所有業(yè)務(wù)規(guī)則,確保對(duì)于業(yè)務(wù)規(guī)則,無論是在內(nèi)部、外部還是在邊界條件/值上都存在測試用例。 測試用例可以處理所有或動(dòng)作排序(如在設(shè)計(jì)模型的序列圖中確定的內(nèi)容),還應(yīng)能處理用戶界面對(duì)象狀態(tài)或條件。 測試用例可以處理為用例所指定的任何特殊需求,如最佳/最差性能,有時(shí)這些特殊需求會(huì)與用例執(zhí)行過程中的
22、最小/最大負(fù)載或數(shù)據(jù)容量組合在一起。 關(guān)于測試數(shù)據(jù)的其他信息,另請(qǐng)參見指南:測試數(shù)據(jù)。從補(bǔ)充規(guī)約中生成測試用例并不是所有的測試目標(biāo)需求都將在用例中有所反映。非功能性需求(如性能、安全性和訪問控制)以及配置要求等將會(huì)說明測試目標(biāo)的其他行為或特征。補(bǔ)充規(guī)約是為其他行為生成測試用例的主要來源。 關(guān)于如何生成這些其他測試用例的指南說明如下:PIN有 誤(不再有輸入機(jī)會(huì)) 498卡予保留, 用例結(jié)束 為性能測試生成測試用例 為安全性/訪問控制測試生成測試用例為配置測試生成測試用例 為安裝測試生成測試用例 為其他非功能性測試生成測試用例 為性能測試生成測試用例性能測試用例的主要輸入是補(bǔ)充規(guī)約,補(bǔ)充規(guī)約中包
23、含了非功能性需求(請(qǐng)參見工件:補(bǔ)充規(guī)約)。為性能測試生成測試用例時(shí),請(qǐng)使用下列指南: 對(duì)于補(bǔ)充規(guī)約內(nèi)闡明性能標(biāo)準(zhǔn)的各條說明都應(yīng)確保至少要確定一個(gè)測試用例。性能標(biāo)準(zhǔn)通常表示為時(shí)間/事務(wù)、事務(wù)量/用戶或百分?jǐn)?shù)的形式。 對(duì)每個(gè)關(guān)鍵用例,都應(yīng)確保至少要確定一個(gè)測試用例。關(guān)鍵用例是在上述說明中和/或在工作量分析文檔中確定的、必須采用性能評(píng)測方法來評(píng)估的用例(請(qǐng)參見工件:工作量分析文檔)。 與功能性測試的測試用例類似,通常對(duì)于每個(gè)用例/需求都會(huì)存在不止一個(gè)測試用例。常見的情況是:存在一個(gè)低于性能閾值的測試用例、一個(gè)處于閾值上的測試用例,還有一個(gè)測試用例高于閾值。 除了以上性能標(biāo)準(zhǔn)以外,確保已確定影響響應(yīng)時(shí)
24、間的特定條件,包括:數(shù)據(jù)庫的大小 - 存在多少個(gè)記錄? 工作量 - 同時(shí)執(zhí)行操作的最終用戶的數(shù)量和類型,以及要同時(shí)執(zhí)行的事務(wù)的數(shù)量和類型 環(huán)境特征(硬件、網(wǎng)件以及軟件配置) 將用于性能測試的測試用例記錄在類似于功能測試所使用的矩陣中。關(guān)于測試數(shù)據(jù)的其他信息,另請(qǐng)參見指南:測試數(shù)據(jù)。以下是各種性能測試的一些示例:對(duì)于負(fù)載測試:TC(測試用例)ID 號(hào) 工作量 條件 預(yù)期結(jié)果 PCW1.1 (單個(gè) ATM) 完成提款交易 全部交易(不依賴 于 主 角 的 時(shí)間)在 20 秒之內(nèi)完成 對(duì)于強(qiáng)度測試:為安全性/訪問控制測試生成測試用例主角和用例一同說明系統(tǒng)外部用戶與系統(tǒng)所執(zhí)行的動(dòng)作之間的交互,以便為特
25、定主角生成測試結(jié)果。復(fù)雜系統(tǒng)包含許多主角,所以我們編制測試用例時(shí)必須確保只有指定執(zhí)行用例的主角可以進(jìn)行此操作,這一點(diǎn)非常關(guān)鍵。在基于主角類型的用例流存在差別時(shí),尤其如此。 例如,在 ATM 用例中,如果主角“銀行客戶”的卡和帳戶有的屬于擁有這個(gè) ATM機(jī)的銀行,有的是競爭銀行的(和帳戶),或是企圖使用該 ATM 不支持的,則將對(duì)該主角“銀行客戶”執(zhí)行不同的用例流。 對(duì)于功能性測試用例,請(qǐng)同樣遵循上面列舉的指南。關(guān)于測試數(shù)據(jù)的其他信息,另請(qǐng)參見指南:測試數(shù)據(jù)。TC(測試用例)ID 號(hào) 工作量 條件 預(yù)期結(jié)果 SCW1.2 (1,000 個(gè)同時(shí)運(yùn)行的 ATM) 數(shù)據(jù)庫鎖定 - 2 個(gè)ATM 請(qǐng)求同
26、一帳戶 ATM 請(qǐng)求排成隊(duì)列 SCW2.2 (1,000 個(gè)同時(shí)運(yùn)行的 ATM) 無法實(shí)現(xiàn)銀行系統(tǒng)的通信 交易排成隊(duì)列或超時(shí) SCW3.2 (1,000 個(gè)同時(shí)運(yùn)行的 ATM) 在交易過程中,銀行系統(tǒng)通信被終止 顯示警告消息 PCW2.2 (1,000 個(gè)同時(shí)運(yùn)行的 ATM) 完成提款交易 全部交易(不依賴 于 主 角 的 時(shí)間)在 30 秒之內(nèi)完成 PCW3.3 (10.000 個(gè)同時(shí)運(yùn)行的 ATM) 完成提款交易 全部交易(不依賴 于 主 角 的 時(shí)間)在 50 秒之內(nèi)完成 關(guān)于安全性和訪問控制測試用例的示例:為配置測試生成測試用例在典型的分布式系統(tǒng)中,允許存在許多種受支持的硬件和軟件組合
27、。為了核實(shí)測試目標(biāo)在不同的配置情況下(如不同的操作系統(tǒng)、瀏覽器或 CPU 的速度)能否正常工作或執(zhí)行,應(yīng)該對(duì)此進(jìn)行測試。此外,測試還應(yīng)涵蓋構(gòu)件的組合,以便檢測在不同構(gòu)件的交互中產(chǎn)生的缺陷。例如,確保由應(yīng)用程序安裝的 DDL 版本不會(huì)與另一個(gè)應(yīng)用程序需要的相同 DDL 的版本發(fā)生沖突。 采用下列指南來生成用于配置測試的測試用例:確保對(duì)每個(gè)關(guān)鍵配置,應(yīng)至少存在一個(gè)測試用例可用于對(duì)其進(jìn)行確定。這是通過確定測試目標(biāo)的環(huán)境所要求的硬件和軟件配置以及確定這些配置的優(yōu)先級(jí)來完成的。應(yīng)確保最先測試最常見的配置,包括: o o o oo打印機(jī)支持 網(wǎng)絡(luò)連接 - 局域網(wǎng)和廣域網(wǎng) 服務(wù)器配置 - 服務(wù)器驅(qū)動(dòng)程序、服
28、務(wù)器硬件臺(tái)式機(jī)和/或服務(wù)器上安裝的其他軟件 所有已安裝軟件的軟件版本 確保對(duì)于每個(gè)可能有問題的配置至少存在一個(gè)測試用例。這些配置可能包括: 具有最低性能的硬件。 歷史上存在兼容性問題的共駐內(nèi)存的軟件。 通過最慢的 LAN/WAN 連接訪問服務(wù)器的客戶機(jī)。 資源不足(緩慢的 CPU 速度、最小的內(nèi)存或分辨率,磁盤空間不足等等) o o ooTC(測試用 例)ID 號(hào) 條件 卡 (V 表明卡有效) 讀卡機(jī) (V 表明讀卡機(jī)工作正常) 銀行的網(wǎng)絡(luò) 預(yù)期結(jié)果 ACW1.在銀行網(wǎng)絡(luò)之內(nèi) VVV所有用例都可用 ACW2.銀行網(wǎng)絡(luò)之外 VVI只有提款用例可用 ACW3.無法讀卡 IVV警告消息,卡被退出 A
29、CW4.因被盜,卡已掛失 IVV警告消息,卡予保留 ACW5.卡已過期 IVV警告消息,卡予保留 為安裝測試生成測試用例安裝測試需要核實(shí)測試目標(biāo)可以在所有可能的安裝情況下安裝。安裝情況可以指首次安裝測試目標(biāo),或是在裝有較早版本的機(jī)器上安裝測試目標(biāo)的某個(gè)較新的版本或工作版本。安裝測試還應(yīng)確保在遇到異常情況時(shí)(如磁盤空間不足),測試目標(biāo)的執(zhí)行情況仍可接受。 測試用例應(yīng)包含以下各種軟件的安裝情況:分發(fā)介質(zhì),例如磁盤、CD-ROM 或文件服務(wù)器。首次安裝。 完全安裝。 自定義安裝。升級(jí)安裝。 客戶機(jī)服務(wù)器軟件的安裝程序具備一組特定的測試用例。不同于基于主機(jī)的系統(tǒng),服務(wù)器和客戶機(jī)上的安裝程序是有所不同的
30、。因而,安裝測試應(yīng)執(zhí)行構(gòu)成測試目標(biāo)的所有構(gòu)件的安裝,包括客戶機(jī)、中間層以及服務(wù)器,這一點(diǎn)至關(guān)重要。 為其他非功能性測試生成測試用例理論上,應(yīng)找到所有必需的輸入來生成測試用例模型、設(shè)計(jì)模型以及補(bǔ)充規(guī)約工件的測試用例。不過,如果此時(shí)您需要補(bǔ)充已有的輸入,那也不足為奇。 示例如下:操作測試(用以檢驗(yàn)在某次故障發(fā)生后以及在下一次故障發(fā)生前“較長時(shí)間”內(nèi)軟件的運(yùn)行情況)的測試用例。 對(duì)性能瓶頸、系統(tǒng)容量或測試目標(biāo)的強(qiáng)度承受能力進(jìn)行調(diào)查的測試用例。 大多數(shù)情況下,您可以通過先前所確定的測試用例生成的某些測試用例來構(gòu)建其變體或聚合關(guān)系體,借此來查找測試用例。 為單元測試生成測試用例單元測試要求既測試單元的內(nèi)
31、部結(jié)構(gòu)同時(shí)還要測試其行為特征。測試內(nèi)部結(jié)構(gòu)要求了解實(shí)施單元的方式,基于這種了解的測試被稱為白盒測試。對(duì)單元行為特征的測試側(cè)重于從外部可觀察的單元行為,而不需要了解或考慮其實(shí)施方式。基于這種方法的測試稱為黑盒測試。基于這兩種方法所生成的測試用例的說明如下。 白盒測試 理論上,應(yīng)通過代碼測試每一條可能的路徑。在所有這些非常簡單的單元內(nèi)實(shí)現(xiàn)這樣的目標(biāo)是不切實(shí)際或幾乎是不可能的。作為最基本的測試,應(yīng)將每個(gè)決定到?jīng)Q定路徑(DD 路徑)測試至少一次,這樣可確保將所有語句至少執(zhí)行一次。決定通常是指 if 語句,而 DD 路徑是兩個(gè)決定之間的路徑。 要達(dá)到這種程度的測試覆蓋,建議您在選擇測試數(shù)據(jù)時(shí)應(yīng)使每個(gè)決定
32、都可以用每種可能的方法來評(píng)估。為達(dá)到上述目標(biāo),測試用例應(yīng)確保: 每個(gè)布爾表達(dá)式的求值結(jié)果為 true 和 false。例如,表達(dá)式 (a4) 的求值結(jié)果為 true/false 的四種組合 每一個(gè)無限循環(huán)至少要執(zhí)行零次、一次和一次以上。 可使用代碼覆蓋工具來確定白盒測試未測試到的代碼。在進(jìn)行白盒測試的同時(shí)應(yīng)進(jìn)行可靠性測試。 示例:假設(shè)您對(duì)類 Set of Integers 中的 member 函數(shù)執(zhí)行結(jié)構(gòu)測試。該測試在二進(jìn)制搜索的幫助下,將檢查該集合是否包含了某個(gè)指定的整數(shù)。 成員 (member) 函數(shù)以及相應(yīng)的流程圖。虛線箭頭指示出如何通過采用兩個(gè)測試用例將所有語句至少執(zhí)行一次。 理論上,
33、對(duì)于徹底測試的某個(gè)操作,測試用例應(yīng)遍歷代碼內(nèi)路徑的所有組合情況。在member 函數(shù)的 while-loop 中存在三個(gè)可選擇的路徑。測試用例可以多次遍歷該循環(huán),或是根本就不遍歷。如果測試用例根本就沒有遍歷循環(huán),則在代碼中只能找到一條路徑。如果遍歷循環(huán)一次,您將發(fā)現(xiàn)有三條路徑。如果遍歷兩次, 則您將發(fā)現(xiàn)存在六條路徑,如此類推。因而,路徑的總數(shù)應(yīng)該是: 1+3+6+12+24+48+.,在實(shí)際情況中,這個(gè)路徑組合總數(shù)根本無法無法處理。這就是為什么必須選擇所有這些路徑的子集的原因。本示例中,可以采用兩個(gè)測試用例來執(zhí)行所有的語句。其中一個(gè)測試用例中,您可以選擇 Set of Integers = 1,5,7,8,11,而且測試數(shù)據(jù) t = 3。在另一個(gè)測試用例中,您可以選擇 Set of Integers = 1,5,7,8,11,且 t = 8。 有關(guān)其他信息,請(qǐng)參見指南:單元測試。黑盒測試黑盒測試的目的是為了在不了解單元將如何實(shí)施指定行為的情況下,對(duì)指定行為進(jìn)行驗(yàn)證。黑盒測試側(cè)重并依賴于單元的輸入和輸出。 等價(jià)類劃分是一種用來減少所需測試數(shù)量的技術(shù)。對(duì)于每一個(gè)操作都應(yīng)確定參數(shù)和對(duì)象狀態(tài)的等價(jià)類。等價(jià)類是一組值的集合,對(duì)這組值來說,對(duì)象的行為應(yīng)類似。例如,一個(gè)集合可有三個(gè)等價(jià)類:空、若干元素以及滿。 可使用代碼覆蓋工具來確定白盒測試未測試到的代碼。在進(jìn)行黑盒測試的同時(shí)應(yīng)進(jìn)行可靠性測
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中標(biāo)泵站改造合同范例
- 公園設(shè)計(jì)合同范例
- 農(nóng)場蔬菜出售合同范例
- 體育培訓(xùn)合同范例
- 2025年小蘿莉考試題及答案
- 供應(yīng)商與酒店供貨合同范例
- 中等學(xué)校食堂承包合同范例
- 個(gè)人出售土地合同范例
- 會(huì)所會(huì)員服務(wù)合同范例
- 供河沙紅磚合同范例
- 高等職業(yè)學(xué)校電梯工程技術(shù)專業(yè)實(shí)訓(xùn)教學(xué)條件建設(shè)標(biāo)準(zhǔn)(征求意見稿)
- 2024年錦州師范高等專科學(xué)校單招職業(yè)技能測試題庫及答案解析
- 2024年國家電網(wǎng)招聘之通信類題庫附參考答案(考試直接用)
- 《市場營銷學(xué) 第3版》課件全套 段淑梅 第1-12章 市場營銷概論-市場營銷組合
- 大學(xué)生信息素養(yǎng)大賽考試題庫及答案
- 兒童保?。祻?fù))管理信息系統(tǒng)需求說明
- 文獻(xiàn)檢索與論文寫作
- 《麻醉與BIS監(jiān)測》課件
- 嶺南版二年級(jí)美術(shù)上冊期末試題B
- 勞務(wù)派遣人員安全培訓(xùn)方案
- 組建新部門規(guī)劃方案
評(píng)論
0/150
提交評(píng)論