本書簡介
本書全面系統地講述了軟體質量保證與測試的概念、原理和典型的方法,並介紹了相關軟體項目的管理技術。本書共15章,第1章是概述,第2~8章講述了軟體質量工程體系、軟體質量度量和配置管理、軟體可靠性度量和測試、軟體質量標準、軟體評審、軟體全面質量管理、高質量編程,第9~15章分別講述了軟體測試、黑盒測試、白盒測試、基於缺陷模式的軟體測試、集成測試、系統測試、測試管理。
本書目錄
第1章概述
1.1軟體特徵
1.1.1軟體分類
1.1.2層次化軟體工程
1.1.3軟體范型的轉變
1.1.4現代軟體開發
1.2軟體質量
1.2.1質量概念
1.2.2質量運動
1.2.3軟體質量概念
1.2.4評價體系與標準
1.3軟體測試與可靠性
1.3.1軟體測試的意義
1.3.2軟體測試的定義
1.3.3軟體測試的方法
1.3.4軟體缺陷的修復費用
1.4工業時代的人才特點
1.4.1軟體人才的需求
1.4.2軟體測試員應具備的素質
1.5小結
思考題
第2章軟體質量工程體系
2.1軟體質量控制的基本概念和方法
2.1.1軟體質量控制的基本概念
2.1.2軟體質量控制的基本方法
2.2軟體質量控制模型和技術
2.2.1軟體質量控制模型
2.2.2軟體質量控制模型參數
2.2.3軟體質量控制的實施過程
2.2.4軟體質量控制技術
2.3軟體質量保證體系
2.3.1軟體質量保證的內容
2.3.2SQA活動和實施
2.4小結
思考題
第3章軟體質量度量和配置管理
3.1度量和軟體度量
3.1.1度量
3.1.2軟體度量
3.1.3作用
3.2軟體質量度量
3.2.1軟體質量和軟體質量要素
3.2.2影響軟體質量的因素
3.2.3質量保證模型
3.2.4缺陷排除效率
3.3軟體過程度量
3.3.1概念
3.3.2常見問題
3.3.3基於目標的方法
3.4軟體配置管理
3.4.1目標
3.4.2角色職責
3.4.3過程描述
3.4.4關鍵活動
3.4.5VSS的使用
3.5小結
思考題
第4章軟體可靠性度量和測試
4.1軟體可靠性
4.1.1軟體可靠性的發展史
4.1.2軟體可靠性的定義
4.1.3基本數學關係
4.1.4影響因素
4.1.5軟體的差錯、故障和失效
4.2可靠性模型及其評價標準
4.2.1軟體可靠性模型
4.2.2模型及其套用
4.2.3軟體可靠性模型評價準則
4.3軟體可靠性測試和評估
4.3.1軟體可靠性評測
4.3.2具體實施過程
4.4提高軟體可靠性的方法和技術
4.4.1建立以可靠性為核心的質量標準
4.4.2選擇開發方法
4.4.3軟體重用
4.4.4使用開發管理工具
4.4.5加強測試
4.4.6容錯設計
4.5軟體可靠性研究的主要問題
4.6小結
思考題
第5章軟體質量標準
5.1軟體質量標準概述
5.1.1國際標準
5.1.2國家標準
5.1.3行業標準
5.1.4企業規範
5.1.5項目規範
5.2ISO9001和90003在軟體中的套用
5.3能力成熟度模型
5.3.1CMM質量思想
5.3.2CMM關鍵域
5.3.3PSP和TSP
5.3.4CMMI
5.3.5CMM中的質量框架
5.4IEEE軟體工程標準
5.4.1IEEE730:2001結構與內容
5.4.2IEEE/EIAStd12207軟體生命周期過程
5.4.3IEEEStd1012驗證與確認
5.4.4IEEEStd1028評審
5.5其他質量標準
5.5.1ISO/IEC155042:2003軟體過程評估標準
5.5.2TickIT
5.6小結
思考題
第6章軟體評審
6.1為什麼需要軟體評審
6.2軟體評審的角色和職能
6.3評審的內容
6.3.1管理評審
6.3.2技術評審
6.3.3文檔評審
6.3.4過程評審
6.4評審的方法和技術
6.4.1評審的方法
6.4.2評審的技術
6.5評審會議流程
6.5.1準備評審會議
6.5.2召開評審會議
6.5.3跟蹤和分析評審結果
6.6小結
思考題
第7章軟體全面質量管理
7.1全面質量管理概述
7.1.1發展階段
7.1.2相關問題
7.1.3全面質量管理與ISO9000
7.1.4全面質量管理與統計技術
7.26σ項目管理
7.2.16σ管理法簡介
7.2.26σ管理法與零缺陷
7.2.36σ管理的特徵
7.2.46σ管理的優點
7.2.5DPMO與6σ的關係
7.2.6人員組織結構
7.2.76σ與其他管理工具的比較
7.3質量功能展開設計
7.3.1質量功能展開的概念
7.3.2質量功能展開的分解模型
7.3.3質量屋的構成
7.3.4質量功能展開的特點
7.4DFSS流程及主要設計工具
7.4.1DMAIC與DFSS簡介
7.4.2DFSS的重要性及其內涵
7.4.3DFSS與DMAIC的區別
7.4.4DFSS流程及主要設計工具
7.4.5DFSS的集成框架
7.4.6注意問題
7.4.7發展方向
7.5小結
思考題
第8章高質量編程
8.1代碼風格
8.1.1程式的書寫格式
8.1.2Windows程式命名規則
8.1.3共性規則
8.1.4表達式和基本語句
8.2函式設計規則
8.2.1函式外部特性的注釋規則
8.2.2參數規則
8.2.3返回值的規則
8.2.4函式內部的實現規則
8.3提高程式質量的技術
8.3.1記憶體管理規則
8.3.2面向對象的設計規則
8.4代碼審查
8.4.1代碼審查的主要工作
8.4.2代碼審查的流程
8.4.3Java代碼審查的常見錯誤
8.5小結
思考題
第9章軟體測試
9.1目的和原則
9.1.1軟體測試的目的
9.1.2軟體測試的原則
9.2軟體測試的種類
9.2.1軟體測試過程概述
9.2.2單元測試
9.2.3集成測試
9.2.4系統測試
9.2.5驗收測試
9.2.6回歸測試
9.2.7敏捷測試
9.3軟體測試與軟體開發
9.3.1整個軟體開發生命周期
9.3.2生命周期測試與V模型
9.3.3軟體測試IDE產品
9.4軟體測試的現狀
9.4.1軟體測試的過去、現在和未來
9.4.2產業現狀
9.5測試工具的選擇
9.5.1白盒測試工具
9.5.2黑盒測試工具
9.5.3測試設計和開發工具
9.5.4測試執行和評估工具
9.5.5測試管理工具
9.5.6功能和成本
9.6小結
思考題
第10章黑盒測試
10.1等價類劃分法
10.1.1劃分等價類
10.1.2方法
10.1.3設計測試用例
10.2邊界值分析法
10.2.1邊界條件
10.2.2次邊界條件
10.2.3其他邊界條件
10.2.4邊界值的選擇方法
10.3因果圖法
10.3.1因果圖設計方法
10.3.2因果圖測試用例
10.4功能圖法
10.4.1功能圖設計方法
10.4.2功能圖法生成測試用例
10.5比較與選擇
10.6黑盒測試工具
10.6.1WinRunner的使用
10.6.2LoadRunner的使用
10.6.3QTP的使用
10.7小結
思考題
第11章白盒測試
11.1白盒測試的目的
11.2控制流測試
11.2.1語句覆蓋
11.2.2判定覆蓋
11.2.3條件覆蓋
11.2.4判定條件覆蓋
11.2.5路徑覆蓋
11.2.6幾種常用邏輯覆蓋的比較
11.2.7循環測試
11.3基本路徑測試
11.3.1程式的控制流圖
11.3.2程式結構的要求
11.3.3舉例
11.4程式插裝
11.5程式變異測試
11.6C++Test和白盒測試工具
11.6.1C++Test的使用
11.6.2白盒測試工具
11.7軟體缺陷分析
11.7.1簡介
11.7.2軟體缺陷的類別
11.7.3軟體缺陷的級別
11.7.4軟體缺陷產生的原因
11.7.5軟體缺陷的構成
11.8小結
思考題
第12章基於缺陷模式的軟體測試
12.1相關定義
12.1.1軟體缺陷的產生原因
12.1.2減少缺陷的關鍵因素
12.1.3軟體缺陷的特徵
12.2軟體缺陷的屬性
12.3軟體缺陷的嚴重性和優先權
12.3.1缺陷的嚴重性和優先權的關係
12.3.2常見錯誤
12.3.3表示和確定
12.4軟體缺陷管理和CMM的關係
12.4.1初始級的缺陷管理
12.4.2可重複級的缺陷管理
12.4.3已定義級的缺陷管理
12.4.4定量管理級的缺陷管理
12.4.5持續最佳化級的缺陷管理
12.5報告軟體缺陷
12.5.1報告軟體缺陷的基本原則
12.5.2IEEE軟體缺陷報告模板
12.6軟體缺陷管理
12.6.1缺陷管理目標
12.6.2人員職責
12.6.3缺陷生命周期
12.6.4缺陷管理系統
12.6.5缺陷分析方法
12.6.6缺陷分析指標
12.7小結
思考題
第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.3集成測試用例設計
13.4集成測試的過程
13.4.1計畫階段
13.4.2設計實現階段
13.4.3執行評估階段
13.5面向對象的集成測試
13.5.1對象互動
13.5.2面向對象的集成測試的步驟
13.5.3常用的測試技術
13.6小結
思考題
第14章系統測試
14.1系統測試的定義
14.2系統測試的流程
14.3系統測試的主要方法
14.3.1性能測試
14.3.2強度測試
14.3.3安全性測試
14.3.4兼容性測試
14.3.5恢複測試
14.3.6用戶圖形界面測試
14.3.7安裝測試
14.3.8可靠性測試
14.3.9配置測試
14.3.10可用性測試
14.3.11文檔資料測試
14.3.12網站測試
14.4系統測試工具
14.4.1系統測試工具的分類
14.4.2TestDirector的使用
14.5小結
思考題
第15章測試管理
15.1測試管理過程
15.1.1測試的過程及組織
15.1.2測試方法的套用
15.1.3測試的人員組織
15.1.4軟體測試檔案
15.2建立軟體測試管理體系
15.2.1軟體測試管理體系的組成和建立目的
15.2.2軟體測試項目組織結構的設計
15.2.3測試管理者工作原則
15.3測試文檔的撰寫
15.3.1測試計畫
15.3.2測試規範
15.3.3測試案例和測試報告
15.3.4軟體缺陷報告
15.4調試的技巧
15.4.1調試過程
15.4.2心理因素
15.4.3調試方法
15.5軟體測試自動化
15.5.1實施理由
15.5.2引入條件
15.5.3不同階段的優勢
15.5.4常用開發工具
15.6小結
思考題
參考文獻