編輯推薦
《軟件測試實用技術與常用模闆》特點:理論與技能相結閤。《軟件測試實用技術與常用模闆》的大部分章節都是先對測試的基本概念和實用理論進行清晰、全麵的闡述,並且關注應用,然後利用《軟件測試實用技術與常用模闆》的測試模型進行實際的測試操作,以提高讀者的測試技能。
實用性強。《軟件測試實用技術與常用模闆》給齣大量實際工作中用到的測試用例、測試方法和測試寫作模闆等內容,讀者完全可以將它們直接應用到實際的測試工作中。附贈光盤內容豐富。《軟件測試實用技術與常用模闆》附贈光盤中的內容包括:被測軟件的源碼和安裝程序、開源自動化測試工具安裝包、國傢測試標準、實際測試工作中産生的文檔、《軟件測試實用技術與常用模闆》實訓部分的測試用例和測試腳本等內容。
讀者對象廣泛。《軟件測試實用技術與常用模闆》可作為工程類碩士、項目管理類碩士和軟件及軟件測試本科生的教材,也可作為軟件測試理論與實踐工作者進行研究、培訓與應用實踐的參考資料,還可供那些從事軟件測試和項目決策的中高級管理人員閱讀使用。
內容簡介
《軟件測試實用技術與常用模闆》從軟件測試實用理論和測試實訓技術的角度齣發,以“手機信息管理係統模型”作為被測軟件,以通俗易懂的語言講述軟件測試所需要的實用知識和高級技能,突齣軟件測試的先進理論和特點,全麵詳細的講解瞭軟件測試的測試理論、寫作模闆(文檔)、測試用例、測試方法,幫助讀者在較短的時間內領會測試的博大精深,並能夠很快掌握測試的要點,進而能夠從事實際測試工作。
內頁插圖
目錄
前言
第一部分 軟件測試的基本知識
第1章 軟件測試概述
1.1 軟件的相關知識概述
1.1.1 軟件的定義及分類方法
1.1.2 軟件工程的主要內容
1.1.3 軟件的生存期
1.2 軟件測試的相關知識概述
1.2.1 軟件測試的概念
1.2.2 軟件測試的方法
1.2.3 軟件測試的任務
1.3 軟件測試的目的和原則
1.3.1 軟件測試的目的
1.3.2 軟件測試的原則
1.4 軟件測試的流程
1.4.1 軟件測試工作總體流程圖
1.4.2 軟件測試活動分布圖
1.4.3 軟件測試流程關係圖
1.5 軟件測試對組織結構和人員的要求
1.5.1 對組織結構的要求
1.5.2 對人員的要求
1.6 自動化測試概述
1.6.1 自動化測試的特點
1.6.2 自動化測試的過程
1.6.3 自動化測試工具選擇的原則
1.6.4 自動化測試技術
1.6.5 自動化測試技術的比較
1.6.6 自動化測試的級彆
1.6.7 自動化測試方案選擇需要考慮的方麵
1.6.8 自動化測試要點
1.6.9 自動化測試適用的測試階段及其執行的先決條件
1.6.10 自動化測試工作中的重點
1.6.11 自動化測試執行需要解決的問題
1.6.12 自動化測試工具簡介
1.7 軟件測試的前景
習題
第二部分 軟件測試的核心技術
第2章 白盒測試的實用技術
2.1 白盒測試概述
2.1.1 白盒測試的基本知識
2.1.2 白盒測試的原則
2.1.3 白盒測試的類彆、依據和流程
2.2 白盒測試的方法
2.2.1 代碼檢查
2.2.2 代碼檢查的方式
2.2.3 代碼檢查項目
2.2.4 靜態結構分析
2.2.5 sql語句測試
2.2.6 代碼檢查的分析與評價
2.3 白盒測試的常用技術
2.3.1 邏輯覆蓋法
2.3.2 插樁技術
2.3.3 基本路徑測試法
2.3.4 域測試法
2.3.5 符號測試
2.3.6 z路徑覆蓋法
2.3.7 程序變異測試法
習題
第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.2.5 場景法
3.2.6 功能圖法
3.2.7 錯誤推測法
3.2.8 正交試驗設計法
3.3 黑盒測試的原則和策略
3.3.1 黑盒測試的原則
3.3.2 黑盒測試的策略
3.4 黑盒測試的步驟
3.4.1 測試計劃
3.4.2 測試設計
3.4.3 測試執行的步驟
3.4.4 測試評估
習題
第4章 測試用例設計方法
4.1 測試用例編寫概述
4.1.1 什麼是測試用例
4.1.2 為什麼要編寫測試用例
4.1.3 測試用例主要包括哪些內容
4.1.4 設計測試用例所需的文檔資料
4.2 測試用例的作用
4.2.1 實施測試指導的作用
4.2.2 指導測試數據規劃的作用
4.2.3 指導腳本編寫的作用
4.2.4 作為評判基準的作用
4.2.5 作為分析缺陷的基準的作用
4.3 測試用例的設計
4.3.1 白盒測試用例的設計
4.3.2 黑盒測試用例的設計
4.3.3 綜閤設計方法
4.3.4 測試用例設計的原則和注意事項
4.3.5 測試用例的管理
4.4 測試用例主要內容的編寫
4.4.1 測試目標的描述
4.4.2 測試環境的描述
4.4.3 輸入數據/動作的編寫
4.4.4 測試的步驟
4.4.5 測試預期的結果
4.4.6 測試腳本的編寫
習題
第三部分 軟件測試的實用技術
第5章 對本書測試模型的介紹
5.1 引言
5.1.1 編寫目的
5.1.2 背景
5.1.3 定義
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 接口
5.4 對詳細查詢功能模塊的設計說明
5.4.1 程序描述
5.4.2 功能
5.4.3 輸入項
5.4.4 輸齣項
5.4.5 算法
5.4.6 流程邏輯
5.4.7 接口
習題
第6章 單元測試的實用技術
6.1 單元測試概述
6.1.1 單元測試的目的
6.1.2 單元測試所需文檔資料
6.2 單元測試的主要任務
6.2.1 程序語法檢查
6.2.2 程序邏輯檢查
6.2.3 模塊接口測試
6.2.4 局部數據結構測試
6.2.5 路徑測試
6.2.6 邊界條件測試
6.2.7 錯誤處理測試
6.2.8 代碼書寫規範檢查
6.3 單元測試的步驟
6.4 單元測試需要填寫的錶格
6.5 單元測試提交的軟件bug清單
6.6 單元測試的測試用例
6.7 單元測試的人工測試實訓和操作方法
6.8 單元測試的自動化測試實訓和操作方法
6.8.1 選擇適用的單元測試工具
6.8.2 自動化單元測試中需要注意的問題
6.8.3 自動化單元測試工作重點
6.8.4 自動化單元測試案例
習題
第7章 功能測試的實用技術
7.1 功能測試概述
7.1.1 功能測試的基本概念
7.1.2 功能測試的基本要求
7.1.3 功能測試需要的參考文檔
7.2 功能測試的重點
7.3 功能測試的常見方法
7.3.1 安裝測試
7.3.2 卸載測試
7.3.3 運行與關閉測試
7.3.4 菜單功能測試
7.3.5 瀏覽功能測試
7.3.6 選擇功能測試
7.3.7 搜查功能測試
7.3.8 統計功能測試
7.3.9 web功能測試
7.3.1 0翻頁功能測試
7.4 功能測試的常見流程
7.5 功能測試的人工測試實訓和操作方法
7.5.1 安裝卸載測試
7.5.2 手機信息管理係統模型的登錄測試
7.6 功能測試的自動化測試實訓和操作方法
7.6.1 自動化功能測試應該何時開始
7.6.2 自動化功能測試實例
習題
第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.2.5 樁驅動測試
8.3 集成測試階段的工作
8.3.1 計劃階段
8.3.2 設計階段
8.3.3 實現階段
8.3.4 執行階段
8.4 集成測試的步驟和測試用例
8.5 集成測試中的注意事項
8.6 集成測試完成的標誌
8.7 集成測試的人工測試實訓和操作方法
習題
第9章 性能測試的實用技術
9.1 性能測試概述
9.1.1 性能測試的目的
9.1.2 性能測試的先決條件
9.1.3 性能測試的準備工作
9.2 性能測試的基本要求
9.2.1 性能測試所需相關文檔
9.2.2 對性能測試相關文檔的要求
9.2.3 對進行性能測試的人員的要求
9.3 性能測試的內容
9.3.1 性能測試的分類
9.3.2 性能測試的方法
9.3.3 性能測試的調優
9.4 檢查測試環境
9.5 性能測試的執行流程
9.6 性能測試常用的測試用例
9.7 性能測試的自動化測試實訓和操作方法
9.7.1 待測測試模型介紹
9.7.2 使用loadrunner進行負載/壓力測試
習題
第10章 係統測試的實用技術
10.1 係統測試概述
10.1.1 係統測試的目的
10.1.2 係統測試的意義
10.1.3 係統測試的主要內容
10.1.4 係統測試的目標
10.1.5 係統測試的測試類型
10.1.6 係統測試過程
10.1.7 係統測試策略
10.1.8 係統測試環境
10.2 係統測試的方法
10.2.1 人工係統測試
10.2.2 自動化工具係統測試
10.2.3 多任務測試
10.2.4 臨界測試
10.2.5 中斷測試
10.2.6 係統測試策略
10.3 係統測試的過程
10.4 係統測試的結果分析
10.5 係統測試的文檔資料
10.6 係統測試的人工測試實訓和操作方法
10.6.1 對登錄界麵的測試
10.6.2 對修改用戶名和密碼模塊的測試
10.6.3 手機信息管理係統界麵測試
10.6.4 易用性測試
習題
……
第11章 驗收測試的實用技術
第12章 迴歸測試的實用技術
第13章 配置測試的實用技術
第14章 軟件的其他測試技術
第四部分 軟件測試文檔寫作模闆
第15章 軟件測試所需的常用模闆
習題
參考文獻
精彩書摘
1.1.2 軟件工程的主要內容
軟件工程研究的主要內容是軟件開發技術和軟件開發管理兩個方麵。在軟件開發技術中,主要研究軟件工程方法、軟件工程過程、軟件開發工具和環境。
1)軟件工程方法為軟件開發提供瞭“如何做”的技術。它包括瞭多方麵的任務,如項目計劃與估算、軟件係統需求分析、數據結構、係統總體結構的設計、算法的設計、編碼、測試以及維護等。軟件工程方法常采用某種特殊的語言或圖形的錶達方法,以及一套質量保證標準。
2)軟件工程過程是將軟件工程的方法和工具綜閤起來以達到閤理、及時地進行計算機軟件開發的目的。軟件工程過程定義瞭軟件工程方法使用的順序、要求交付的文檔資料,以及為保證質量和協調變更所需要的管理。
3)軟件開發工具和環境為軟件工程方法提供瞭自動的或半自動的軟件支撐環境。目前,人們已經開發齣瞭許多軟件工具來支持上述的軟件工程方法。而且已經有人把諸多軟件工具集成起來,使得一種工具産生的信息可以被其他的工具所使用,從而建立起一種稱為計算機輔助軟件工程(CASE)的軟件開發支撐係統。CASE將各種軟件工具、開發機器和一個存放開發過程信息的工程數據庫組閤起來形成一個軟件工程環境。
1.1.3 軟件的生存期
軟件生存期概念的齣現可以幫助我們較為全麵地認識軟件開發。在1988年製定和公布的國傢標準GB8566-88《計算機軟件開發規範》中,將軟件生存期劃分為八個階段,即:可行性研究和計劃、需求分析、概要設計、詳細設計、實現、組裝測試、確認測試、使用和維護。該標準為每個階段規定瞭任務、實施步驟、實施要求以及完成的標誌。將軟件生存期劃分為這八個階段大緻符閤並滿足瀑布模型。
20世紀90年代初提齣瞭軟件工程過程的概念。軟件工程過程規定瞭獲取、供應、開發、操作和維護軟件時所要實施的過程、活動和任務。其目的是為各種人員提供一個公共的框架,以便用相同的語言進行交流。這個框架由幾個重要的過程組成,這些主要過程含有用來獲取、供應、開發、操作和維護軟件所用的基本的、一緻的要求。該框架還可以用來控製和管理軟件過程,各種組織和開發機構可以根據具體情況進行選擇和剪裁,可在一個機構的內部或外部實施。
……
前言/序言
軟件測試與測試技術在目前已引起業界的重視。國內有關這方麵的教材和參考書至少有三十多個版本,縱觀各個版本的測試書籍的內容,本人認為李龍等編著的《軟件測試實用技術與常用模闆》一書具有以下特點:
1)內容通俗實用,詳細、全麵地敘述瞭人工測試技術和自動化測試技術。本書講的是實用技術,讀者讀後就能依據本書所講的測試技術進行測試工作。
2)抓住瞭測試主題,重點突齣,內容全麵。重點抓住瞭軟件測試的基本知識、常用技術、測試用例、文檔寫作模闆、數值計算等典型程序的測試要點以及靜態測試的要點。書中以“手機信息管理係統模型”為主綫,對人工測試(包括:靜態測試、單元測試、功能測試、係統測試、驗收測試、迴歸測試、配置測試等)進行瞭詳細的介紹,並給齣瞭具體的操作過程和測試用例。此外,還利用免費的測試工具給齣瞭自動化測試(包括:單元測試、功能測試、性能測試、迴歸測試等)的具體操作。本書摒棄瞭一般書籍理論篇幅較大、具體操作較少的寫法,本書寫的就是測試,寫的就是測試技術,寫的就是測試操作,實用性很強。
3)測試文檔寫作模闆可以說是本書的另一大亮點。書中給齣瞭20個常用的模闆寫作內容,不僅為測試人員編寫文檔提供瞭參考依據,同時也可供未來修訂測試規範、標準作參考。
4)本書可操作性強,依據測試原理和手機信息管理係統模型,編寫瞭大量的測試用例,其中有大部分測試用例可供各種類型的應用係統參考使用。
5)提供的資料全麵。在光盤中提供瞭測試所需的各種資料,正如編著者在前言中所說的:這是一本非常好的、實用的參考書。
6)作為一名研究者、實踐者和老師,我認為在目前已齣版的軟件測試方麵的書籍中,它是一本比較好的書籍,詳細給齣瞭各種測試用例、可操作性的測試方法(人工測試和自動化測試)、各種完整的測試寫作模闆。讀者認真研讀完本書後,就能從事測試工作。本書對需要學習軟件測試和軟件開發的人員會有很大的幫助。
最後,願本書在軟件測試的百花園中,綻放齣艷麗奪目的光彩。
《精益軟件開發:敏捷實踐與流程優化》 內容簡介 在當今快速迭代、用戶需求瞬息萬變的軟件開發領域,效率與質量的雙重挑戰日益嚴峻。本書《精益軟件開發:敏捷實踐與流程優化》應運而生,旨在為軟件開發團隊提供一套係統、可行的指導,幫助他們擁抱敏捷理念,優化開發流程,從而實現更快速、更高質量的軟件交付。我們摒棄瞭傳統瀑布式開發模式的僵化與低效,深入探討瞭精益思想在軟件開發中的應用,並將其與敏捷方法論相結閤,形成一套以價值為導嚮、持續改進為核心的開發體係。 第一部分:精益思想的基石與敏捷的融閤 本書的開篇,我們將帶領讀者迴顧精益生産的起源,理解其“消除浪費”、“持續改進”、“尊重人性”等核心原則。我們將深入剖析精益思想如何與軟件開發緊密契閤,例如,將“浪費”定義為不必要的文檔、等待時間、功能冗餘、過度設計等,並將它們在軟件開發流程中一一識彆和消除。 隨後,我們將詳細闡述敏捷開發的核心價值觀與十二項原則,並探討為何敏捷是實現精益軟件開發的天然載體。我們將深入解析Scrum、Kanban等主流敏捷框架的運作機製,包括迭代開發、用戶故事、每日站會、衝刺評審、迴顧會議等關鍵實踐。我們會重點分析如何在實際項目中落地這些敏捷實踐,以及如何根據團隊的特點和項目需求進行調整和優化。 第二部分:敏捷開發的核心實踐深度解析 本部分將聚焦於敏捷開發過程中一係列至關重要的實踐,並提供詳細的操作指南和案例分析。 用戶故事與需求管理: 我們將詳細講解如何撰寫高質量的用戶故事,使其具備“獨立性”、“可協商性”、“有價值性”、“可估算性”、“小巧性”和“可測試性”的INVEST原則。讀者將學會如何有效地進行用戶故事的梳理、優先級排序、拆分以及驗收標準的定義。我們將介紹不同的用戶故事地圖繪製方法,以及如何利用這些地圖來可視化産品待辦事項和規劃迭代。 迭代規劃與執行: 本部分將詳述迭代(Sprint)的規劃會議,包括如何估算用戶故事的工作量(例如,使用撲剋牌估算、故事點等方法),如何根據團隊能力規劃迭代範圍,以及如何建立清晰的迭代目標。我們將深入探討迭代執行過程中的挑戰,例如如何管理任務優先級、如何應對需求變更、如何確保團隊協作順暢。 持續集成與持續交付(CI/CD): CI/CD是實現敏捷開發高效運轉的基石。本書將詳細講解CI/CD的核心概念,包括自動化構建、自動化測試、自動化部署等。我們將介紹Jenkins、GitLab CI/CD、GitHub Actions等主流CI/CD工具的使用,並提供詳細的配置步驟和最佳實踐。讀者將學習如何構建穩定可靠的CI/CD流水綫,從而實現代碼的頻繁、安全、可靠發布。 自動化測試策略與實踐: 質量是敏捷開發永恒的主題。本書將詳細介紹不同層次的自動化測試,包括單元測試、集成測試、端到端測試、性能測試等,以及它們在敏捷開發流程中的作用。我們將講解測試驅動開發(TDD)和行為驅動開發(BDD)的理念和實踐方法,幫助讀者構建強大的自動化測試套件,從而在開發早期發現並修復缺陷,減少迴歸測試的負擔。 代碼評審與結對編程: 代碼質量的提升離不開團隊成員之間的協作與知識共享。本書將深入探討代碼評審的價值與技巧,包括如何進行建設性的評審、如何有效地反饋意見、以及如何從評審中學習。同時,我們將介紹結對編程的模式,闡述其如何提高代碼質量、促進知識傳遞、減少知識孤島。 第三部分:流程優化與團隊效能提升 精益軟件開發不僅僅是技術的堆砌,更關乎流程的持續改進和團隊效能的提升。 看闆(Kanban)方法的應用: 除瞭Scrum,看闆方法也是一種高效的敏捷流程管理工具。本書將詳細介紹看闆的基本原則與實踐,包括可視化工作流、限製在製品(WIP)、管理流程、明確策略、實施反饋循環、協同進化等。讀者將學習如何使用看闆來管理工作流、識彆瓶頸、優化吞吐量,並能根據團隊情況選擇Scrum與看闆的混閤模式。 度量與洞察: “凡是可度量的,皆可改進”。本書將介紹一係列關鍵的敏捷開發指標,如吞吐量、周期時間、交付頻率、缺陷密度、客戶滿意度等。我們將講解如何收集和分析這些數據,從中獲得有價值的洞察,識彆流程中的問題,並指導改進方嚮。 持續改進的迴顧會議: 迴顧會議是敏捷開發中最重要的持續改進機製。本書將指導讀者如何有效地組織和主持迴顧會議,如何引導團隊討論,如何識彆成功之處、需要改進的地方以及具體的行動項。我們將分享不同類型的迴顧會議形式,以保持會議的新鮮感和有效性。 構建高績效敏捷團隊: 敏捷開發的成功離不開一支協同、自組織、高績效的團隊。本書將探討如何培養團隊成員的責任感、主人翁意識,如何建立信任與開放的溝通氛圍,如何有效地解決衝突,以及如何通過持續學習和知識分享來提升團隊整體能力。 第四部分:麵嚮未來的精益敏捷實踐 隨著技術的發展和業務的變化,精益敏捷實踐也在不斷演進。 DevOps文化的推廣與落地: DevOps強調開發(Dev)與運維(Ops)之間的緊密協作與自動化,是實現精益敏捷的有力助推器。本書將深入探討DevOps的核心理念、文化、自動化實踐以及工具鏈。我們將講解如何打破開發與運維之間的壁壘,實現端到端的交付流程自動化。 精益創業(Lean Startup)與敏捷開發的結閤: 精益創業強調“構建-測量-學習”的循環,旨在快速驗證産品概念並降低失敗風險。本書將探討如何將精益創業的思想融入敏捷開發流程,例如通過最小可行産品(MVP)的快速迭代來收集用戶反饋,並根據反饋進行調整。 規模化敏捷(Scaling Agile): 對於大型組織和復雜項目,如何實現規模化的敏捷轉型是一個巨大的挑戰。本書將簡要介紹SAFe(Scaled Agile Framework)、LeSS(Large-Scale Scrum)等規模化敏捷框架,並探討其核心思想和適用場景。 《精益軟件開發:敏捷實踐與流程優化》並非一本枯燥的技術手冊,而是一本充滿實踐智慧的指南。通過本書,讀者將不僅掌握敏捷開發的核心技術和方法,更能深刻理解精益思想的精髓,並將其內化為團隊的DNA。本書旨在賦能讀者,讓他們能夠 confidently 地擁抱敏捷,持續優化流程,最終交付更高價值的軟件産品,在競爭激烈的市場中脫穎而齣。