《軟件測試基礎(chǔ)》授課教案_第1頁
《軟件測試基礎(chǔ)》授課教案_第2頁
《軟件測試基礎(chǔ)》授課教案_第3頁
《軟件測試基礎(chǔ)》授課教案_第4頁
《軟件測試基礎(chǔ)》授課教案_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

1、軟件測試基礎(chǔ)授課教案授課內(nèi)容:第八章 面向?qū)ο筌浖臏y試授課課次:第2次課授課時數(shù):2學時       授課日期:               上課教室:目的與要求:通過課堂教學,使學生了解面向?qū)ο筌浖募蓽y試,和面向?qū)ο筌浖南到y(tǒng)測試的基本概念和策略,熟悉和掌握集成測試、系統(tǒng)測試的基本方法。教學重點:1面向?qū)ο筌浖蓽y試中面向數(shù)據(jù)流的集成測試方法2面向?qū)ο筌浖到y(tǒng)測試中基于UML和基于狀態(tài)圖

2、的系統(tǒng)測試方法教學難點:面向數(shù)據(jù)流的集成測試方法,基于UML的系統(tǒng)測試教學方式:1. 運用軟件測試技術(shù)課件進行課堂講授,講授和課堂討論,課堂練習相結(jié)合的方式。教學內(nèi)容:1. 面向?qū)ο筌浖蓽y試2. 面向?qū)ο筌浖到y(tǒng)測試3. 簡單介紹GUI的測試內(nèi)容提要及時間分配:1、面向?qū)ο筌浖蓽y試(40分鐘)u 面向?qū)ο蠹蓽y試的UML支持u 靜態(tài)測試和動態(tài)測試u 面向?qū)ο筌浖臄?shù)據(jù)流集成測試框架1. 事件驅(qū)動和消息驅(qū)動的Petri網(wǎng)2. 從繼承導出的數(shù)據(jù)流3. 從消息導出的數(shù)據(jù)流2、面向?qū)ο筌浖到y(tǒng)測試(35分鐘)u 基于UML的系統(tǒng)測試u 基于狀態(tài)圖的系統(tǒng)測試3、GUI測試(10分鐘)u 貨幣轉(zhuǎn)換

3、程序的GUI測試例子4、課后小結(jié)和布置作業(yè)(5分鐘)教學參考書:1. 軟件測試方法和技術(shù) 朱少民 清華大學出版社2. 軟件測試 Ron Patton 機械工業(yè)出版社3. 軟件測試教程 賀平 電子工業(yè)出版社討論與思考:1. UML對面向?qū)ο筌浖募蓽y試和系統(tǒng)測試有哪些支持?2. 面向?qū)ο筌浖募蓽y試和結(jié)構(gòu)化軟件的集成測試有哪些主要不同?作 業(yè):1. 簡述面向?qū)ο蟮募蓽y試中由繼承導出數(shù)據(jù)流的方法。2. 簡述面向?qū)ο筌浖南到y(tǒng)測試中基于UML的測試方法。 復問題目:序號題 目學 生成 績123教 學 內(nèi) 容 與 方 法 步 驟8.3面向?qū)ο蟮募蓽y試 傳統(tǒng)的集成測試,是通過各種集成策略集成各功

4、能模塊進行測試,一般可以在部分程序編譯完成的情況下進行。而對于面向?qū)ο蟪绦颍嗷フ{(diào)用的功能是散布在程序的不同類中,類通過消息相互作用申請和提供服務。類的行為與它的狀態(tài)密切相關(guān),狀態(tài)不僅僅是體現(xiàn)在類數(shù)據(jù)成員的值,也許還包括其他類中的狀態(tài)信息。由此可見,類相互依賴極其緊密,根本無法在編譯不完全的程序上對類進行測試。所以,面向?qū)ο蟮募蓽y試通常需要在整個程序編譯完成后進行。此外,面向?qū)ο蟪绦蚓哂袆討B(tài)特性,程序的控制流往往無法確定,因此也只能對整個編譯后的程序做基于黑盒子的集成測試。面向?qū)ο蟮募蓽y試能夠檢測出相對獨立的單元測試無法檢測出的那些類相互作用時才會產(chǎn)生的錯誤。基于單元測試對成員函數(shù)行為正確

5、性的保證,集成測試只關(guān)注于系統(tǒng)的結(jié)構(gòu)和內(nèi)部的相互作用。面向?qū)ο蟮募蓽y試可以分成兩步進行:1) 靜態(tài)測試,2) 動態(tài)測試。具體解釋如下:靜態(tài)測試靜態(tài)測試主要針對程序的結(jié)構(gòu)進行,檢測程序結(jié)構(gòu)是否符合設計要求?,F(xiàn)在流行的一些測試軟件都能提供一種稱為"可逆性工程"的功能,即通過原程序得到類關(guān)系圖和函數(shù)功能調(diào)用關(guān)系圖,例如International Software Automation 公司的Panorama-2 、Rational公司的Rose C+ Analyzer等,將"可逆性工程"得到的結(jié)果與OOD的結(jié)果相比較,檢測程序結(jié)構(gòu)和實現(xiàn)上是否有缺陷。換句話說

6、,通過這種方法檢測OOP是否達到了設計要求。動態(tài)測試動態(tài)測試設計測試用例時,通常需要上述的功能調(diào)用結(jié)構(gòu)圖、類關(guān)系圖或者實體關(guān)系圖為參考,確定不需要被重復測試的部分,從而優(yōu)化測試用例,減少測試工作量,使得進行的測試能夠達到一定覆蓋標準。測試所要達到的覆蓋標準可以是:達到類所有的服務要求或服務提供的一定覆蓋率;依據(jù)類間傳遞的消息,達到對所有執(zhí)行線程的一定覆蓋率;達到類的所有狀態(tài)的一定覆蓋率等。同時也可以考慮使用現(xiàn)有的一些測試工具來得到程序代碼執(zhí)行的覆蓋率。建立測試用例的指導具體設計測試用例,可參考下列步驟:1. 先選定檢測的類,參考OOD分析結(jié)果,仔細出類的狀態(tài)和相應的行為,類或成員函數(shù)間傳遞的消

7、息,輸入或輸出的界定等。2. 確定覆蓋標準。3. 利用結(jié)構(gòu)關(guān)系圖確定待測類的所有關(guān)聯(lián)。4. 根據(jù)程序中類的對象構(gòu)造測試用例,確認使用什么輸入激發(fā)類的狀態(tài)、使用類的服務和期望產(chǎn)生什么行為等。值得注意,設計測試用例時,不但要設計確認類功能滿足的輸入,還應該有意識的設計一些被禁止的例子,確認類是否有不合法的行為產(chǎn)生,如發(fā)送與類狀態(tài)不相適應的消息,要求不相適應的服務等。根據(jù)具體情況,動態(tài)的集成測試,有時也可以通過系統(tǒng)測試完成。面向?qū)ο筌浖蓽y試的UML支持在采用UML定義的面向?qū)ο筌浖?,協(xié)作圖和序列圖是集成測試的基礎(chǔ)。協(xié)作圖顯示了類之間的信息傳遞情況。它既支持對方法為單元的測試,也支持相鄰類的集成

8、測試。序列圖跟蹤通過協(xié)作圖的執(zhí)行時間路徑(消息的前后相繼關(guān)系)。序列圖有兩個層次的,一個是系統(tǒng)/用例級別的,一個是類交互級別的。它們是面向?qū)ο蠹蓽y試的很好的基礎(chǔ)。實際測試中我們可以根據(jù)協(xié)作圖和序列圖來建立測試用例,來確定測試覆蓋的標準。面向?qū)ο筌浖臄?shù)據(jù)流集成測試框架MM-路徑測試,DD-路徑測試常常是不充分的,這中情況下可采用數(shù)據(jù)流測試更合適些。對OO軟件的測試也是這樣,而且需求更為強烈。原因:一是取值可以通過繼承樹得到,二是數(shù)據(jù)可以在消息傳遞的不同階段定義。程序圖是構(gòu)成過程代碼的描述和分析數(shù)據(jù)流測試的基礎(chǔ)。OO軟件的復雜性超出有向(程序)圖的表達能力。1 事件驅(qū)動和消息驅(qū)動的Petri網(wǎng)

9、(略)2 由繼承導出的數(shù)據(jù)流在繼承樹中,考慮從定義了值的數(shù)據(jù)地點開始,到樹葉結(jié)束的鏈。這種鏈將是一種替代數(shù)據(jù)地點序列,并退化方法執(zhí)行路徑,方法執(zhí)行路徑在鏈中實現(xiàn)面向?qū)ο笳Z言的繼承機制。因此,這種框架支持多種形式的繼承,包括單一繼承,多重繼承和有選擇性的繼承。3 由消息導出的數(shù)據(jù)流(略)8.4 GUI測試(TBD)8.5面向?qū)ο蟮南到y(tǒng)測試通過單元測試和集成測試,僅能保證軟件開發(fā)的功能得以實現(xiàn)。但不能確認在實際運行時,它是否滿足用戶的需要,是否大量存在實際使用條件下會被誘發(fā)產(chǎn)生錯誤的隱患。為此,對完成開發(fā)的軟件必須經(jīng)過規(guī)范的系統(tǒng)測試。換個角度說,開發(fā)完成的軟件僅僅是實際投入使用系統(tǒng)的一個組成部分,

10、需要測試它與系統(tǒng)其他部分配套運行的表現(xiàn),以保證在系統(tǒng)各部分協(xié)調(diào)工作的環(huán)境下也能正常工作。在后面對ZXM10收發(fā)臺系統(tǒng)測試的敘述可以看到,其他的系統(tǒng)設備(如監(jiān)控臺,E1接入設備,攝像頭等)如何配合收發(fā)臺的系統(tǒng)測試。 系統(tǒng)測試應該盡量搭建與用戶實際使用環(huán)境相同的測試平臺,應該保證被測系統(tǒng)的完整性,對臨時沒有的系統(tǒng)設備部件,也應有相應的模擬手段。系統(tǒng)測試時,應該參考OOA分析的結(jié)果,對應描述的對象、屬性和各種服務,檢測軟件是否能夠完全"再現(xiàn)"問題空間。系統(tǒng)測試不僅是檢測軟件的整體行為表現(xiàn),從另一個側(cè)面看,也是對軟件開發(fā)設計的再確認。 這里說的系統(tǒng)測試是對測試步驟的抽象描述。它體現(xiàn)

11、的具體測試內(nèi)容包括: · 功能測試:測試是否滿足開發(fā)要求,是否能夠提供設計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標準。 · 強度測試:測試系統(tǒng)的能力最高實際限度,即軟件在一些超負荷的情況,功能實現(xiàn)情況。如要求軟件某一行為的大量重復、輸入大量的數(shù)據(jù)或大數(shù)值數(shù)據(jù)、對數(shù)據(jù)庫大量復雜的查詢等。 · 性能測試:測試軟件的運行性能。這種測試常常與強度測試結(jié)合進行,需要事先對被測軟件提出性能指標,如傳輸連接的最長時限、傳輸?shù)腻e誤率、計算的精度、記錄的精度、響應的時限和恢復時限等。 · 安全測試:驗

12、證安裝在系統(tǒng)內(nèi)的保護機構(gòu)確實能夠?qū)ο到y(tǒng)進行保護,使之不受各種非常的干擾。安全測試時需要設計一些測試用例試圖突破系統(tǒng)的安全保密措施,檢驗系統(tǒng)是否有安全保密的漏洞。 · 恢復測試:采用人工的干擾使軟件出錯,中斷使用,檢測系統(tǒng)的恢復能力,特別是通訊系統(tǒng)?;謴蜏y試時,應該參考性能測試的相關(guān)測試指標。 · 可用性測試:測試用戶是否能夠滿意使用。具體體現(xiàn)為操作是否方便,用戶界面是否友好等。 · 安裝/卸載測試(install/uninstall test)等等。 系統(tǒng)測試需要對被測的軟件結(jié)合需求分析做仔細的測試分析,建立測試用例。基于UML的系統(tǒng)測試考查系統(tǒng)的規(guī)格說明,用例圖,GUI狀態(tài)圖。分成下面四個層次:1 構(gòu)建用例與系統(tǒng)功能的關(guān)聯(lián)矩陣,建立測試覆蓋的初步標準,從對應于擴展基本用例的真實用例中導出測試用例。2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論