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