




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、最新資料推薦北大測試全套課件和教案 27.第9章第1講?軟件測試根底? 授課教案 授課內(nèi)容:第九章 面向?qū)ο筌浖臏y試 授課課次:第27次課授課時數(shù):2 學(xué)時 授課日期:上課教室:目的與要求:通過課堂教學(xué), 使學(xué)生了解面向?qū)ο筌浖奶卣?了解面向?qū)ο筌浖y試的問題,理解面向?qū)ο筌浖y試與傳統(tǒng)軟件測試方法的不同;熟悉面向?qū)ο筌浖y試的模型和策略,掌握面向?qū)ο筌浖悳y試的根本策略和方法.教學(xué)重點:1 .面向?qū)ο筌浖y試與傳統(tǒng)軟件測試的不同2 .面向?qū)ο筌浖y試中類測試的方法和策略 教學(xué)難點:面向?qū)ο筌浖y試中針對面向?qū)ο筌浖卣鞯臏y試教學(xué)方式:1. 運用?軟件測試技術(shù)? 課件進行課堂講授,加深對面
2、向 對象軟件測試根本概念,方法和策略的理解;2.講授和課堂討論, 課堂練習(xí)相結(jié)合的方式.教學(xué)內(nèi)容:1.面向?qū)ο筌浖奶卣骷捌錅y試的問題 2.面向?qū)ο筌浖y試根底3.類測試 內(nèi)容提要及時間分配:1 / 101、面向?qū)ο筌浖卣骷捌錅y試的問題20分鐘面向?qū)ο鬁y試的單元面向?qū)ο筌浖卣鞯暮x及其測試上的問題面向?qū)ο筌浖y試的層次2、面向?qū)ο筌浖y試根底25分鐘面向?qū)ο筌浖y試的模型面向?qū)ο筌浖y試的根本策略 3、類測試40分鐘面向?qū)ο筌浖袦y試的單元以方法為單元以類為單元4、課后小結(jié)和布置作業(yè)5分鐘教學(xué)參考書:1.軟件測試方法和技術(shù)朱少民清華大學(xué)出版社2. 軟件測試Ron Patton機械工業(yè)出版社
3、3.軟件測試教程賀平電子工業(yè)出版社討論與思考:1. 面向?qū)ο筌浖y試為什么和傳統(tǒng)的軟件測試有很大的不同,不同點在什么地方? 2.面向?qū)ο筌浖y試中選擇類為單元的 測試與選擇方法為單元的測試相比有什么優(yōu)點?作 業(yè):1.簡述面向?qū)ο筌浖y試和傳統(tǒng)軟件測試的不同.2. 簡述面向?qū)ο筌浖y試的重要原那么或策略.復(fù)問題目:序號題 目學(xué) 生成績1 2 3教學(xué)內(nèi)容與方 法步驟9.1面向?qū)ο鬁y試的問題 一、面向?qū)ο筌浖?特征1繼承2封裝3多態(tài)4開發(fā)過程的迭代性二、面向?qū)ο鬁y試的單元1單元的選取問題2合成和封裝的涵義及其測試問題 考慮3繼承的涵義及其測試問題考慮 4多態(tài)性的涵義及其測試問 題考慮三、面向?qū)ο鬁y
4、試的層次 9.2 類測試一、類測試的主最新資料推薦要問題 類測試的主要問題是, 類和方法哪一個是單元.單元本身也沒有確切的定義討論:平時測試時候, 單元測試中,單元是什么? 1 能夠自身編 譯的最小程序塊 2 單一過程/函數(shù)獨立3 有一個人完成的 小規(guī)模工作 從不同的角度理解單元的概念.那么面向?qū)ο蟮念悳y試呢?我們從兩個方面來考慮, 根據(jù)實際的需要來考慮.二、以方法為單元的測試如果以方法為單元進行測試,那 么面向?qū)ο蟮膯卧獪y試就相當(dāng)于歸結(jié)為了傳統(tǒng)的過程的單元測試了.以前的方法都可以使用.需要考慮的是, 運行測試用例時候, 必須提供能夠?qū)嵗?樁類,以及起驅(qū)動器作用的主程序 類,來提供和分析測
5、試用例.三、以類為單元的測試 面向?qū)ο筌浖a(chǎn)品的根本組成單位 是類,從宏觀上來看, 面向?qū)ο筌浖歉鱾€類之間的相互作用.在面向?qū)ο笙到y(tǒng)中,系統(tǒng)的根本構(gòu)造模塊是封裝了的數(shù)據(jù)和方 法的類和對象,而不再是一個個能完成特定功能的功能模塊.每個對象有自己的生存周期,有自己的狀態(tài).消息是對象之間相互請求或協(xié)作的途徑,是外界使用對象方法 及獲取對象狀態(tài)的惟一方式.對象的功能是在消息的觸發(fā)下,由對象所屬類中定義的方法與 相關(guān)對象的合作共同完成.3 / 10且在不同狀態(tài)下對消息的響應(yīng)可能完全不同 工作過程中對象的狀態(tài)可能被改變,產(chǎn)生新的狀態(tài).對象中的數(shù)據(jù)和方法是一個有機的整體,測試過程中不能僅僅檢 查輸入數(shù)據(jù)產(chǎn)
6、生的輸出結(jié)果是否與預(yù)期的吻合 ,還要考慮對象的狀 態(tài),且在不同狀態(tài)下對消息的響應(yīng)可能完全不同.工作過程中對象的狀態(tài)可能被改變,產(chǎn)生新的狀態(tài).對象中的數(shù)據(jù)和方法是一個有機的整體 ,測試過程中不能僅僅 檢查輸入數(shù)據(jù)產(chǎn)生的輸出結(jié)果是否與預(yù)期的吻合 ,還要考慮對象的狀O類測試是由那些與驗證類的實現(xiàn)是否和該類的說明完全一致 的相關(guān)聯(lián)的活動組成的.該類測試的對象主要是指能獨立完成一定功能的原始類.如果類的實現(xiàn)正確,那么類的每一個實例的行為也應(yīng)該是正確的.3.1. 類測試的內(nèi)容 類測試的目的主要是保證一個類的代碼能夠完全滿足類的說明所描述的要求.對一個類進行測試以保證他只做規(guī)定的事情, 對此給與關(guān)注的多少,
7、 取決于提供額外的行為的 類相關(guān)聯(lián)的風(fēng)險. 在運行了各種類的測試后,如果代碼的覆蓋率不完整,這可能意味著該類包含了額外的文檔支持的行為.需要增加更多的測試用例來進行測試.3.2. 類測試的時間類測試的開始時間一般在完全說明這個類,并且準(zhǔn)備對其編碼后不久,就開發(fā)一個測試方案至少是確定測最新資料推薦試用例的某種形式.如果開發(fā)人員還負責(zé)該類的測試,那么尤其應(yīng)該如此.由于確定早期測試用例有利于開發(fā)人員理解類說明,也有助于獲得獨立代碼檢查的反應(yīng).類測試可以在開發(fā)過程中的不同位置進行.在遞增的反復(fù)開發(fā)過程中, 一個類的說明和實現(xiàn)在一個工程的 進程中可能會發(fā)生變化, 所以因該在軟件的其它局部使用該類之前 執(zhí)
8、行類的測試.每當(dāng)一個類的實現(xiàn)發(fā)生變化時,就應(yīng)該執(zhí)行回歸測試.如果變化是因發(fā)現(xiàn)代碼中的缺陷bug而引起的,那么就必 須執(zhí)行測試方案的檢查, 而且必須增加或改變測試用例以測試在未 來的測試期間可能出現(xiàn)的那些缺陷.3.3. 類測試的測試人員類測試通常由他的開發(fā)人員測試,讓開發(fā)人員起到測試人員的作用,就可使得必須理解類說明的人員數(shù)量減至最少.而且方便使用基于執(zhí)行的測試方法,由于他們對代碼極其的熟悉.由同一個開發(fā)者來測試, 也有一定的缺點:開發(fā)人員對類說明的任何錯誤理解,都會影響到測試.因此,最好要求另一個類的開發(fā)人員編寫測試方案,并且允許對代碼進行對立檢查.5 / 10這樣就可以防止這些潛在的問題了.
9、3.4. 類測試的方法類測試的方法有代碼檢查和執(zhí)行測試用 例.在某些情況下,用代碼檢查代替基于執(zhí)行的測試方法是可行的,但是,和基于執(zhí)行的測試相比,代碼檢查有以下兩個不利之處:1 .代碼檢查易受人為因素影響.2 .代碼檢查在回歸測試方面明顯需要更多的工作量,常常和原始測試差不多.盡管基于執(zhí)行的測試方法克服了以上的缺點,但是確定測試用例和開發(fā)測試驅(qū)動程序也需要很大的工作量.在某些情況下, 構(gòu)造一個測試驅(qū)動程序的工作量比開發(fā)這個類 的還多,此時就應(yīng)該評估在使用了這個類的系統(tǒng)之外測試測試這個 類所花的代價和帶來的收益.一旦確定了一個類的可執(zhí)行測試用例,就必須執(zhí)行測試驅(qū)動程序來運行每一個測試用例,并給出
10、每一個測試用例的結(jié)果.3.5. 測試程度 可以根據(jù)已經(jīng)測試了多少類實現(xiàn)和多少類說 明來衡量測試的充分性.對于類的測試, 通常需要將這兩者都考慮到,希望測試到操作和狀態(tài)轉(zhuǎn)換的各種組合情況.一個對象能維持自己的狀態(tài), 而狀態(tài)一般來說也會影響操作的 含義最新資料推薦但要窮舉所有組合式不可能的,而且是沒必要的.因此,就因該結(jié)合風(fēng)險分析進行選擇配對系列的組合,以致到達使用最重要的測試用例并抽取局部不太重要的測試用例.3.6. 構(gòu)建類測試用例要對類進行測試,就必須先確定和構(gòu)建類的測試用例.類的描述方法有OCL,自然語言,和狀態(tài)圖等方法, 可以根據(jù) 類說明的描述方法構(gòu)件類的測試用例.因而,構(gòu)建類的測試用例的
11、方法有:根據(jù)類說明用OCL表示確定測試用例和根據(jù)類的狀態(tài)轉(zhuǎn) 換圖來構(gòu)建類的測試用例.根據(jù)類的說明確定測試用例用OCL表示的類的說明中描述了類的每一個限定條件條件.在OCL條件下分析每個邏輯關(guān)系,從而得到由這個條件的結(jié)構(gòu)所對應(yīng)的測試用例.這種確定類的測試用例的方法叫做根據(jù)前置條件和后置條件構(gòu) 建測試用例.其總體思想是:為所有可能出現(xiàn)的組合情況確定測試用例需求.在這些可能出現(xiàn)的組合情況下,可滿足前置條件,也能夠到達后置條件.根據(jù)這些需求, 創(chuàng)立測試用例; 創(chuàng)立擁有特定輸入值常見7 / 10值和特殊值)的測試用例;確定它們的正確輸出預(yù)期輸出值.根據(jù)前置條件和后置條件創(chuàng)立測試用例的根本步驟如下:1 .
12、確定在表1中與前置條件形成相匹配的各個工程所指定的一系列前置條件的影響.2 .確定在表2中與后置條件形成相匹配的各個工程所指定的一系列前置條件的影響.3 .根據(jù)影響到列表中各個工程的所有可能的組合情況從而構(gòu)造測試用例需求.一種簡單的方法就是:用第一個列表中的每一個輸入約束來代替第二個列表中每一個 前置條件.4 .排除表中生成的所有無意義的條件.表1前置條件對測試系列的影響前置條件True影 響(true 、 post) (A 、post) (not A、 exception)* (not A、post) (A、exception) *(Aand B、post) (notA and B exce
13、ption) * (Aand not B、 exception) * (not A and not B、exception) * (A、post) (B、post) (A and B post) (not A and not B、post) (not A and B 、post) (A and not B 、post) (A and B、exception) * (not A and not B、exception) * (not A 、 post) (B 、 post) (not A and B 、post) (Aand not B、exception)(A and B、post)最新資料推
14、薦(not A and C、post) (A and not B、exception) * (not A and not C、exception) * A Not A A and B A or B A xor B A implies B if A then B else C endif注:.A、B、C代表用OCL表示的組件.假設(shè)類說明中的保護性設(shè)計方法是隱式的,那么也必須對那些標(biāo)記有*的測試用例進行闡述.如果保護性設(shè)計方法在類的說明中是顯式出現(xiàn)的,那么測試用例也就確定了.表2后置條件對測試系列的影響后置條件A影 響(pre ; A) (pre ; A and B) (pre ; A) (pre
15、 ; B) (pre ; A or B) (pre ; not A or B) (pre ; A or not B) (pre ; not A or B) (pre and *; B) A and B A or B A xor B A implies B if A thenB else C endif (pre and not *; C) 注:.A、B、C代表用OCL表示的組件. 對于if A then B else C endif 這個后置條件,假如測試用例不會對表達式A產(chǎn)生影響那么在用這個后置條件時,*=A else * 就是使得A為真的一個條件四、根據(jù)狀態(tài)轉(zhuǎn)換圖構(gòu)建測試用例狀態(tài)轉(zhuǎn)換圖以圖例的形式說明了與一個類的實例相關(guān)聯(lián)的行為.狀態(tài)轉(zhuǎn)換圖可用來補充編寫的類說明或者構(gòu)成完整的類說明. 狀態(tài)圖中的每一個轉(zhuǎn)換都描述了一個或多個測試用例需求.9 / 10因而,可以用過在轉(zhuǎn)換的每一端選擇有代表性的值和邊界來滿 足這些需求.如果轉(zhuǎn)換是受保護的,那么也應(yīng)該為這些保護條件選擇邊界.狀態(tài)的邊界值取決于狀態(tài)相關(guān)屬性值的范圍,可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化產(chǎn)業(yè)中涂層的耐磨損性能研究考核試卷
- 工業(yè)設(shè)計中的產(chǎn)品生命周期管理考核試卷
- 信托公司業(yè)務(wù)流程標(biāo)準(zhǔn)化考核試卷
- 兔飼養(yǎng)繁殖技術(shù)的優(yōu)化考核試卷
- 新能源汽車充電設(shè)施規(guī)劃與布局優(yōu)化考核試卷
- 收購公司的合同范本
- 營業(yè)執(zhí)照合同范本
- 定制柜定金合同范本
- 木材板材加工合同范本
- 紗窗廠用工合同范本
- 2025至2030年中國電子護眼臺燈數(shù)據(jù)監(jiān)測研究報告
- 兒童睡眠障礙治療
- 2025年浙江省溫州樂清市融媒體中心招聘4人歷年高頻重點提升(共500題)附帶答案詳解
- 2025夏季廣東廣州期貨交易所招聘高頻重點提升(共500題)附帶答案詳解
- 北京市豐臺區(qū)2024-2025學(xué)年高三上學(xué)期期末英語試題
- 2025上海市嘉定工業(yè)區(qū)農(nóng)村青年干部招聘22人歷年高頻重點提升(共500題)附帶答案詳解
- 《獸醫(yī)基礎(chǔ)》練習(xí)題及參考答案
- 2025年煤礦探放水證考試題庫
- 2024年度個人珠寶首飾分期購買合同范本3篇
- 食為天:2024中國食品飲料行業(yè)白皮書
- 2025年牛津譯林版英語七年級下冊全冊單元重點知識點與語法匯編
評論
0/150
提交評論