-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

開發者測試

( 簡體 字)
作者:王興亞 王智鋼 趙 源 陳振宇 編著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社開發者測試 3dWoo書號: 50607
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:1/1/2019
頁數:190
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111616818
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

當前,信息需求的持續增長和信息技術的快速發展加快了軟件產品的研發速度,同時也大大增加了軟件產品的測試壓力。以互聯網、移動應用等產品為例,眾多軟件公司普遍采用微小改進、快速迭代、反饋收集、及時響應等手段來提高軟件的迭代速度,縮短軟件產品的發布流程。顯然,僅僅依賴測試人員已經難以滿足市場和客戶對產品質量的需求,這就要求開發人員也深入參與到軟件測試過程中,與測試人員共同完成軟件產品的質量保證工作。在本書中,我們定義由開發者承擔的與代碼相關的軟件測試工作為開發者測試。

本書從開發者測試出現的背景與意義、開發者所應掌握的基本和高級程序分析方法以及軟件測試技術、開發者所應掌握的軟件測試分析輔助工具、用于開發者測試教學和競賽的慕測平臺等多個方面對開發者測試進行系統性介紹。相信通過本書的學習,讀者可以對開發者參與測試的必要性、開發者測試所涵蓋的內容有初步的認識和了解,同時能夠結合本書的示例及平臺鍛煉自己的測試能力。

本書適用于兩類不同的讀者:1)在高等院校學習和工作的教師和學生,本書有助于他們理解和認識測試工作承擔者的責任,并為他們學習和鍛煉自身的測試能力提供方向和平臺;2)軟件產業的開發人員、測試人員和管理人員,本書有助于他們認識開發者在測試工作中的重要性和所應承擔的工作內容,以及開發者所應具備的測試技能。

本書講述的方法是通用的,可以用于測試任何類型的計算機軟件。但是,為了使讀者更好地理解和學習本書的開發者測試方法,本書提供了大量Java示例代碼以及面向Java的程序分析、測試工具。這些示例和工具可以在任何支持Java的操作系統(如Windows、Linux、Mac)、開發環境(如Eclipse、IntelliJ、Sublime Text)中開發、測試和運行。

本書共包含8章及一個附錄,除第7章與第8章外,其他章節的內容互不相關,因而讀者可選擇其中部分章節進行閱讀。

第1章:開發者測試概述。本章在研究和分析開發者與軟件測試關系的基礎上,介紹了開發者測試的定義、背景與意義。同時,本章還從靜態測試與動態測試、白盒測試與黑盒測試、不同測試工具間的對比中分析得到開發者測試所涉及的方法、技術與工具。此外,本章還討論了開發者測試技術未來的趨勢,并介紹了支持開發者測試教學與競賽的慕測平臺。

第2章:程序靜態分析。本章對軟件靜態測試的基礎—程序靜態分析方法進行了介紹。通過代碼評審、結構分析等方法可以有效地檢測出程序中的邏輯錯誤,而程序流程分析(如控制流分析、數據流分析)則可以更細粒度地反映程序中語句間、變量間的關聯。此外,本章還介紹了輔助程序正確性證明的靜態/動態符號執行方法,便于讀者了解更高級的程序分析方法。

第3章:白盒測試。白盒測試要求軟件內部的邏輯結構透明可見,因此更適合由軟件項目的開發者來承擔。本章介紹了兩類主要的白盒測試方法,包括以程序內部邏輯結構為基礎的邏輯覆蓋測試方法和以程序路徑為基礎的路徑覆蓋測試方法。與此同時,本章還比較了不同白盒測試方法的測試強度,并介紹了用于度量程序復雜度的環復雜度方法。

第4章:程序插樁與變異測試。本章介紹了用于獲取程序運行時信息的程序插樁方法,以及用于度量測試用例集缺陷檢測能力的變異測試方法。對于程序插樁方法,本章詳細介紹了插樁位置、類型、數量的選擇方法;對于變異測試方法,本章詳細介紹了變異算子的設計與選擇方法。同時,本章還介紹了工具JaCoCo和PITest,以便讀者體驗Java程序的運行時信息收集和變異測試過程。

第5章:單元測試。單元測試是對軟件基本組成單元(如方法、函數、過程)的測試。在測試過程中要完成初始狀態的創建、測試結果的驗證、測試資源的釋放等工作,這些工作適合開發者使用代碼控制開展。本章在介紹單元測試框架的基礎上,進一步闡述了單元測試的各項內容,使讀者能針對不同的測試對象分析、建立相應的測試模型。

第6章:集成測試。通過單元測試的軟件模塊并不能保證在整合后依然運行正確,因此需要做集成測試以進一步驗證。本章介紹了集成測試過程、集成測試所面向的缺陷類型以及分析方法,并詳細介紹了多種集成測試策略。同時,本章還討論了不同集成測試策略的優缺點,并對它們各自的適用場景進行了分析,測試人員可據此選擇合適的集成測試策略。

第7章:JUnit基礎。工欲善其事,必先利其器。JUnit是開發者開展單元測試的一把利器。本章對Java單元測試框架的基本功能(如注解、測試類與測試方法、錯誤與異常處理、批量測試)進行了詳細的介紹,使讀者對JUnit的功能和適用范圍有了詳細的了解。本章還穿插了數個JUnit示例程序,幫助讀者更快、更方便地學習Java單元測試。

第8章:JUnit深入應用。在前一章介紹JUnit基本功能的基礎上,本章對JUnit的高級功能進行了介紹,包括用于提高測試代碼開發效率的匹配器功能,面向Controller和Private函數的測試功能、Stup測試功能和Mock測試功能。同時,本章還介紹了JUnit與常用Java開發框架(如Ant、Maven)的集成方法,讀者可據此配置來構建更方便的Java單元測試環境。

附錄:慕測科技—開發者測試平臺。實踐練習是提高開發者測試能力的有效方法。本附錄介紹了支持開發者測試教學的慕測平臺,并說明了面向教師的賬號注冊、班級管理、考試管理等功能。同時,還對由慕測平臺提供技術支持的全國大學生軟件測試大賽進行了介紹,該賽事為軟件測試專業的宣傳及開發者測試理念的普及做出了重要貢獻。
內容簡介:

本書從開發者測試角度來介紹相關測試方法、技術、工具和平臺,具有很強的針對性,旨在培養和提高開發者的軟件測試能力和水平。

全書共分為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
序: