測試中文課件軟件測試第一章_第1頁
測試中文課件軟件測試第一章_第2頁
測試中文課件軟件測試第一章_第3頁
測試中文課件軟件測試第一章_第4頁
測試中文課件軟件測試第一章_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試技術軟件測試技術東北大學軟件學院吳辰鈮課程內容介紹課程內容介紹 第一章 軟軟件測試概測試概述 第二章 黑盒測試測試 第三章 白盒測試測試 第四章 單單元測試測試 第五章 集成測試測試 第六章 系統(tǒng)測試統(tǒng)測試 第七章 軟軟件自動動化測試測試 第八章 特定環(huán)環(huán)境及應應用測試測試 第九章 軟軟件測試測試管理教教 材材 軟件測試(原書第軟件測試(原書第2版)版) Software Testing A Craftsmans Approach(Second Edition) 美美Paul CJorgensen著著 韓柯等譯韓柯等譯 機械工業(yè)出版社機械工業(yè)出版社 2003-7參考書參考書 1.賀平著

2、,賀平著,軟件測試教程軟件測試教程,電子工業(yè)出版社,電子工業(yè)出版社,2005-6。 2.張克東張克東 莊燕濱編著,莊燕濱編著,軟件工程與軟件測試自動化教軟件工程與軟件測試自動化教程程,電子工業(yè)出版社,電子工業(yè)出版社,2002-2。 3.美美Elfriede Dustin Jeff Rashka John Paul著,于秀山、胡著,于秀山、胡兢玉等譯,兢玉等譯,軟件自動化測試:引入、管理與實施軟件自動化測試:引入、管理與實施,電,電子工業(yè)出版社,子工業(yè)出版社,2003-7。 4.(美)(美)Ron Patton ,Software Testing,機械工業(yè)出,機械工業(yè)出版社,版社,2002-3

3、5.John D.McGregor David A.Syles著,楊文宏著,楊文宏 李新輝李新輝 楊潔楊潔等譯,等譯,面向對象的軟件測試面向對象的軟件測試 A Practical Guide to Testing Object-Oriented Software,機械工業(yè)出版社,機械工業(yè)出版社,2002-8。課程性質課程性質 專業(yè)課專業(yè)課 必修課必修課成績考核成績考核 平時平時 10%10% 實驗實驗 10%10% 期末考試期末考試 80%80%第一章第一章 軟件測試概述軟件測試概述 主要內容主要內容 1.1 引言引言 1.2 軟件測試發(fā)展歷程軟件測試發(fā)展歷程 1.3 測試相關基本概念測試相關

4、基本概念 1.4 軟件缺陷產生的原因軟件缺陷產生的原因 1.5 軟件測試與開發(fā)的關系軟件測試與開發(fā)的關系 1.6 軟件測試基本技術軟件測試基本技術 1.7 軟件測試的層次軟件測試的層次 1.8 軟件測試通過準則軟件測試通過準則 1.9 軟件測試人員應具備的素質軟件測試人員應具備的素質1.1 1.1 引言:為什么要測試引言:為什么要測試1.1 1.1 引言:為什么要測試引言:為什么要測試1.1 1.1 引言:為什么要測試引言:為什么要測試 軟件測試的背景軟件測試的背景 軟件錯誤案例一軟件錯誤案例一 19941994年迪斯尼公司發(fā)布的第一個面向兒童的多媒體光盤游戲,年迪斯尼公司發(fā)布的第一個面向兒童

5、的多媒體光盤游戲,未測試,只在開發(fā)環(huán)境可以正常運行未測試,只在開發(fā)環(huán)境可以正常運行 軟件錯誤案例二軟件錯誤案例二 愛國者導彈防御系統(tǒng),存在軟件缺陷,時鐘錯誤積累起來拖愛國者導彈防御系統(tǒng),存在軟件缺陷,時鐘錯誤積累起來拖延延100100多個小時,導致一枚導彈在多哈擊斃多個小時,導致一枚導彈在多哈擊斃2828名美國士兵名美國士兵 軟件錯誤案例三軟件錯誤案例三 在美國的一次飛往火星的火箭發(fā)射中,因控制程序中的一個在美國的一次飛往火星的火箭發(fā)射中,因控制程序中的一個循環(huán)語句循環(huán)語句“DO5I=1,3”DO5I=1,3”被誤認為是賦值語句被誤認為是賦值語句“DO5I=1.3”,DO5I=1.3”,一點之

6、差一點之差, ,使火箭發(fā)生爆炸使火箭發(fā)生爆炸, ,損失一千萬美元損失一千萬美元1.1 1.1 引言:為什么要測試引言:為什么要測試 各種產品合格率各種產品合格率 飛機制造業(yè)合格率飛機制造業(yè)合格率 世界著名的宇航工業(yè)公司生產的世界著名的宇航工業(yè)公司生產的“飛吧飛吧747-400”大型寬體客機由大型寬體客機由100萬萬個零部件組裝而成,其中個零部件組裝而成,其中每個零部件的合格率都能達到每個零部件的合格率都能達到99.9999%,請問,請問這種客機的合格率是多少?這種客機的合格率是多少? (99.9999%)1000000 = 36.79%1.1 1.1 引言:為什么要測試引言:為什么要測試 各種

7、產品合格率各種產品合格率 軟件合格率軟件合格率 假設一個優(yōu)秀的程序員寫出的假設一個優(yōu)秀的程序員寫出的“代碼行代碼行”合格率合格率可以達到可以達到99%,如果這個程序員開發(fā)的軟件有,如果這個程序員開發(fā)的軟件有1萬萬行代碼,那此軟件的合格率是多少?行代碼,那此軟件的合格率是多少? (99%)10000 = 2.25 10 -441.1 1.1 引言:為什么要測試引言:為什么要測試 測試市場方興未艾測試市場方興未艾1.2 1.2 軟件測試發(fā)展歷程軟件測試發(fā)展歷程 60年代(軟件工程建立前),為了表明程序正確而進行測年代(軟件工程建立前),為了表明程序正確而進行測試。試。 1972年年6月,月,Bil

8、l Hetzel(代表論著(代表論著The Complete Guide to Software Testing)在美國的北卡羅來納()在美國的北卡羅來納(North Carolina)大學組織了首次以軟件測試為主題的會議。大學組織了首次以軟件測試為主題的會議。 1973年,年,Bill Hetzel給軟件測試一個這樣的定義:給軟件測試一個這樣的定義:“就是建就是建立一種信心,認為程序能夠按預期的設想運行(立一種信心,認為程序能夠按預期的設想運行(Establish confidence that a program does what it is supposed to do)”。1.2 1

9、.2 軟件測試發(fā)展歷程軟件測試發(fā)展歷程1979年,Glenford MyersThe Art of Software Testing是軟軟件測試測試方面的圣經圣經。Myers定義義及詮釋詮釋的測試測試方法論論已成為軟為軟件測試測試的基本模塊塊。提出測試測試的目的是證偽證偽。70年代后期至80年代中期QA部門門。1996年提出的測試測試能力成熟度TCMM(Testing Capability Maturity Model將測試將測試分為為五級級:初始級級、階階段定義級義級、集成級級、管理和度量級級、優(yōu)優(yōu)化級級)。1.3 1.3 軟件測試基本概念軟件測試基本概念 與測試相關的幾個概念與測試相關的幾

10、個概念 錯誤(錯誤(error)- 同義詞是過錯(同義詞是過錯(mistake),人),人們在編寫代碼時會出現過錯,這種過錯叫做們在編寫代碼時會出現過錯,這種過錯叫做bug。 缺陷(缺陷(fault)- 缺陷是錯誤的結果。分為過錯缺缺陷是錯誤的結果。分為過錯缺陷和遺漏缺陷。陷和遺漏缺陷。 失效(失效(failure)- 當缺陷執(zhí)行時會發(fā)生失效。當缺陷執(zhí)行時會發(fā)生失效。 事故(事故(incident)- 當出現失效時,可能會也可能當出現失效時,可能會也可能不會呈現給用戶(或客戶或測試人員)。不會呈現給用戶(或客戶或測試人員)。1.3 1.3 軟件測試基本概念軟件測試基本概念 軟件缺陷的定義軟件缺

11、陷的定義 很廣的概念,不符合用戶期望值或期望行為的表現。很廣的概念,不符合用戶期望值或期望行為的表現。 在軟件中存在,影響軟件功能正確實現的問題。在軟件中存在,影響軟件功能正確實現的問題。 Defact of Software=Bug。 指軟件中各種問題的總稱。指軟件中各種問題的總稱。 缺點、毛病、故障、誤差或錯誤、功能失效缺點、毛病、故障、誤差或錯誤、功能失效程序崩潰或掛起、不一致性、界面設計缺陷等。程序崩潰或掛起、不一致性、界面設計缺陷等。1.3 1.3 軟件測試基本概念軟件測試基本概念 缺陷舉例:缺陷舉例: 缺點:運行速度慢。缺點:運行速度慢。 毛?。阂馔馔顺?。毛?。阂馔馔顺?。 故障:將

12、中文顯示成方塊。故障:將中文顯示成方塊。 誤差或錯誤:返回意外的編譯錯誤。誤差或錯誤:返回意外的編譯錯誤。 功能失效:復制圖形失敗。功能失效:復制圖形失敗。 程序崩潰或掛起:死機。程序崩潰或掛起:死機。 不一致性:不一致性:Ctrl+S不能保存所有程序。不能保存所有程序。 用戶界面設計的缺陷用戶界面設計的缺陷:按鈕上應按鈕上應5個字,卻只顯示個字,卻只顯示3個字,個字,排列不整齊。排列不整齊。1.3 1.3 軟件測試基本概念軟件測試基本概念 與測試相關的幾個概念與測試相關的幾個概念 程序正確程序正確無語法錯誤無語法錯誤運行過程中未發(fā)現明顯錯誤運行過程中未發(fā)現明顯錯誤程序中無不適當語句程序中無不

13、適當語句有效輸入有效輸入- -正確輸出正確輸出無效輸入無效輸入- -正確處理正確處理任何可能輸入任何可能輸入- -正確輸出正確輸出1.3 1.3 軟件測試基本概念軟件測試基本概念 與測試相關的幾個概念與測試相關的幾個概念 測試與調試測試與調試 測試條件已知,規(guī)程可定義,結果可預知測試條件已知,規(guī)程可定義,結果可預知 測試可以計劃,過程可控;調試不可控測試可以計劃,過程可控;調試不可控 測試是檢驗,調試是推理過程測試是檢驗,調試是推理過程 測試除了表明程序正確還要驗證程序如何處理失測試除了表明程序正確還要驗證程序如何處理失敗,調試表明正確敗,調試表明正確 測試可不了解設計細節(jié)測試可不了解設計細節(jié)

14、, ,調試必須了解設計細節(jié)調試必須了解設計細節(jié) 測試可自動化測試可自動化, ,調試無法自動化調試無法自動化1.3 1.3 軟件測試基本概念軟件測試基本概念 軟件測試的定義軟件測試的定義 軟件測試軟件測試(testing)是一種有計劃的和系統(tǒng)性是一種有計劃的和系統(tǒng)性的必要采取的措施,就是在軟件投入運行的必要采取的措施,就是在軟件投入運行前對軟件需求分析、設計規(guī)格說明和編碼前對軟件需求分析、設計規(guī)格說明和編碼的最終復審理。的最終復審理。 在此過程中能對該產品是否實現了用戶所在此過程中能對該產品是否實現了用戶所期望的要求進行足夠了解并建立信任。期望的要求進行足夠了解并建立信任。 軟件測試是軟件質量保

15、證的關鍵步驟。軟件測試是軟件質量保證的關鍵步驟。1.3 1.3 軟件測試基本概念軟件測試基本概念 軟件測試的目的軟件測試的目的 軟件測試的目的是發(fā)現軟件存在的錯誤、軟件測試的目的是發(fā)現軟件存在的錯誤、減小軟件不工作的風險。減小軟件不工作的風險。1.4 1.4 軟件缺陷產生的原因軟件缺陷產生的原因1.4 1.4 軟件缺陷產生的原因軟件缺陷產生的原因 缺陷產產生原因總結總結如下: 偏離用戶戶的需求 需求報報告多變變 功能額額外實現實現 功能遺遺漏1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系用戶要求用戶要求用戶:我要什么用戶:我要什么 運行結果運行結果計算機:程序運行計算機:程序運行得到

16、的結果得到的結果源程序源程序程序員:我要讓程序員:我要讓計算機怎么做計算機怎么做 設計說設計說明明書書設計員設計員:我要:我要讓軟讓軟件件怎么怎么做做 需求說明書需求說明書分析員:我可分析員:我可以提供什么以提供什么13425理解正確性理解正確性表達正確性表達正確性理解正確性理解正確性設計正確性設計正確性表達正確性表達正確性理解正確性理解正確性編碼正確性編碼正確性運行正確性運行正確性輸入正確性輸入正確性相符嗎相符嗎? ?1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系 缺陷在軟件開發(fā)周期中的任何一個環(huán)節(jié)都可能缺陷在軟件開發(fā)周期中的任何一個環(huán)節(jié)都可能被引入,而且存在放大趨勢:被引入,而且

17、存在放大趨勢:1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系 缺陷發(fā)現不同時期的成本缺陷發(fā)現不同時期的成本1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系 如何消除軟件缺陷如何消除軟件缺陷 評審、測試評審、測試 美標準局美標準局VV&T(Verification Validation VV&T(Verification Validation & Test)& Test)1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系評審評審用戶用戶需求獲取需求獲取需求定義需求定義軟件產品軟件產品可交付軟件可交付軟件已確認軟件已確認軟件需求分析書需求分析

18、書已集成軟件已集成軟件概要設計書概要設計書已測試模塊已測試模塊詳細設計書詳細設計書程序程序需求分析需求分析系統(tǒng)測試系統(tǒng)測試確認測試確認測試概要設計概要設計集成測試集成測試詳細設計詳細設計單元測試單元測試編碼編碼評審評審評審評審評審評審評審評審評審評審評審評審評審評審需求分析需求分析軟件開發(fā)與測試軟件開發(fā)與測試V V模型模型1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系需求分析需求分析概要設計概要設計確認確認交付交付集成集成詳細設計詳細設計編碼編碼單元測試單元測試集成測試集成測試設計測試設計測試功能測試功能測試確認測試確認測試需求測試需求測試系統(tǒng)測試系統(tǒng)測試軟軟件件開發(fā)與測試開發(fā)與測試

19、W模型模型1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系項目階段任務的里程碑項目階段任務的里程碑需求分析需求分析需求評審需求評審概要設計概要設計概要設計評審概要設計評審詳細設計詳細設計設計走查設計走查編碼編碼單元測試單元測試 各子模塊各子模塊測試計劃測試計劃測試過程測試過程測試評審測試評審集成測試集成測試系統(tǒng)測試系統(tǒng)測試確認測試確認測試軟軟件件開發(fā)與測試并開發(fā)與測試并行性行性1.5 1.5 軟件開發(fā)與測試的關系軟件開發(fā)與測試的關系 開發(fā)開發(fā)各階階段測試測試工作 階段階段測試測試需求需求分析分析概要概要設計設計詳細詳細 設計設計實現實現/ /單元單元 測試測試集成集成 測試測試確認確認

20、 測試測試系統(tǒng)系統(tǒng) 測試測試系統(tǒng)系統(tǒng) 測試測試確認確認 測試測試集成集成 測試測試單元單元 測試測試計劃計劃計劃計劃計劃計劃執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行執(zhí)行設計設計設計設計設計設計計劃計劃/ /設計設計1.6 1.6 軟件測試技術軟件測試技術軟件測試分類軟件測試分類按按實實施施步步驟驟按按測測試試對對象象按按測測試試技技術術按按測測試試內內容容單元、單元、集成、集成、系統(tǒng)、系統(tǒng)、驗收驗收軟件單元、部軟件單元、部件、配置項件、配置項動態(tài)、動態(tài)、靜態(tài)靜態(tài)功能、功能、性能、性能、穩(wěn)定性、穩(wěn)定性、可用性、可用性、安全性、安全性、安裝、安裝、配置、配置、兼容性、兼容性、可維護可維護性、用性、用戶手冊戶手冊1.6 1.6 軟件測試技術軟件測試技術 靜態(tài)測試技術靜態(tài)測試技術 特點特點 不必運行程序不必運行程序 發(fā)揮人的邏輯思維優(yōu)勢發(fā)揮人的邏輯思維優(yōu)勢 無需條件,易展開無需條件,易展開 方法方法 代碼審查(與設計的一致性、標準、可讀性,表達式邏輯、代碼審查(與設計的一致性、標準、可讀性,表達式邏輯、結構合理性)結構合理性) 代碼檢查(與審查類似,但不如審查檢查范圍廣)代碼檢查(與審查類似,但不如審查檢查范圍廣) 桌面檢查(閱讀自己程序,效率低)桌面檢查(閱讀自己程序,效率低) 靜態(tài)分析(借助于測試工具)靜態(tài)分析(借助于測試工具) 數據流、控制流、接口分析、表達

溫馨提示

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

最新文檔

評論

0/150

提交評論