面向?qū)ο髮?shí)現(xiàn)及測(cè)試第九章ppt課件_第1頁(yè)
面向?qū)ο髮?shí)現(xiàn)及測(cè)試第九章ppt課件_第2頁(yè)
面向?qū)ο髮?shí)現(xiàn)及測(cè)試第九章ppt課件_第3頁(yè)
面向?qū)ο髮?shí)現(xiàn)及測(cè)試第九章ppt課件_第4頁(yè)
面向?qū)ο髮?shí)現(xiàn)及測(cè)試第九章ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第九章第九章 面向?qū)ο筌浖膶?shí)現(xiàn)與測(cè)試面向?qū)ο筌浖膶?shí)現(xiàn)與測(cè)試l面向?qū)ο蟪绦蛟O(shè)計(jì)言語的優(yōu)點(diǎn)面向?qū)ο蟪绦蛟O(shè)計(jì)言語的優(yōu)點(diǎn)l程序設(shè)計(jì)風(fēng)格程序設(shè)計(jì)風(fēng)格l如何對(duì)面向?qū)ο蟪绦蜻M(jìn)展測(cè)試?如何對(duì)面向?qū)ο蟪绦蜻M(jìn)展測(cè)試? 面向?qū)ο蟮膶?shí)現(xiàn)主要包括兩項(xiàng)任務(wù):面向?qū)ο蟮膶?shí)現(xiàn)主要包括兩項(xiàng)任務(wù): 1寫面向?qū)ο蟪绦?;寫面向?qū)ο蟪绦颍?2測(cè)試并調(diào)試面向?qū)ο蟪绦驕y(cè)試并調(diào)試面向?qū)ο蟪绦?面向?qū)ο蟪绦虻馁|(zhì)量根本上由面向?qū)ο竺嫦驅(qū)ο蟪绦虻馁|(zhì)量根本上由面向?qū)ο笤O(shè)計(jì)的質(zhì)量決議,但程序設(shè)計(jì)言語的特設(shè)計(jì)的質(zhì)量決議,但程序設(shè)計(jì)言語的特點(diǎn)和設(shè)計(jì)風(fēng)格也將影響程序的可靠性、點(diǎn)和設(shè)計(jì)風(fēng)格也將影響程序的可靠性、可重用性和可維護(hù)性可重用性和可維護(hù)性 軟件測(cè)

2、試是保證軟件可靠性的主要措施軟件測(cè)試是保證軟件可靠性的主要措施9.1 9.1 程序設(shè)計(jì)言語程序設(shè)計(jì)言語9.1.1 9.1.1 面向?qū)ο笱哉Z的優(yōu)點(diǎn)面向?qū)ο笱哉Z的優(yōu)點(diǎn)1 1一致的表示方法一致的表示方法2 2可重用性可重用性3 3可維護(hù)性可維護(hù)性9.1.2 9.1.2 面向?qū)ο笱哉Z的技術(shù)特點(diǎn)面向?qū)ο笱哉Z的技術(shù)特點(diǎn)1 1支持類與對(duì)象概念的機(jī)制支持類與對(duì)象概念的機(jī)制2 2實(shí)現(xiàn)整體實(shí)現(xiàn)整體-部分構(gòu)造的機(jī)制部分構(gòu)造的機(jī)制3 3實(shí)現(xiàn)普通實(shí)現(xiàn)普通-特殊構(gòu)造的機(jī)制特殊構(gòu)造的機(jī)制4 4實(shí)現(xiàn)屬性和效力的機(jī)制實(shí)現(xiàn)屬性和效力的機(jī)制5 5類型檢查類型檢查6 6類庫(kù)類庫(kù)7 7效率效率8 8耐久保管對(duì)象耐久保管對(duì)象9 9參數(shù)化

3、類參數(shù)化類1010開發(fā)環(huán)境開發(fā)環(huán)境9.1.3 9.1.3 選擇面向?qū)ο笱哉Z選擇面向?qū)ο笱哉Z1 1未來能否占主導(dǎo)位置未來能否占主導(dǎo)位置2 2可重用性可重用性3 3類庫(kù)和開發(fā)環(huán)境類庫(kù)和開發(fā)環(huán)境4 4其他要素其他要素9.2 9.2 程序設(shè)計(jì)風(fēng)程序設(shè)計(jì)風(fēng)格格9.2.1 9.2.1 提高可重用性提高可重用性1 1提高方法的內(nèi)聚提高方法的內(nèi)聚2 2減小方法的規(guī)模減小方法的規(guī)模3 3堅(jiān)持方法的一致性堅(jiān)持方法的一致性4 4把戰(zhàn)略與實(shí)現(xiàn)分開把戰(zhàn)略與實(shí)現(xiàn)分開5 5全面覆蓋全面覆蓋6 6盡量不運(yùn)用全局信息盡量不運(yùn)用全局信息7 7利用承繼機(jī)制利用承繼機(jī)制 調(diào)用子過程調(diào)用子過程 分解因子分解因子 運(yùn)用委托運(yùn)用委托 把代

4、碼封裝在類中把代碼封裝在類中9.2.1 9.2.1 提高可擴(kuò)展性提高可擴(kuò)展性1 1封裝實(shí)現(xiàn)戰(zhàn)略封裝實(shí)現(xiàn)戰(zhàn)略2 2不要用一個(gè)方法遍歷多條不要用一個(gè)方法遍歷多條關(guān)聯(lián)鏈關(guān)聯(lián)鏈3 3防止運(yùn)用多分支構(gòu)造防止運(yùn)用多分支構(gòu)造4 4精心確定公有方法精心確定公有方法9.2.1 9.2.1 提高強(qiáng)壯性提高強(qiáng)壯性1 1預(yù)防用戶的操作錯(cuò)誤預(yù)防用戶的操作錯(cuò)誤2 2檢查參數(shù)的合法性檢查參數(shù)的合法性3 3不要預(yù)先確定限制條件不要預(yù)先確定限制條件4 4先測(cè)試后優(yōu)化先測(cè)試后優(yōu)化可以利用既存類來生成新類可以利用既存類來生成新類 針對(duì)實(shí)現(xiàn)的承繼 針對(duì)特殊化的承繼9.3 9.3 面向?qū)ο蟮臏y(cè)試戰(zhàn)面向?qū)ο蟮臏y(cè)試戰(zhàn)略略 測(cè)試計(jì)算機(jī)軟件的

5、經(jīng)典戰(zhàn)略是從測(cè)試計(jì)算機(jī)軟件的經(jīng)典戰(zhàn)略是從“小型小型測(cè)試開場(chǎng),逐漸過渡到測(cè)試開場(chǎng),逐漸過渡到“大型測(cè)試大型測(cè)試測(cè)試順序:測(cè)試順序:?jiǎn)卧獪y(cè)試單元測(cè)試 集成測(cè)試集成測(cè)試-確定測(cè)試確定測(cè)試-系統(tǒng)系統(tǒng)測(cè)試測(cè)試 完全孤立地測(cè)試類的各個(gè)完全孤立地測(cè)試類的各個(gè)操作是不行的。操作是不行的。 對(duì)于面向?qū)ο笙到y(tǒng)的集成測(cè)試,對(duì)于面向?qū)ο笙到y(tǒng)的集成測(cè)試,存在兩種不同的測(cè)試戰(zhàn)略。存在兩種不同的測(cè)試戰(zhàn)略。 例:例: 銀行運(yùn)用系統(tǒng)中,銀行運(yùn)用系統(tǒng)中,account帳戶帳戶類的操作有:類的操作有:open,setup,deposit,withdraw,balance,summarize, creditLimit和和close

6、限制:限制: 在一切操作中最先執(zhí)行在一切操作中最先執(zhí)行open 在一切操作中最后執(zhí)行在一切操作中最后執(zhí)行close 那么:那么: 一個(gè)一個(gè)account類的最小測(cè)試序列包括如下操作:類的最小測(cè)試序列包括如下操作: open.setup.deposit.withdraw.close 但該序列中能夠有許多其它行為:但該序列中能夠有許多其它行為: open.setup.deposit.deposit|withdraw|balance|summarize|creditLimit.withdraw.close從上述序列中可以隨機(jī)地產(chǎn)生一系列不同的操作序列:從上述序列中可以隨機(jī)地產(chǎn)生一系列不同的操作序列:

7、 #r1:open.setup.deposit.deposit.balance.summarize.withdraw.close #r2:open.setup.deposit.withdraw.deposit.balance.creditLimit.withdraw.close基于形狀的劃分基于形狀的劃分 根據(jù)類操作改動(dòng)形狀的才干來劃分類操作。根據(jù)類操作改動(dòng)形狀的才干來劃分類操作。 對(duì)對(duì)account類來說,形狀操作包括類來說,形狀操作包括deposit和和withdraw,非形狀操作有,非形狀操作有balance,summarize和和creditLimit#r1:open.setup.de

8、posit.deposit.withdraw.withdraw.close#r2:open.setup.deposit.summarize.creditLimit.withdraw.close基于屬性的劃分基于屬性的劃分 根據(jù)類操作運(yùn)用的屬性來劃分類操作。根據(jù)類操作運(yùn)用的屬性來劃分類操作。 對(duì)對(duì)account類來說,操作分成三個(gè)類別:類來說,操作分成三個(gè)類別: 運(yùn)用運(yùn)用balance的操作的操作 修正修正balance的操作的操作 不運(yùn)用也不修正不運(yùn)用也不修正balance的操作的操作基于功能的劃分基于功能的劃分 根據(jù)類操作所完成的功能來劃分類操作。根據(jù)類操作所完成的功能來劃分類操作。 對(duì)對(duì)a

9、ccount類來說:類來說: 初始化操作初始化操作open,setup 計(jì)算操作計(jì)算操作deposit,withdraw 查詢操作查詢操作balance,summarize,creditLimit 終止操作終止操作close 與傳統(tǒng)的方法類似,也是首先推測(cè)軟件中與傳統(tǒng)的方法類似,也是首先推測(cè)軟件中能夠錯(cuò)誤,然后設(shè)計(jì)出最能夠發(fā)現(xiàn)這些能夠錯(cuò)誤,然后設(shè)計(jì)出最能夠發(fā)現(xiàn)這些錯(cuò)誤的測(cè)試用例。錯(cuò)誤的測(cè)試用例。例:測(cè)試?yán)簻y(cè)試SQRT計(jì)算平方根操作計(jì)算平方根操作 把語句把語句if(x=0)calculate_square_root(); 誤寫成誤寫成if(x0)calculate_square_root();

10、 對(duì)每個(gè)客戶類,運(yùn)用類操作符列表來對(duì)每個(gè)客戶類,運(yùn)用類操作符列表來生成一系列隨機(jī)測(cè)試序列,這些操作符向生成一系列隨機(jī)測(cè)試序列,這些操作符向效力器類實(shí)例發(fā)送音訊。效力器類實(shí)例發(fā)送音訊。 對(duì)所產(chǎn)生的每個(gè)音訊,確定協(xié)作類和對(duì)所產(chǎn)生的每個(gè)音訊,確定協(xié)作類和在效力器對(duì)象中的對(duì)應(yīng)操作符在效力器對(duì)象中的對(duì)應(yīng)操作符 對(duì)效力器中的每個(gè)操作符曾經(jīng)被來對(duì)效力器中的每個(gè)操作符曾經(jīng)被來自客戶對(duì)象的音訊調(diào)用,確定傳送的音自客戶對(duì)象的音訊調(diào)用,確定傳送的音訊訊 對(duì)每個(gè)音訊,確定下一層被調(diào)用的操對(duì)每個(gè)音訊,確定下一層被調(diào)用的操作符,并把這些操作符結(jié)合進(jìn)測(cè)試序列中作符,并把這些操作符結(jié)合進(jìn)測(cè)試序列中例:銀行系統(tǒng)協(xié)作圖例:銀行系

11、統(tǒng)協(xié)作圖 對(duì)于操作序列:對(duì)于操作序列: Bank類對(duì)類對(duì)ATM的操作序列:的操作序列:verifyAcct.verifyPIN.verifyPolicy.withdrawReq|depositReq|acctInfoREQ 對(duì)對(duì)Bank類的測(cè)試用例能夠是:類的測(cè)試用例能夠是: #r3 verifyAcct. verifyPIN.depositReq為思索協(xié)作者,上述序列中需求思索與為思索協(xié)作者,上述序列中需求思索與測(cè)試用例測(cè)試用例#r3中的每個(gè)操作相關(guān)的音訊中的每個(gè)操作相關(guān)的音訊 Bank需與需與ValidationInfo協(xié)作以執(zhí)行協(xié)作以執(zhí)行verifyAcct和和VerifyPIN,Ban

12、k還必需還必需與與Account協(xié)作以執(zhí)行協(xié)作以執(zhí)行depositReq,因此上述協(xié)作的新測(cè)試用例是:因此上述協(xié)作的新測(cè)試用例是:#r4:verifyAcctBank.validAcctValidationInfo.verfyPINBank.validPINvalidationInfo.depositReq.depositaccount 例:例: 設(shè)計(jì)出的測(cè)試用例應(yīng)該覆蓋一切形狀,設(shè)計(jì)出的測(cè)試用例應(yīng)該覆蓋一切形狀,即操作序列應(yīng)該使得即操作序列應(yīng)該使得account類實(shí)例遍類實(shí)例遍歷一切允許的形狀轉(zhuǎn)換:歷一切允許的形狀轉(zhuǎn)換:#s1:open.setupAccnt.deposit(initial)

13、.withdraw(final).close向該序列中參與附加的測(cè)試序列,可得向該序列中參與附加的測(cè)試序列,可得到其他測(cè)試用例:到其他測(cè)試用例:#s2:open.setupAccnt.deposit(initial).deposit.balance.credit.withdraw(final).close#s3:open.setupAccnt.deposit(initial).deposit.withdraw.accntInfo.withdraw(final).closeD. D. 該軟件的設(shè)計(jì)人員該軟件的設(shè)計(jì)人員 程序的復(fù)雜程度程序的復(fù)雜程度 源程序源程序 工程工程開發(fā)方案開發(fā)方案用戶插卡用戶插卡讀卡機(jī)讀出剩余金額讀卡機(jī)讀出剩余金額讀卡機(jī)顯示剩余金額給用戶和操作員讀卡機(jī)顯示剩余

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論