出版時間:2004-4 出版社:清華大學出版社 作者:古樂 編 頁數:450
Tag標簽:無
內容概要
本書是一本比較全面地介紹軟件測試方法的書籍,先介紹測試技術的發(fā)展歷史和現狀;然后,作為測試的一個基礎,介紹了白盒測試、黑盒測試以及測試覆蓋率等幾個重要概念,并充分分析了業(yè)界在這幾個概念方面的研究成果;之后從全流程測試的角度按動態(tài)測試和靜態(tài)測試兩個方面,分別介紹了單元測試、集成測試、系統(tǒng)測試、驗證和確認過程、需求測試和設計測試等內容。作為靜態(tài)測試的一個重要手段,本書還對同行評審的概念和方法進行了闡述。最后,作者總結了測試的基本原則和一些好的實踐經驗。 本書可以作為大學本科高年級學生或研究生教材,也可以作為本科低年級學生學習的參考書。對于軟件工程師和測試工程師來說,本書是一本很好的指導書。
作者簡介
古樂,編著《軟件測試技術概論》。
書籍目錄
第1章 概述1.1 回顧測試的發(fā)展1.2 什么是軟件測試1.2.1 IEEE的定義1.2.2 測試在軟件開發(fā)中的角色1.3 為什么要進行軟件測試1.4 測試的目的1.4.1 證明1.4.2 檢測1.4.3 預防1.5 業(yè)界的軟件測試現狀1.6 軟件測試中的誤區(qū)1.7 本章小結第2章 白盒測試和黑盒測試2.1 白盒測試2.1.1 什么是白盒測試2.1.2 為什么要進行白盒測試2.1.3 白盒測試的常用技術2.1.4 一個白盒測試的例子2.2 黑盒測試2.2.1 什么是黑盒測試2.2.2 為什么要進行黑盒測試2.2.3 黑盒測試的常用技術2.2.4 一個黑盒測試的例子2.3 白盒測試和黑盒測試的比較2.3.1 白盒測試的優(yōu)缺點2.3.2 黑盒測試的優(yōu)缺點2.3.3 灰盒測試2.4 本章小結第3章 測試覆蓋率3.1 覆蓋率概念3.2 常見的邏輯覆蓋3.2.1 語句覆蓋3.2.2 判定覆蓋3.2.3 條件覆蓋3.2.4 判定條件覆蓋3.2.5 路徑覆蓋3.2.6 邏輯覆蓋小結3.3 功能覆蓋率3.4 面向對象的覆蓋率3.4.1 繼承上下文覆蓋3.4.2 基于狀態(tài)的上下文覆蓋3.4.3 基于線程的上下文覆蓋3.5 其他覆蓋率3.5.1 函數覆蓋3.5.2 指令塊覆蓋3.5.3 判定路徑覆蓋3.5.4 更改條件判定覆蓋3.5.5 分支條件組合覆蓋3.5.6 過程到過程路徑覆蓋3.5.7 Z路徑覆蓋3.5.8 ESTCA覆蓋3.5.9 LCSAJ覆蓋3.6 如何使用覆蓋率3.6.1 基本原則3.6.2 一個選擇建議3.6.3 使用最少測試用例來達到覆蓋3.7 本章小結第4章 程序分析技術4.1 文本視角4.2 句法視角4.3 控制流視角4.4 數據流視角4.5 計算流視角4.5.1 故障插入4.5.2 變體分析4.5.3 敏感性分析4.6 功能視角4.7 本章小結第5章 測試分析技術5.1 面向規(guī)格的測試5.1.1 測試獨立于規(guī)格技術5.1.2 測試依賴于規(guī)格技術5.2 面向實現的測試5.2.1 面向結構的測試5.2.2 面向影響的測試5.2.3 面向傳遞的測試5.3 面向錯誤的測試5.3.1 基于錯誤的測試5.3.2 基于故障的測試5.3.3 基于風險的測試5.3.4 可能的正確性5.4 混合測試技術5.5 本章小結第6章 單元測試6.1 什么是單元測試6.1.1 單元測試的目的6.1.2 單元測試和集成測試的區(qū)別6.1.3 單元測試和系統(tǒng)測試的區(qū)別6.2 為什么要進行單元測試6.3 單元測試環(huán)境6.4 單元測試策略6.4.1 【策略一】由頂向下的單元測試策略6.4.2 【策略二】由低到上的單元測試策略6.4.3 【策略三】孤立測試6.4.4 綜合測試6.5 單元測試分析6.5.1 模塊接口6.5.2 局部數據結構6.5.3 獨立路徑6.5.4 出錯處理6.5.5 邊界條件6.6 單元測試用例設計思路6.6.1 為系統(tǒng)運行設計用例6.6.2 為正向測試設計用例6.6.3 為逆向測試設計用例6.6.4 為滿足特殊需求設計用例6.6.5 為代碼覆蓋設計用例6.6.6 為覆蓋率指標完成設計用例6.7 單元測試過程6.7.1 完成測試計劃6.7.2 獲取測試集6.7.3 度量測試單元6.8 單元測試工具介紹6.9 單元測試應堅持的原則6.10 我們的問題6.11 本章小結第7章 集成測試7.1 什么是集成測試7.1.1 集成測試與系統(tǒng)測試的區(qū)別7.1.2 集成測試關注的重點7.1.3 集成測試和開發(fā)的關系7.1.4 集成測試的層次7.2 集成測試策略7.2.1 大爆炸集成7.2.2 自頂向下的集成7.2.3 自底向上的集成7.2.4 三明治集成7.2.5 修改過的三明治集成7.2.6 基干集成7.2.7 分層集成7.2.8 基于功能的集成7.2.9 高頻集成7.2.10 基于進度的集成7.2.11 基于風險的集成7.2.12 基于事件(消息)的集成7.2.13 基于使用的集成7.2.14 客戶/服務器的集成7.2.15 分布式集成7.3 集成測試分析7.3.1 體系結構分析7.3.2 模塊分析7.3.3 接口分析7.3.4 風險分析7.3.5 可測試性分析7.3.6 集成測試策略分析7.3.7 常見的集成測試故障7.4 集成測試用例設計思路7.4.1 為系統(tǒng)運行設計用例7.4.2 為正向測試設計用例7.4.3 為逆向測試設計用例7.4.4 為滿足特殊需求設計用例7.4.5 為高覆蓋設計用例7.4.6 測試用例補充7.4.7 注意事項7.5 集成測試過程7.5.1 計劃階段7.5.2 設計階段7.5.3 實現階段7.5.4 執(zhí)行階段7.6 集成測試環(huán)境集成測試7.7 集成測試工具介紹7.8 集成測試應堅持的原則7.9 本章小結第8章 系統(tǒng)測試8.1 系統(tǒng)測試概念8.2 系統(tǒng)測試方法8.2.1 功能測試8.2.2 協(xié)議一致性測試8.2.3 性能測試8.2.4 壓力測試8.2.5 容量測試8.2.6 安全性測試8.2.7 恢復性測試8.2.8 備份測試8.2.9 GUI測試8.2.10 健壯性測試8.2.11 兼容性測試8.2.12 可用性測試8.2.13 可安裝性測試8.2.14 文檔測試8.2.15 在線幫助測試8.2.16 數據轉換測試8.3 系統(tǒng)測試過程8.3.1 完成系統(tǒng)測試計劃8.3.2 完成系統(tǒng)測試用例8.3.3 評審/審批系統(tǒng)測試計劃8.3.4 執(zhí)行系統(tǒng)測試8.4 本章小結第9章 可靠性與可靠性測試9.1 基本概念9.1.1 什么是軟件可靠性9.1.2 錯誤、缺陷、故障和失效9.1.3 軟件可靠性指標9.1.4 軟件和硬件可靠性區(qū)別9.2 可靠性指標分配9.3 可靠性預計9.3.1 計數法9.3.2 應力法9.4 可靠性分析方法9.4.1 FMEA9.4.2 CA9.4.3 FTA9.4.4 ETA9.4.5 SCA9.5 軟件可靠性測試9.5.1 可靠性測試流程9.5.2 可靠性模型介紹9.5.3 一個可靠性數據分析例子9.6 軟件可靠性工程9.7 可靠性標準和可靠性工具9.7.1 可靠性標準9.7.2 可靠性工具9.8 本章小結第10章 其他專項性測試10.1 可接受性測試10.2 Alpha測試10.3 Beta測試10.4 標桿測試10.5 配置測試10.6 外場測試10.7 SQL測試10.8 2000年測試10.9 回歸測試10.10 本章小結第11章 軟件質量透視11.1 質量的定義11.2 質量的預防和檢測11.3 如何提高軟件產品的質量11.3.1 流程對質量的貢獻11.3.2 流程與技術11.3.3 全面質量管理11.3.4 關注測試11.3.5 組織、流程和人11.4 質量標準11.5 本章小結 第12章 軟件驗證和確認12.1 基本概念 12.2 軟件驗證和確認計劃12.2.1 SVVP步驟12.2.2 SVVP的7個主題12.3 驗證和確認任務分析12.3.1 關鍵性分析12.3.2 可跟蹤性分析12.3.3 評估12.3.4 接口分析12.3.5 測試12.4 生命周期各階段活動12.4.1 管理階段的驗證和確認12.4.2 概念階段的驗證和確認12.4.3 需求階段的驗證和確認12.4.4 設計階段的驗證和確認12.4.5 實現階段的驗證和確認12.4.6 測試階段的驗證和確認12.4.7 安裝和校驗階段的驗證和確認12.4.8 運行和維護階段的驗證和確認12.4.9 驗證和確認任務總結12.5 驗證和確認的報告12.5.1 標準要求的報告12.5.2 標準可選報告12.6 本章小結 第13章 軟件質量保證13.1 基本概念13.1.1 目標13.1.2 執(zhí)行的承諾13.1.3 執(zhí)行的能力13.1.4 執(zhí)行的活動13.1.5 度量分析13.1.6 驗證實現13.2 SQA實施過程13.2.1 建立SQA組織13.2.2 選擇SQA任務13.2.3 產生/維護SQA計劃13.2.4 實施SQA計劃13.2.5 產生/維護SQA規(guī)程13.2.6 標識SQA培訓13.2.7 標識/選擇SQA工具13.2.8 改進項目SQA過程13.3 本章小結第14章 需求測試14.1 需求測試概述14.1.1 什么是需求14.1.2 測試需求14.2 通過評審來測試需求14.2.1 需求評審中的常見風險14.2.2 需求評審檢查表14.3 通過用例設計來測試需求14.4 需求建模測試14.4.1 統(tǒng)一建模語言14.4.2 消息順序圖(MSC)14.4.3 分析建模工具介紹14.4.4 需求的形式化描述14.5 基于原型的測試14.5.1 原型的目的14.5.2 原型的種類14.5.3 原型的測試方法14.6 本章小結第15章 設計測試15.1 設計測試概述15.1.1 什么是設計15.1.2 軟件構架設計15.1.3 概要設計和詳細設計15.2 設計的評審15.2.1 設計查檢表15.2.2 構架設計評審方法15.2.3 軟件構架評價最佳工業(yè)實踐15.3 SDL及相關測試15.3.1 SDL介紹15.3.2 SDL基本概念15.3.3 SDL結構15.3.4 SDL測試15.4 本章小結第16章 同行評審16.1 基本概念16.2 同行評審的一般過程16.2.1 計劃階段16.2.2 實施被選擇的同行評審過程16.2.3 同行評審過程度量 16.2.4 同行評審的評審/審計16.3 走讀16.3.1 過程目標16.3.2 特定的角色和職責16.3.3 輸入16.3.4 入口標準16.3.5 過程16.3.6 出口標準16.3.7 輸出16.4 技術評審16.4.1 過程目標16.4.2 特定的角色和職責16.4.3 輸入16.4.4 入口標準16.4.5 過程16.4.6 出口標準16.4.7 輸出16.5 正規(guī)檢視16.5.1 正規(guī)檢視小組16.5.2 正規(guī)檢視過程16.5.3 正規(guī)檢視常用表格16.6 本章小結第17章 測試經驗總結17.1 軟件測試的10大原則17.1.1 原則1:測試是一個持續(xù)進行的過程,而不是一個階段17.1.2 原則2:測試必須被計劃、被控制,并且被提供時間和資源17.1.3 原則3:測試應當分級別17.1.4 原則4:測試應當有重點17.1.5 原則5:測試不是為了證明程序的正確性,而是為了證明程序不能工作17.1.6 原則6:測試是不可能窮盡的,當測試出口條件滿足時就可以停止測試17.1.7 原則7:測試是開發(fā)的朋友,不是開發(fā)的敵人17.1.8 原則8:測試人員應公正地測試,如實地記錄和報告缺陷17.1.9 原則9:測試自動化能解決一部分問題,但不是全部17.1.10 原則10:測試不能僅僅包括功能性的驗證,還應當包含性能、可靠性、可維護性、安全性等方面的驗證17.2 軟件測試的10個最佳實踐17.2.1 實踐1:盡早地、頻繁地進行測試是降低項目成本,提高質量的一個好方法17.2.2 實踐2:盡早產生一個綜合的主測試計劃17.2.3 實踐3:對質量要求較高或大型復雜的產品成立獨立的測試組17.2.4 實踐4:在每個開發(fā)階段,使用測試和評價的結果作為是否可以通過的標準17.2.5 實踐5:開發(fā)和維護一個測試需求和目標的風險優(yōu)先級列表17.2.6 實踐6:把測試件作為產品的一部分等同管理,使用相同的評價標準和過程17.2.7 實踐7:提供集成化的測試工具和測試基礎支持17.2.8 實踐8:加強測試度量工作和缺陷分析工作,不斷地改進測試17.2.9 實踐9:加強測試的培訓并且為測試人員提供技能發(fā)展的通道17.2.10 實踐10:加強溝通和交流,讓項目組內所有人員都了解測試的工作及其重要性17.3 本章小結附錄A 常見測試術語附錄B 測試技術分類附錄C 常見的編碼錯誤附錄D 經典測試網站附錄E 參考資料
編輯推薦
《軟件測試技術概論》的重點在于介紹軟件測試的一些基本概念和方法,涵蓋了業(yè)界出現的大部分測試領域內的知識,是一本比較全面的測試方法介紹書籍?!盾浖y試技術概論》綜合考慮了測試的方方面面,內容涵蓋了動態(tài)測試到靜態(tài)測試,白盒測試到黑盒測試,單元測試到系統(tǒng)測試等多個測試領域。對于近幾年才出現的一些測試方法也進行了闡述和比較。全書內容涉及面廣,理論與實踐巧妙結合,強調測試分析和測試設計的重要性,引入過程概念,強調全面質量管理,提出需求測試和設計測試的思想,值得一讀。《軟件測試技術概論》可以作為大學本科高年級學生或研究生教材,也可以作為本科低年級學生學習的參考書。對于軟件工程師和測試工程師來說,《軟件測試技術概論》是一本很好的指導書。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載