freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第五章軟件測(cè)試工程-資料下載頁(yè)

2025-08-01 13:16本頁(yè)面
  

【正文】 的特征 1. OO的單元測(cè)試 ?一個(gè)類可以包含一組不同的操作,而一個(gè)特定 的操作也可能存在于一組不同的類中。 不再孤 立地測(cè)試單個(gè)操作 (這是傳統(tǒng)單元測(cè)試的視角 ) ?OO軟件的 類測(cè)試 等價(jià)于 傳統(tǒng)的單元測(cè)試 . ?傳統(tǒng)軟件的單元測(cè)試關(guān)注算法細(xì)節(jié)和模塊接口 間流動(dòng)的數(shù)據(jù) OO軟件的類測(cè)試是由封裝在類中的操作和類的 狀態(tài)行為驅(qū)動(dòng)的 單元概念 的變化 —封裝的類或?qū)ο笞鳛樽钚? 的可測(cè)試單位 2. OO的集成測(cè)試 OO軟件沒(méi)有層次的控制結(jié)構(gòu) ,傳統(tǒng)的自頂向 下和自底向上的集成策略沒(méi)有意義 . OO軟件的集成兩種策略 : ?基于線程的測(cè)試 (threadbased testing) 集成響應(yīng)系統(tǒng)的一個(gè)輸入或事件所需的一組類 ,每個(gè)線程被個(gè)體地集成和測(cè)試 ,通過(guò)回歸測(cè)試保證沒(méi)有副作用產(chǎn)生 。 ?基于使用的測(cè)試 (usebased testing) 通過(guò)測(cè)試幾乎不使用服務(wù)器的類 (獨(dú)立類 )來(lái)開始系統(tǒng)的構(gòu)造 ,測(cè)試完獨(dú)立類后 ,使用獨(dú)立類按層逐步完成依賴類的測(cè)試直至完整的系統(tǒng)被構(gòu)造 。 3. OO的確認(rèn)測(cè)試 在確認(rèn)和系統(tǒng)測(cè)試層次 ,類連接的細(xì)節(jié)消失 . ?和傳統(tǒng)的確認(rèn)測(cè)試一樣 ,OO軟件的確認(rèn)關(guān)注 用戶可見的動(dòng)作和用戶可識(shí)別的系統(tǒng)輸出 . ?為輔助確認(rèn)測(cè)試的導(dǎo)出 , 應(yīng)利用分析模型中的 用例圖提供的場(chǎng)景來(lái)提高交互需求中發(fā)現(xiàn)錯(cuò)誤 的可能性 OO軟件的測(cè)試用例設(shè)計(jì) ?每個(gè)測(cè)試用例應(yīng)被唯一標(biāo)識(shí),并應(yīng)顯式地和與被 測(cè)試類相關(guān)聯(lián) ?測(cè)試的目的應(yīng)被陳述 ?對(duì)每個(gè)測(cè)試應(yīng)開發(fā)一組測(cè)試步驟,包括: ?將被測(cè)試對(duì)象的一組 特定狀態(tài) ?將被作為測(cè)試的結(jié)果使用的一組 消息和操作 ?當(dāng)對(duì)象被測(cè)試時(shí)可能產(chǎn)生的一組異常 ?一組外部條件 (進(jìn)行測(cè)試必須的軟件外部環(huán)境的變化 ) ?將輔助理解或?qū)崿F(xiàn)測(cè)試的補(bǔ)充信息 OO軟件的測(cè)試用例設(shè)計(jì)還處于成型期 . Binder,“ Essays on ObjectOriented Software Engineering” 中建議了對(duì) OO軟件的測(cè)試用例設(shè)計(jì)的整體方法 : 1. OO概念的測(cè)試用例設(shè)計(jì)的含義 ?封裝可能會(huì)成為測(cè)試的障礙 測(cè)試需要報(bào)告對(duì)象的具體和抽象狀態(tài),而封裝 使得對(duì)象的狀態(tài)快照難于獲得。 ?繼承,特別是多繼承使測(cè)試復(fù)雜化 子類繼承或重載的父類成員函數(shù)的測(cè)試問(wèn)題 ?繼承的成員函數(shù)是否都不需要測(cè)試 ? 對(duì)父類中已經(jīng)測(cè)試過(guò)的成員函數(shù) ,兩種情況需要 在子類中重新測(cè)試 : ? 繼承的成員函數(shù)在子類中做了改動(dòng) 。 ? 成員函數(shù)調(diào)用了改動(dòng)過(guò)的成員函數(shù)的部分 。 例如 : 父類 Base有兩個(gè)成員函數(shù) Inherited()和 Redefined(), 子類 Derived只對(duì) Redefined() 做了改動(dòng) . Derived ∷ Redefined() — 需要重新測(cè)試 Derived ∷ Inherited() — 如果它調(diào)用了 Redefined() 的 語(yǔ)句 ,則需重新測(cè)試 ,否則不必 子類繼承或重載的父類成員函數(shù)的測(cè)試問(wèn)題 ?對(duì)父類的測(cè)試是否能夠照搬到子類 ? 上例中 : Base∷ Redefined() 和 Derived ∷ Redefined() 已是 兩個(gè)不同的成員函數(shù) , 照理應(yīng)對(duì) Derived ∷ Redefined() 重新進(jìn)行測(cè)試分析 , 設(shè)計(jì)測(cè)試用例 ,但由于它們的 相似性 ,只需在 Base∷ Redefined() 的測(cè)試要求和測(cè)試用例上添加對(duì)Derived ∷ Redefined() 的新的測(cè)試要求和 增補(bǔ)相應(yīng)的測(cè)試用例 . 2. 傳統(tǒng) 測(cè)試用例設(shè)計(jì)方法的可用性 ?白盒測(cè)試方法可用于類定義的操作的測(cè)試 ?對(duì)具有簡(jiǎn)潔結(jié)構(gòu)的類,白盒測(cè)試最好用于類級(jí)別 的測(cè)試 ?黑盒測(cè)試方法也適合 OO系統(tǒng) 測(cè)試單個(gè)類的方法 ( 1) 隨機(jī)測(cè)試 例 :銀行系統(tǒng)的 account(帳戶 )類有下列操作: ?open(打開 ) ?setup(建立 ) ?deposit(存款 ) ?withdraw(取款 ) ?balance(余額 ) ?summarize(清單 ) ?creditLimit(透支限額 ) ?close(關(guān)閉 ) 系統(tǒng)對(duì) 操作的限制: ?必須在應(yīng)用其它操作之前先打開帳戶 ,在完成了 全部操作之后才能關(guān)閉帳戶 。 ?…… 在限制 下還是 存在 操 作的許 多排列 一個(gè) account類實(shí)例的最小行為歷史包括下列操作 : open . setup . deposit . withdraw . close account類的最小測(cè)試序列 大量的其它行為可能在下面序列中發(fā)生 : open . setup . deposit . [deposit | withdraw | balance | summarize | creditLimit] n . withdraw . close 一系列不同的操作序列可以隨機(jī)地產(chǎn)生 ,例如 : 測(cè)試用例 r1: . 測(cè)試用例 r2: . balance. 這些和其它的隨機(jī)順序測(cè)試被進(jìn)行 ,以測(cè)試不同的類實(shí)例的生存歷史 . 測(cè)試單個(gè)類的方法 ( 2) 劃分測(cè)試 (partition testing) 與測(cè)試傳統(tǒng)軟件時(shí)采用的等價(jià)類劃分方法類似 . 劃分類別的方法 : ?基于狀態(tài)的劃分 ?基于屬性的劃分 ?基于功能的劃分 基于狀態(tài)的劃分 根據(jù)類操作改變類狀態(tài)的能力來(lái)劃分類操作 . 例:銀行系統(tǒng)的 account(帳戶 )類 狀態(tài)操作包括 : deposit(存款 ) withdraw(取款 ) 非狀態(tài)操作包括 :balance(余額 ) summarize(清單 ) creditLimit(透支限額 ) 測(cè)試用例 p1(測(cè)試改變狀態(tài)的操作 ): .. 測(cè)試用例 p2 (測(cè)試不改變狀態(tài)的操作 ,在最小測(cè)試序列中 的操作除外 ) : . 基于屬性的劃分 根據(jù)類操作使用的屬性來(lái)劃分類操作 . 例: 銀行系統(tǒng)的 account(帳戶 )類可根據(jù) balance屬 性來(lái)定義劃分 ,把操作劃分為三個(gè)類別 : ? 使用 balance的操作 ? 修改 balance的操作 ? 不使用也不修改 balance的操作 為上述每個(gè)類別設(shè)計(jì)測(cè)試序列 基于功能的劃分 根據(jù)類操作所完成的功能來(lái)劃分類操作 . 例: 銀行系統(tǒng)的 account(帳戶 )類中的操作可劃分 為三個(gè)類別 : ? 初始化操作 (open, setup) ? 計(jì)算操作 (deposit, withdraw) ? 查詢操作 (balance, summarize, creditLimit) ? 終止操作 (close) 為上述每個(gè)類別設(shè)計(jì)測(cè)試序列 測(cè)試類和方法 ( 3) 基于故障的測(cè)試 (fault_based testing) 與測(cè)試傳統(tǒng)軟件時(shí)采用的錯(cuò)誤推測(cè)法類似 . 面向?qū)ο蟮募蓽y(cè)試 (類間測(cè)試用例的設(shè)計(jì) ) 在 OO系統(tǒng)的集成開始時(shí) , 開始 類間的 協(xié)作測(cè)試 . 和單個(gè)類的測(cè)試一樣 , 類協(xié)作測(cè)試可 通過(guò)隨機(jī)和劃分方法以及基于場(chǎng)景的測(cè)試 和行為測(cè)試來(lái)完成 . ATM Bank 銀行系統(tǒng)的類協(xié)作圖 ATM User Interface Account Cashier verifyAcct verifyPIN verifyPolicy withdrawReq depositReq acctInfoReq cardInserted password deposit withdraw accentStatus terminate validPIN validAcct creditLimit accentType balance withdraw deposit close openAcct initialDeposit authorize Card deuthorize closeAcct Validation Info verifyStatus depositStatus dispense Case printAccent Stat readCardInfo getCaseAmnt OO集成測(cè)試方法 ( 1)多個(gè)類 測(cè)試 Kirani, ,在“ Specification and Verification of ObjectOriented Programs” 中建議了下面的步驟序列以生成多個(gè)類隨機(jī)測(cè)試用例 : ,使用類操作列表來(lái)生成一系列隨機(jī)測(cè)試序列 ,這些操作發(fā)送消息給服務(wù)器類 。 ,確定在服務(wù)器對(duì)象中的協(xié)作者類和對(duì)應(yīng)的操作 。 (已經(jīng)被來(lái)自客戶對(duì)象的消息調(diào)用 ),確定傳遞的消息 。 ,確定下一層被調(diào)用的操作 ,并把這些操作結(jié)合進(jìn)測(cè)試序列中 . ATM Bank 銀行系統(tǒng)的類協(xié)作圖 ATM User Interface Account Cashier verifyAcct verifyPIN verifyPolicy withdrawReq depositReq acctInfoReq cardInserted password deposit withdraw accentStatus terminate validPIN validAcct creditLimit accentType balance withdraw deposit close openAcct initialDeposit authorize Card deuthorize closeAcct Validation Info verifyStatus depositStatus dispense Case printAccent Stat readCardInfo getCaseAmnt 銀行系統(tǒng)中 Bank類和 ATM類的操作序列 : verifyAcct ? verifyPIN ? [[verifyPolicy ? withdrawReq] | depositReq | acctInfoReq]n 對(duì) Bank類的隨機(jī)測(cè)試用例可能是 : 測(cè)試用例 r3: verifyAcct ? verifyPIN ? depositReq 為了考慮測(cè)試中涉及的協(xié)作者 ,需要考慮與測(cè)試用例 r3中 每個(gè)操作相關(guān)聯(lián)的消息 : Bank必須和 ValidationInfo協(xié)作以執(zhí)行 verifyAcct和 verifyPIN Bank還必須和 Account協(xié)作以執(zhí)行 depositReq 因此 ,測(cè)試這些協(xié)作的新的測(cè)試用例是 : 測(cè)試用例 r4:verifyAcctBank? [validAcctValidationInfo] ? verifyPINBank ? [validPINValidationInfo] ? depositReq ? [depositAccount] OO集成測(cè)試方法 ( 2)從動(dòng)態(tài)模型導(dǎo)出 測(cè)試用例 設(shè)計(jì)的測(cè)試用例應(yīng)達(dá)到完全的狀態(tài)覆蓋 ,即操作序列應(yīng)導(dǎo)致 account類的變遷穿越所有允許的狀態(tài) : 測(cè)試用例 s1: open?setupAccent ?deposit(initial) ? withdraw(final) ?close(最小測(cè)試序列 ) 向最小序列中加入附加的測(cè)試序列 ,例如 : 測(cè)試用例 s2:open?setupAccent ?deposit(initial) ? deposit ?balance ?credit ? withdraw(final) ?close 測(cè)試用例 s3:open?setupAccent ?deposit(initial) ? deposit ?withdraw ?actInfo ?withdraw(final) ?close …… 導(dǎo)出更多的測(cè)試用例以保證該類的所有行為都被適當(dāng)?shù)?
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1