軟件工程學 第7章 測試1_第1頁
軟件工程學 第7章 測試1_第2頁
軟件工程學 第7章 測試1_第3頁
軟件工程學 第7章 測試1_第4頁
軟件工程學 第7章 測試1_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Email: 大連理工大學計算機科學與技術學院1軟件工程主講: 孫亮第6章課程回顧知識點回顧:編碼:就是把軟件設計的結果翻譯成計算機可以“理解”的形式用某中程序設計語言書寫的程序一般編程中應注意的問題是什么?1. 名字說明 2. 類型說明3. 初始化 4. 程序對象的局部性5. 程序模塊 6。 循環(huán)控制結構7. 分支控制結構 8. 異常處理2第6章課程回顧選擇一種語言的標準是什么?系統(tǒng)用戶的要求:用戶知識和用戶環(huán)境要求可以使用的編譯程序:軟件平臺要求可以得到的軟件工具:軟件條件要求工程規(guī)模:實踐要求程序員知識:方便性要求軟件可移植性要求:造價要求軟件的應用領域:對象特點要求3編碼風格應該遵循的

2、規(guī)則是什么?程序內部的文檔化:指編碼時適當選擇標識符的名字適當安排注釋注重程序的整個組織形式數據說明語句構造輸入輸出4第7章測試7.1 基本概念7.2 測試的基本步驟7.3 單元測試7.4 集成測試7.5 確認測試7.6 白盒測試技術7.7 黑盒測試技術57.1 基本概念什么是測試測試是為了發(fā)現程序中的錯誤而執(zhí)行程序的過程好的測試方案是極可能發(fā)現迄今為止尚未發(fā)現的錯誤的測試方案成功的測試方案是發(fā)現了至今為止尚未發(fā)現的錯誤的測試測試只能查找出程序中的錯誤,不能證明程序中沒有錯誤!67.1 基本概念定義:為了發(fā)現程序中錯誤而執(zhí)行程序的過程為什么要測試軟件開發(fā)過程必須伴有質量保證活動軟件測試是軟件質

3、量保證的關鍵元素,代表了規(guī)約、設計和編碼的最終檢查軟件開發(fā)的每個階段都可能引入新的差錯!開發(fā)高質量、符合用戶需要的軟件,調試是測試階段最困難的工作!77.1 基本概念軟件測試準則所有測試都應該能追溯到用戶需求應該遠在測試開始之前就制定出測試計劃把Pareto原理應用到軟件測試中Pareto原理:測試發(fā)現的錯誤中80%很可能是由程序中20%的模塊造成的應該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)?!睖y試窮舉測試是不可能的應該由第三方從事測試工作87.1 基本概念軟件測試的方法和技術97.1 基本概念動態(tài)測試方法選取定義域有效值,或定義域外無效值對已選取值決定預期的結果用選取值執(zhí)行程序執(zhí)行結果,與2

4、結果相比,不吻合程序有錯107.1 基本概念測試的基本過程1. 確定測試方案預定要測試的功能應該輸入的測試數據和預期的結果最困難的是設計測試用的輸入數據,即測試用例2. 設計測試方案的基本目標:確定一組最可能發(fā)現某個錯誤或某類錯誤的測試數據117.1 基本概念3. 通常采用黑盒測試,白盒測試方案作補充4. 邏輯覆蓋一系列測試過程的總稱覆蓋包括語句覆蓋判斷覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋127.1 基本概念點覆蓋邊覆蓋路徑覆蓋5. 等價劃分6. 邊界值分析:處理邊界情況時程序最容易發(fā)生錯誤7. 錯誤推測137.2 測試的基本步驟1. 模塊測試又稱單元測試發(fā)現編碼盒詳細設計的錯誤2. 子系統(tǒng)測

5、試把通過單元測試的模塊組成一個子系統(tǒng)側重模塊的接口147.2 測試的基本步驟3. 系統(tǒng)測試把經過測試的子系統(tǒng)裝配成一個完整系統(tǒng)發(fā)現:設計和編碼中的錯誤發(fā)現:需求說明中的錯誤集成測試:監(jiān)測和組裝4. 驗收測試類似系統(tǒng)測試157.2 測試的基本步驟用戶參與使用實際數據發(fā)現需求說明書中的錯誤也稱確認測試5. 平行運行定義:同時運行新開發(fā)出來的系統(tǒng)和將被取代的舊系統(tǒng),以便比較新舊兩個系統(tǒng)的處理結果167.2 測試的基本步驟平行運行的目的:在準生產環(huán)境中運行用戶能有一段時間熟悉系統(tǒng)可以驗證用戶指南和使用手冊等文檔全負荷測試,測試結果驗證性能指標177.2 測試的基本步驟測試階段的信息流軟件配置:需求說明

6、書、設計說明書和源程序清單等測試配置:測試計劃、測試方案、測試驅動187.2 測試的基本步驟測試活動和相關工作產品197.2 測試的基本步驟測試設計中需要考慮的22種測試類型黑盒測試 系統(tǒng)測試白盒測試 端到端測試單元測試 健全測試累計綜合測試 衰竭測試集成測試 接受測試功能測試207.2 測試的基本步驟負載測試 兼容測試強迫測試 安全測試性能測試 比較測試可用性測試 Alpha測試安裝卸載測試 Beta測試恢復測試217.3 單元測試基本說明測試之前必須先通過編譯程序檢查并且改正所有語法錯誤用詳細設計描述作指南,對重要的執(zhí)行通路進行測試單元測試可以使用白盒測試法多個模塊的測試可以并行進行227

7、.3 單元測試實例講評237.3 單元測試247.3 單元測試257.3 單元測試測試的重點(1)模塊接口測試參數輸入角度:參數數目盒由調用模塊送來的變元的數目是否相等?參數的屬性和由調用模塊送來的變元的屬性是否匹配?參數和變元的單位系統(tǒng)是否匹配?267.3 單元測試實例講評:模塊接口測試實例277.3 單元測試實例講評:模塊接口測試實例287.3 單元測試參數輸出角度:傳送給被調用模塊的變元的數目是否等于那個模塊的參數的數目?傳送給被調用模塊的變元屬性和參數的屬性是否一致?傳送給被調用模塊的變元的單位系統(tǒng)和該模塊參數的單位系統(tǒng)是否一致?傳送給內部函數的變元屬性、數目和次序是否正確?全程變量的

8、定義和用法在各個模塊中是否一致?297.3 單元測試實例講評:模塊接口測試實例307.3 單元測試實例講評:模塊接口測試實例317.3 單元測試一個模塊完成外部輸入輸出時還應檢查:文件屬性是否正確?打開文件語句是否正確?格式說明書與輸入輸出語句是否一致?緩沖區(qū)大小與紀錄長度是否匹配?使用文件之前先打開文件了嗎?文件結束條件處理了嗎?輸入輸出錯誤檢查并處理了嗎?輸出信息中有文字書寫錯誤嗎?327.3 單元測試(2)局部數據結構測試錯誤的或不相容的說明使用尚未賦值或尚未初始化的變量錯誤的初始值或不正確的缺省值錯誤的變量名字(拼寫錯或截斷了)數據類型不相容上溢、下溢或地址異常337.3 單元測試實例

9、講評:局部數據結構測試實例347.3 單元測試實例講評:局部數據結構測試實例357.3 單元測試實例講評:模塊接口測試實例367.3 單元測試應該查明全程數據對模塊的影響(3)重要的執(zhí)行通路測試:選擇最有代表性、最有可能發(fā)現錯誤的執(zhí)行通路進行測試;在計算中比較常見的錯誤是:計算次序不對或誤解了運算符的優(yōu)先次序混合運算(運算對象的類型彼此不相容)變量初始值不正確精度不夠表達式的符號表示錯誤377.3 單元測試實例講評:比較常見的錯誤實例387.3 單元測試實例講評:比較常見的錯誤實例397.3 單元測試比較數據類型不同的量邏輯運算符不正確或優(yōu)先次序的錯誤當由于精度問題兩個量不會相等時,程序中卻期待著相等事件的出現“差1”錯(即:多循環(huán)一次或少循環(huán)一次)錯誤的或不存在的循環(huán)終止條件當遇到發(fā)散的迭代時不能終止循環(huán)錯誤地修改循環(huán)變量407.3 單元測試實例講評:比較常見的錯誤實例417.3 單元測試實例講評427.3 單元測試(4)出錯處理通路測試對錯誤的描述是難于理解的記下的錯誤與實際遇到的錯誤不同在對錯誤進行處理之前,錯誤條件已經引起系統(tǒng)干預對錯誤的處理不正確描述錯誤的信息不足以幫助確定造成錯誤的位置(5)邊界條

溫馨提示

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

評論

0/150

提交評論