《軟件測試技術、方法和環(huán)境》是作者近20年實踐經驗的總結與提高,全面論述了軟件測試技術、過程和方法,以及組織級的軟件測試體系建設和運用。一方面講述了軟件測試目的和原則、測試的組織形式、組織級軟件測試體系建設及測試人員培養(yǎng)等。另一方面從技術角度論述了同行評審方法、測試用例設計方法、測試度量與分析、自動化測試及性能測試等。最后通過一個行業(yè)核心業(yè)務系統(tǒng)測試案例,展現(xiàn)了各種測試技術和管理方法如何綜合使用。提出的基于迭代的測試過程和行業(yè)核心業(yè)務系統(tǒng)測試是實踐的總結,適用于中國當前的現(xiàn)實情況。
《軟件測試技術、方法和環(huán)境》有助于測試人員及其他技術人員快速提高測試能力,適合業(yè)內人員閱讀、使用,也可以作為計算機專業(yè)的教學參考書。
第1章 測試技術引論
1.1 從系統(tǒng)工程角度看測試
1.1.1 從系統(tǒng)工程角度看測試的作用
1.1.2 從系統(tǒng)工程觀點看軟件測試
1.2 軟件測試發(fā)展簡史
1.2.1 軟件測試的起源和發(fā)展歷史
1.2.2 軟件測試與質量的關系
1.2.3 軟件測試與V&V的關系
1.3 測試的目的和作用
1.4 軟件測試6W原則
1.4.1 WHEN原則:盡早地、及時地開始測試
1.4.2 WHAT原則:測試對象包括各階段重要產出物
1.4.3 WHO原則:全員參與測試
1.4.4 WHERE原則:針對用戶最容易遇到的缺陷進行測試
1.4.5 HOW原則:綜合運用多種測試方法和技術
1.4.6 WHY原則:測試要適時終止
1.5 小結
第2章 測試組織形式
2.1 測試組織形式
2.1.1 項目內測試組形式
2.1.2 測試管理部形式
2.1.3 測試中心形式
2.2 測試組織形式選擇
2.3 小結
第3章 測試人員成長之路
3.1 測試人員要“過五關”
3.1.1 過心理關
3.1.2 過業(yè)務關
3.1.3 過技術關
3.1.4 過專業(yè)關
3.1.5 過管理關
3.2 測試能力自評和發(fā)展
3.3 小結
第4章 組織級測試體系總體設計
4.1 測試體系的內容
4.1.1 組織級軟件測試體系指的是什么?這是首先要回答的問題
4.1.2 組織級軟件測試體系建設的意義何在?這是要回答的第二個問題
4.1.3 組織級軟件測試體系包括哪些內容?這是要回答的第三個問題
4.2 測試體系建設過程
4.2.1 組織級測試過程的改進過程
4.2.2 組織級軟件測試的結論
4.3 測試成熟度模型
4.3.1 TMMi成熟度級別
4.3.2 TMMi關鍵過程域
4.4 小結
第5章 基于迭代的測試過程
5.1 測試過程模型
5.1.1 V模型
5.1.2 W模型
5.1.3 H模型
5.1.4 測試過程模型選擇策略
5.2 基于迭代的測試過程
5.3 測試過程監(jiān)控策略
5.3.1 測試目標/策略和計劃監(jiān)控
5.3.2 項目產出物質量監(jiān)控
5.3.3 測試執(zhí)行順序監(jiān)控
5.3.4 軟件版本監(jiān)控
5.3.5 冒煙測試監(jiān)控
5.3.6 回歸測試監(jiān)控
5.3.7 BUG處理監(jiān)控
5.4 小結
第6章 同行評審過程和方法
6.1 同行評審概述
6.2 代碼評審和走查
6.2.1 代碼評審
6.2.2 代碼走查
6.2.3 桌面檢查
6.3 需求評審和設計評審
6.3.1 同行評審小組組成
6.3.2 同行評審過程
6.3.3 評審注意事項
6.3.4 同行評審實踐
6.4 開發(fā)人員自測
6.5 從CMM到PSP/TSP
6.6 同行評審度量
6.7 小結
第7章 測試用例設計方法
7.1 白盒測試用例設計
7.1.1 邏輯覆蓋測試
7.2 黑盒測試用例設計
7.2.1 等價類劃分
7.2.2 邊界值分析
7.2.3 因果圖
7.2.4 錯誤推測
7.3 測試用例設計的策略
7.4 小結
第8章 測試度量與分析過程
8.1 軟件度量概念
8.1.1 度量元
8.1.2 度量模型
8.1.3 資源模型
8.2 測試計劃度量
8.2.1 測試規(guī)模估計
8.2.2 測試工作量估計
8.2.3 測試人數(shù)和工期估計
8.2.4 測試計劃制訂
8.3 測試過程度量分析
8.3.1 測試用例度量
8.3.2 缺陷度量
8.3.3 缺陷分析
8.4 建立測試度量分析體系
8.4.1 測試度量分析原則
8.4.2 測試過程性能基線
8.4.3 項目級測試度量分析過程
8.5 測試度量支持工具示例
8.5.1 缺陷管理
8.5.2 測試用例管理
8.5.3 質量預警
8.5.4 度量分析
8.6 小結
第9章 自動化測試體系建立
9.1 自動化測試策略
9.2 自動化測試基礎建設
9.2.1 測試環(huán)境
9.2.2 持續(xù)集成平臺
9.3 自動化測試框架和工具
9.3.1 自動化測試框架
9.3.2 自動化測試工具
9.3.3 測試腳本開發(fā)
9.3.4 自已動手開發(fā)測試工具
9.3.5 測試工具Sm@rtest介紹
9.4 自動化測試實踐案例
9.4.1 ESB平臺介紹
9.4.2 ESB產品自動化測試需求
9.4.3 ESB平臺自動化測試方案
9.4.4 ESB自動化測試效果
9.5 自動化測試過程建立
9.5.1 自動化測試過程建立
9.5.2 組織級自動化測試體系的建設
9.6 小結
第10章 性能測試過程和方法
10.1 對性能測試的理解
10.1.1 從理發(fā)店模型理解性能
10.1.2 理解系統(tǒng)性能度量元
10.1.3 性能測試的特點
10.2 性能測試規(guī)劃和設計
10.2.1 性能測試目標確定
10.2.2 性能測試需求分析
……
第11章 行業(yè)核心業(yè)務系統(tǒng)測試實踐
附錄1 術語
附錄2 參考文獻
跋
軟件測試是一個關系軟件開發(fā)全局的工作,在現(xiàn)代軟件開發(fā)和工程項目實踐中的作用越來越突出。隨著軟件產業(yè)的發(fā)展,從事各類軟件測試的技術人員越來越多。軟件測試工程師在工作環(huán)境、自身能力和價值創(chuàng)造等方面的改善和提升,不僅對于測試工程師自身,而且對于軟件開發(fā)組織、用戶單位乃至軟件產業(yè)的發(fā)展,都有重要的意義。本章主要關注測試工程師的成長之路,涉及測試能力培養(yǎng)、測試心理調適、測試與開發(fā)協(xié)作等專題,提出測試人員要“過五關”,一步步地邁向成功之路,并給出自我評估和如何進階的方法。希望這些內容對有志于在軟件測試方面發(fā)展的人士,有志于打造高效測試團隊的組織和人士有所啟發(fā)。
一個初入此道的測試工程師,如何通過組織的培養(yǎng)和自身的努力,逐步成長為中級測試經理,最后成長為測試專家,是需要邁過很多關口的。本書總結為“過五關”,包括“心理關”、“業(yè)務關”、“技術關”、“專業(yè)關”和“管理關”等。下面分別進行說明。
3.1.1過心理關
在當前的軟件行業(yè),除了一些軟件產品公司和以測試為主業(yè)的公司(如測試外包、測試咨詢服務公司)之外,一般的軟件公司(如軟件開發(fā)、服務、系統(tǒng)集成公司等)受到各種主客觀因素的影響,對測試工作的重視程度不高。在這里,軟件測試一般不被認為是一個高級的工作,似乎只有不會做編程的人才轉去做測試。
剛剛涉足專業(yè)測試工作的人士,在開始時,常常從心理上感到很不適應。這種不適感既與上面講的測試工作、測試工程師不受重視有關,也與測試工作本身的性質有關。因為軟件開發(fā)和軟件測試是一對矛盾,軟件設計和開發(fā)是對系統(tǒng)的構建過程,是矛盾的主要方面;而軟件測試是發(fā)現(xiàn)軟件中的BUG的過程,是對系統(tǒng)構建過程的驗證,是矛盾的次要方面。軟件設計和開發(fā)是支配的、主動的;軟件測試是受支配的、被動的。為了做好軟件測試,軟件測試工程師必須接受這種地位。對于從開發(fā)轉測試的人士來說,這種心理習慣的改變有時很痛苦,甚至發(fā)火,恨不能自己動手修改程序。但是測試人員是不能修改程序的,只有忍耐,做好測試職責范圍的工作,或給開發(fā)人員以必要的提醒和幫助。在這樣平凡而瑣碎的工作中,不斷地體現(xiàn)出測試的價值:盡早地發(fā)現(xiàn)需求和設計中的缺陷,更多地發(fā)現(xiàn)程序中的BUG,通過高效率的測試工作驅動整個系統(tǒng)逐步地穩(wěn)定,使之最終得到用戶的認可,并上線運行。測試人員正是通過這些工作,逐漸贏得項目經理、開發(fā)人員和用戶單位的尊重、重視,甚至是敬佩。
……