軟體測試方法和技術(第3版)

軟體測試方法和技術(第3版)

《軟體測試方法和技術(第3版)》是清華大學出版社出版的圖書,作者是朱少民。

基本信息

內容簡介

本書共分為三篇: 軟體測試的原理與方法、技術和實踐。本書首先系統地介紹軟體測試相關概念,從不同的視角來探討軟體測試的本質及其內涵; 全面而又系統地講解了軟體測試所需的基本方法,按照SWEBOK 3.0對方法進行了重新分類和組織,能夠滿足不同套用系統的測試需求; 並且簡要地介紹了軟體測試規範、軟體測試過程及其改進等內容,有利於讀者提綱挈領地掌握軟體測試的知識全貌。本書的第2篇介紹了軟體測試各個層次(單元測試、集成測試、系統測試和驗收測試)的測試技術及其工具,系統、務實而有效,和業界的實踐保持高度一致,學以致用; 而且還介紹了軟體國際化和本地化的測試、軟體測試自動化的原理和框架,可使讀者有效地提高動手能力。為了更好地將測試方法和技術套用於實際項目中,本書的第3篇從軟體測試需求分析

目錄

第1篇軟體測試的原理與方法

第1章引論

1.1軟體測試的必要性

1.1.1迪士尼並不總是帶來笑聲

1.1.2一個缺陷造成了數億美元損失

1.1.3火星探測飛船墜毀

1.1.4更多的悲劇

1.2為什麼要進行軟體測試

1.3什麼是軟體測試

1.3.1軟體測試學科的形成

1.3.2正反兩方面的爭辯

1.3.3軟體測試的定義

1.3.4軟體測試的其他觀點

1.4測試和開發的關係

1.5測試和質量保證的關係

1.6測試驅動開發的思想

小結

思考題

第2章軟體測試的基本概念

2.1軟體缺陷

2.1.1軟體質量的內涵

2.1.2軟體缺陷的定義

2.1.3軟體缺陷的產生

2.1.4軟體缺陷的構成

2.1.5修復軟體缺陷的代價

2.2軟體測試的分類

2.3靜態測試和動態測試

2.3.1產品評審

2.3.2靜態分析

2.3.3驗證和確認

2.4主動測試和被動測試

2.5黑盒測試和白盒測試

2.6軟體測試級別

2.7軟體測試計畫和測試用例

2.7.1測試計畫

2.7.2測試用例

2.8專業測試人員的責任和要求

2.8.1專業軟體測試人員的責任

2.8.2對專業測試人員的要求

2.8.3優秀測試工程師應具備的素質

小結

思考題

第3章軟體測試方法

3.1基於直覺和經驗的方法

3.1.1Adhoc測試方法和ALAC測試

3.1.2錯誤推測法

3.2基於輸入域的方法

3.2.1等價類劃分法

3.2.2邊界值分析法

3.3基於組合及其最佳化的方法

3.3.1判定表方法

3.3.2因果圖法

3.3.3Pairwise方法

3.3.4正交試驗法

3.4基於邏輯覆蓋的方法

3.4.1判定覆蓋

3.4.2條件覆蓋

3.4.3判定條件覆蓋

3.4.4條件組合覆蓋

3.4.5基本路徑覆蓋

3.5基於缺陷模式的測試

3.5.1常見的缺陷模式

3.5.2DPBT的測試過程

3.6基於模型的測試

3.6.1功能圖法

3.6.2模糊測試方法

3.7形式化測試方法

3.7.1形式化方法

3.7.2形式化驗證

3.7.3擴展有限狀態機方法

小結

思考題

第4章軟體測試流程和規範

4.1傳統的軟體測試過程

4.1.1W模型

4.1.2TMap NEXT

4.2敏捷測試過程

4.2.1敏捷測試的特徵

4.2.2敏捷測試流程

4.2.3基於腳本測試和探索式測試

4.3軟體測試學派

4.4基於風險的測試策略

4.5測試過程改進

4.5.1TMMi

4.5.2TPI NEXT

4.5.3CTP

4.5.4STEP

4.6軟體測試規範

小結

思考題

第2篇軟體測試的技術

第5章單元測試與集成測試

5.1單元測試的目標和任務

5.1.1為何要進行單元測試

5.1.2單元測試的目標和要求

5.1.3單元測試的任務

5.2靜態測試

5.2.1編碼的標準和規範

5.2.2代碼評審

5.3動態測試

5.3.1驅動程式和樁程式

5.3.2類測試

5.4代碼評審案例分析

5.4.1空指針保護

5.4.2格式化數字錯誤

5.4.3字元串或數組越界錯誤

5.4.4資源不合理使用

5.4.5不當使用synchronized導致系統性能下降

5.5分層單元測試

5.5.1Action層的單元測試

5.5.2數據訪問層的單元測試

5.5.3Servlet的單元測試

5.6單元測試工具

5.6.1JUnit介紹

5.6.2Eclipse中JUnit套用舉例

5.6.3JUnit + Ant 構建自動的單元測試

5.6.4代碼的靜態檢測工具

5.6.5SourceMonitor 檢測代碼複雜度

5.6.6開源的單元測試工具

5.6.7商業的單元測試工具

5.7系統集成的模式與方法

5.7.1集成測試的模式

5.7.2自頂向下和自底向上集成方法

5.7.3混合策略

5.7.4持續集成

小結

思考題

第6章系統測試

6.1系統級功能測試

6.1.1功能測試要求

6.1.2Web伺服器的功能測試

6.1.3一套Web功能測試工具

6.1.4AutoIT及其客戶端測試工具

6.1.5嵌入式測試工具

6.2回歸測試

6.2.1目的

6.2.2策略及其方法

6.3性能測試

6.3.1系統性能指標和測試類型

6.3.2系統負載及其模式

6.3.3性能測試的基本過程

6.3.4性能測試結果分析

6.3.5JMeter及系統性能測試工具

6.3.6Web性能測試

6.3.7用JProfiler完成套用伺服器的性能測試

6.3.8壓力測試

6.3.9容量測試

6.4安全性測試

6.4.1安全性測試的範圍與方法

6.4.2Web安全性測試

6.4.3安全性測試工具

6.5容錯性測試

6.5.1容錯性測試的要點

6.5.2資料庫並發控制測試

6.6兼容性測試

6.6.1軟體兼容性測試

6.6.2數據共享兼容性測試

6.6.3硬體兼容性測試

6.7可靠性測試

小結

思考題

第7章驗收測試

7.1驗收測試過程

7.2產品規格說明書的驗證

7.2.1產品規格說明書的評審

7.2.2產品規格說明書的驗證

7.2.3文檔的測試

7.3用戶界面和可用性測試

7.4安裝測試和可恢復性測試

小結

思考題

第8章軟體本地化測試

8.1什麼是軟體本地化

8.1.1軟體本地化與國際化

8.1.2字元集問題

8.1.3軟體國際化標準

8.1.4軟體本地化基本步驟

8.1.5軟體本地化測試

8.2翻譯驗證

8.3本地化測試的技術問題

8.3.1數據格式

8.3.2頁面顯示和布局

8.3.3配置和兼容性問題

8.4本地化的功能測試

小結

思考題

第9章測試自動化及其框架

9.1測試自動化的內涵

9.1.1手工測試的局限性

9.1.2什麼是測試自動化

9.1.3軟體測試自動化的優勢

9.2測試自動化實現的原理

9.2.1代碼分析

9.2.2對象識別

9.2.3腳本技術

9.2.4自動比較技術

9.2.5測試自動化系統的構成

9.3測試自動化的實施

9.3.1測試工具的分類

9.3.2測試工具的選擇

9.3.3測試自動化普遍存在的問題

9.3.4自動化測試的引入和套用

9.4功能測試工具特性要求

9.5性能測試工具特性要求

9.6測試自動化的框架

小結

思考題

第3篇軟體測試項目實踐

第10章測試需求分析與測試計畫

10.1測試的目標和準則

10.2測試需求分析

10.2.1測試需求分析的基本方法

10.2.2測試需求分析的技術

10.2.3功能測試範圍分析

10.2.4非功能性的系統測試需求

10.3測試項目的估算與進度安排

10.3.1測試工作量估算

10.3.2工作分解結構表方法

10.3.3資源的安排

10.3.4測試里程碑和進度表

10.4測試風險和測試策略

10.4.1測試風險管理計畫

10.4.2測試策略的確定

10.5測試計畫的內容與編制

10.5.1測試計畫內容

10.5.2測試項目的計畫過程

10.5.3制定有效的測試計畫

小結

思考題

第11章設計和維護測試用例

11.1測試用例構成及其設計

11.1.1測試用例的重要性

11.1.2測試用例設計書寫標準

11.1.3測試用例設計考慮因素

11.1.4測試用例設計的基本原則

11.2測試用例的組織和跟蹤

11.2.1測試用例的屬性

11.2.2測試套件及其構成方法

11.2.3跟蹤測試用例

11.2.4維護測試用例

11.2.5測試用例的覆蓋率

小結

思考題

第12章部署測試環境

12.1測試環境的重要性

12.2測試環境要素

12.2.1硬體

12.2.2網路環境

12.2.3軟體

12.2.4數據準備

12.3虛擬機的套用

12.3.1虛擬機軟體

12.3.2VMware的虛擬機解決方案

12.3.3輔助工具

12.4如何建立項目的測試環境

12.5自動部署測試環境

12.6測試環境的維護和管理

小結

思考題

第13章測試執行、缺陷報告與跟蹤

13.1軟體測試執行與跟蹤

13.1.1測試執行過程的要點

13.1.2測試項目進度的管理方法

13.1.3測試過程管理工具

13.2軟體缺陷的描述

13.2.1軟體缺陷的生命周期

13.2.2嚴重性和優先權

13.2.3缺陷的其他屬性

13.2.4完整的缺陷信息

13.2.5缺陷描述的基本要求

13.2.6缺陷報告示例

13.3軟體缺陷相關的信息

13.3.1軟體缺陷的圖片信息

13.3.2使用WinDbg記錄軟體缺陷信息

13.3.3使用SoftICE記錄軟體缺陷信息

13.3.4分離和再現軟體缺陷

13.4軟體缺陷跟蹤和分析

13.4.1軟體缺陷處理技巧

13.4.2缺陷趨勢分析

13.4.3缺陷分布分析

13.4.4缺陷跟蹤方法

13.5軟體缺陷跟蹤系統

小結

思考題

第14章軟體測試和質量分析報告

14.1軟體產品的質量度量

14.1.1軟體度量及其過程

14.1.2軟體質量的度量

14.1.3質量度量的統計方法

14.2評估系統測試的覆蓋程度

14.2.1對軟體需求的估算

14.2.2基於需求的測試覆蓋評估

14.2.3基於代碼的測試覆蓋評估

14.3基於缺陷分析的產品質量評估

14.3.1缺陷評測的基線

14.3.2經典的種子公式

14.3.3基於缺陷清除率的估算方法

14.3.4軟體產品性能評估

14.4測試報告的具體內容

小結

思考題

參考文獻

附錄A軟體測試英文術語及中文解釋

附錄B測試計畫模板

附錄C測試用例設計模板

附錄D軟體缺陷模板

附錄E測試報告模板

附錄FJava Code Inspection Checklist

相關詞條

熱門詞條

聯絡我們