開發者測試

王興亞、王智鋼、趙源、陳振宇 編著

  • 出版商: 機械工業
  • 出版日期: 2019-01-31
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • ISBN: 7111616812
  • ISBN-13: 9787111616818
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書從開發者測試角度來介紹相關測試方法、技術、工具和平台,具有很強的針對性,旨在培養和提高開發者的軟件測試能力和水平。
全書共分為8章和一個附錄,主要內容為開發者測試概述、程序靜態分析、白盒測試、程序插樁與變異測試、單元測試、集成測試、JUnit基礎、JUnit深入應用、慕測科技-開發者測試平台等與開發者測試相關的知識、技術和平台。書中涵蓋了開發者測試的四個重要方面:1)開發者測試出現的背景與意義;2)開發者所應掌握的基本和高級的程序分析方法(如程序流程分析、符號執行)以及軟件測試技術(如白盒測試、單元測試、集成測試、變異測試、程序插樁);3)開發者所應掌握的軟件測試分析輔助工具(如JUnit、JaCoCo、PITest); 4)用於開發者測試教學、競賽的慕測平台。全書通過多個Java示例代碼闡釋說明了各個方法和技術,便於讀者理解和學習。
本書適合高等院校相關專業的學生及教師閱讀,也適合軟件開發人員、測試人員、管理人員及未來希望從事軟件開發、測試的其他專業人員參考。

當前軟件應用越來越廣泛和深入,社會對軟件質量的要求越來越高,軟件迭代的速度越來越快,軟件測試和軟件開發結合得越來越緊密,這對開發者的軟件測試能力提出了更高要求。開發者熟悉軟件的詳細設計和代碼,由他們來完成單元測試、集成測試等一部分測試工作,有利於節約測試成本、提高軟件質量。
本書介紹了軟件測試的產生與發展以及開發者與測試的關係;講述了程序靜態分析、邏輯覆蓋測試、程序插樁與變異測試等開發者需要掌握的測試方法和技術;結合示例講解了單元測試、集成測試中開發者應能發現和避免的各種問題;由淺入深地介紹了JUnit的使用;最後介紹了慕測開發者測試平台和全國大學生軟件測試大賽。
本書力爭做到內容詳實、結構清晰、示例豐富、表述通俗易懂,可以作為高校軟件測試等課程的教材,也可以作為產業界軟件測試初學者的參考書,另外也是全國大學生軟件測試大賽開發者測試分項賽的參賽指南。

主要特色
從開發者測試角度來介紹相關測試方法、技術、工具和平台,具有很強的針對性,旨在培養和提高開發者的軟件測試能力和水平。
按照開發者測試所應掌握的基礎知識、基本技術和方法來組織教材內容,並對每項技術和工具盡可能給出示例分析和使用說明,便於學習者理解和應用。
各個章節既有聯繫又相對獨立,讀者可根據興趣及自身知識水平和能力來選擇學習某個章節的內容。
引入慕測開發者測試平台,為讀者實踐開發者測試的相關方法和技術提供了支撐平台。

目錄大綱

前言
第1章開發者測試概述1 
1.1開發者與軟件測試1 
1.1.1測試和調試1 
1.1.2開發者測試3 
1.1.3 PIE模型4 
1.2開發者測試方法與技術6 
1.2.1靜態測試與動態測試6 
1.2.2黑盒測試與白盒測試8 
1.2.3失效重現9 
1.3開發者測試工具9 
1.3.1靜態測試掃描工具9 
1.3.2測試覆蓋分析工具12 
1.4開發者測試趨勢14 
1.4 .1軟件開發和運營困境14 
1.4.2 DevOps介紹16 
1.4.3 DevOps中的開發者測試17 
1.5慕測開發者測試19 
1.6小結27 
習題1 28 
第2章程序靜態分析29 
2.1程序靜態分析概述29 
2.1.1代碼評審30 
2.1.2結構分析31 
2.2程序流程分析32 
2.2.1控制流分析32 
2.2.2數據流分析33 
2.3符號執行35 
2.3.1靜態符號執行36
2.3.2動態符號執行38 
2.4編程規範和規則39 
2.5程序靜態分析工具42 
2.5.1工具簡介42 
2.5.2工具安裝與評估42 
2.6小結48 
習題2 48 
第3章白盒測試50 
3.1邏輯覆蓋測試50 
3.1.1語句覆蓋52 
3.1.2分支覆蓋54 
3.1.3條件覆蓋56 
3.1.4條件/判定覆蓋58 
3.1.5修正條件/判定覆蓋61 
3.1.6條件組合覆蓋63 
3.2路徑覆蓋測試65 
3.2. 1環複雜度65 
3.2.2基本路徑覆蓋66 
3.2.3主路徑覆蓋69 
3.2.4循環結構測試72 
3.3小結74 
習題3 74 
第4章程序插樁與變異測試77 
4.1程序插樁77 
4.1.1程序插樁概述77 
4.1.2程序插樁示例78 
4.1.3程序插樁工具JaCoCo 79 
4.2變異測試84 
4.2.1變異測試概述84 
4.2.2變異測試方法85
4.2.3變異測試工具PITest 89 
4.3小結91 
習題4 91 
第5章單元測試94 
5.1單元測試概述94 
5.2單元測試框架95 
5.3單元測試內容96 
5.3.1算法邏輯96 
5.3.2模塊接口97 
5.3.3數據結構97 
5.3.4邊界條件98 
5.3.5獨立路徑98 
5.3.6錯誤處理99 
5.3.7輸入數據99 
5.3.8表達式與SQL語句100 
5.4慕測單元測試實例100 
5.5小結102 
習題5 103 
第6章集成測試105 
6.1集成測試概述105 
6.1.1集成測試過程106 
6.1.2集成測試缺陷類型107 
6.2集成測試分析110 
6.3集成測試策略112 
6.3.1一次性集成與增量式集成112 
6.3.2自頂向下與自底向上集成114 
6.3.3基於調用圖的集成117 
6.3.4其他集成測試策略118 
6.4小結124
習題6 124 
第7章JUnit基礎127 
7.1一個JUnit實例127 
7.2註解132 
7.3測試類與測試方法135 
7.3.1 Assert 135 
7.3.2 TestCase 139 
7.3.3 TestResult 141 
7.3.4 TestSuite 142 
7.4錯誤與異常處理143 
7.4.1錯誤和異常143 
7.4.2異常處理144 
7.5批量測試146 
7.5.1參數化測試146 
7.5.2打包測試149 
7.6小結150 
練習7 150 
第8章JUnit深入應用152 
8.1匹配器152 
8.2 JUnit測試進階154 
8.2.1 Controller測試154 
8.2.2 Stup測試155 
8.2.3 Mock測試159 
8.2.4 Private測試162 
8.3 JUnit集成165 
8.3.1 JUnit-Ant集成165 
8.3.2 JUnit-Maven集成169 
8.4小結171
練習8 171 
附錄慕測科技—開發者測試平台172 
參考文獻192