軟體測試技術、方法和環境

編輯推薦

《軟體測試技術、方法和環境》有助於測試人員及其他技術人員快速提高測試能力,適合業內人員閱讀、使用,也可以作為計算機專業的教學參考書。

目錄

第1章 測試技術引論 1.1 從系統工程角度看測試 1.1.1 從系統工程角度看測試的作用 1.1.2 從系統工程觀點看軟體測試 1.2 軟體測試發展簡史 1.2.1 軟體測試的起源和發展歷史 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 過業務關 3.1.3 過技術關 3.1.4 過專業關 3.1.5 過管理關 3.2 測試能力自評和發展 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 測試過程監控策略 5.3.1 測試目標/策略和計劃監控 5.3.2 專案產出物質量監控 5.3.3 測試執行順序監控 5.3.4 軟體版本監控 5.3.5 冒煙測試監控 5.3.6 迴歸測試監控 5.3.7 BUG處理監控 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 開發人員自測 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 測試規模估計 8.2.2 測試工作量估計 8.2.3 測試人數和工期估計 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 測試環境 9.2.2 持續整合平臺 9.3 自動化測試框架和工具 9.3.1 自動化測試框架 9.3.2 自動化測試工具 9.3.3 測試指令碼開發 9.3.4 自已動手開發測試工具 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 從理髮店模型理解效能 10.1.2 理解系統效能度量元 10.1.3 效能測試的特點 10.2 效能測試規劃和設計 10.2.1 效能測試目標確定 10.2.2 效能測試需求分析 …… 第11章 行業核心業務系統測試實踐 附錄1 術語 附錄2 參考文獻 跋

文摘

版權頁: 插圖: 第1章 測試技術引論 作為本書的開篇,本章闡述跟軟體測試相關的比較本源、本質和基礎的內容。首先從系統工程角度來看軟體測試,為軟體測試及後面的章節內容引入一個方法論;再回顧軟體測試的起源和發展歷史,闡明測試與質量、V&V等的關係,以正本清源,辨偽存真;然後從實際工作體會出發,重新認識測試的目的和作用;在此基礎上,本章基於系統工程思想,提出了軟體測試的基本原則,即“6W原則”。這些原則也是關於專案測試實踐和測試體系建設的經驗教訓的總結。 1.1 從系統工程角度看測試 軟體測試不是孤立的。它是軟體工程的一部分,而組織級軟體測試體系也不是孤立的,是整個組織級軟體過程和質量體系的一部分。而指導系統(體系)建設和運作的方法論是系統工程。所以,我們先來從系統工程的角度來看軟體測試,從系統工程的基本觀點(包括整體性觀點、綜合性觀點、科學性觀點、關聯性觀點、實踐性觀點等)來重新審視軟體測試。通過這樣的審視,會得到一些新的啟示。可以說,本大節的內容為後面的章節確立了方法論,而後面的章節也在自覺地利用系統工程方法來揭示軟體測試的奧祕。 1.1.1 從系統工程角度看測試的作用 中國著名的科學家錢學森是系統工程科學的奠基者之一。他在《論系統工程》一書中指出,我們把極其複雜的研製物件稱為“系統”,即由相互作用和相互依賴的若干組成部分結合成的具有特定功能的有機整體,而且這個“系統”本身又是它所從屬的一個更大系統的組成部分。研製這樣一種複雜工程系統所面臨的基本問題是:怎樣把比較籠統的初始研製要求逐步地變為成千上萬個研製任務參加者的具體工作,以及怎樣把這些工作最終綜合成一個技術上合理、經濟上合算、研製週期短、能協調運轉的實際系統,並使這個系統成為它所從屬的更大系統的有效組成部分。這樣複雜的總體協調任務不可能靠一個人來完成。這就要求以一種組織、一個集體來代替先前的單個指揮者,對這種大規模社會勞動進行協調指揮需要有一種叫做“系統工程”的科學方法來進行管理。“系統工程”是組織管理“系統”的規劃、研究、設計、製造、試驗和使用的科學方法,是一種對所有“系統”都具有普遍意義的科學方法。 這樣的描述適用於國家尖端技術的研究和實踐,同樣地適用於軟體工程實踐。一個大型軟體系統是一個“複雜系統”,進行軟體系統建設的軟體工程組織(包括開發方和使用者方)也是一個“複雜系統”。大型軟體系統的規劃、設計、開發、測試和使用,在系統工程思想、系統工程科學和系統工程技術的指導下進行,才會產生好的效果。軟體測試是軟體系統工程中的重要環節,軟體測試組織是軟體工程組織中的重要組織,當然也要接受系統工程思想、科學和技術的指導。 從系統工程的角度看,軟體“系統”是由相互作用和相互依賴的若干組成部分結合成的,具有特定功能的有機整體。這裡的特定功能指的是使用者需求,用軟體技術來描述就是《需求規格說明書》;而“組成部分”是軟體子系統、功能模組、構件和服務等,在軟體體系架構中設計出組成部分之間的關係。在進行需求分析和系統設計時,要利用系統工程的思想和技術,設計出結構簡單、層次分明、模組間耦合度小、可擴充套件性好的軟體系統。按照系統工程的思想,能夠設計和開發出高質量的軟體系統。 軟體測試是現代軟體質量保證中的重要技術手段。軟體測試是驗證一個軟體系統是否滿足預定的功能需求,達到預定的非功能屬性的過程。從系統工程(控制論)的觀點來看,軟體測試過程就是對正在開發的系統的一個“反饋”(feedback)過程,反饋系統中的錯誤、缺陷、問題和不符合項等。圖1-1是在瀑布生命週期模型中,系統構建和反饋過程的圖示。其中,右邊的箭頭指的是系統構建的過程,左邊的箭頭指的是測試(反饋)的過程。