●前 言章 開發者測試概述 11.1 開發者與軟件測試 11.1.1 測試和調試 11.1.2 開發者測試 31.1.3 PIE模型 41.2 開發者測試方法與技術 61.2.1 靜態測試與動態測試 61.2.2 黑盒測試與白盒測試 81.2.3 失效重現 91.3 開發者測試工具 91.3.1 靜態測試掃描工具 91.3.2 測試覆蓋分析工具 121.4 開發者測試趨勢 141.4.1 軟件開發和運營困境 141.4.2 DevOps介紹 161.4.3 DevOps中的開發者測試 171.5 慕測開發者測試 191.6 小結 27習題1 28第2章 程序靜態分析 292.1 程序靜態分析概述 292.1.1 代碼評審 302.1.2 結構分析 312.2 程序流程分析 322.2.1 控制流分析 322.2.2 數據流分析 332.3 符號執行 352.3.1 靜態符號執行 362.3.2 動態符號執行 382.4 編程規範和規則 392.5 程序靜態分析工具 422.5.1 工具簡介 422.5.2 工具安裝與評估 422.6 小結 48習題2 48第3章 白盒測試 503.1 邏輯覆蓋測試 503.1.1 語句覆蓋 523.1.2 分支覆蓋 543.1.3 條件覆蓋 563.1.4 條件/判定覆蓋 583.1.5 修正條件/判定覆蓋 613.1.6 條件組合覆蓋 633.2 路徑覆蓋測試 653.2.1 環復雜度 653.2.2 基本路徑覆蓋 663.2.3 主路徑覆蓋 693.2.4 循環結構測試 723.3 小結 74習題3 74第4章 程序插樁與變異測試 774.1 程序插樁 774.1.1 程序插樁概述 774.1.2 程序插樁示例 784.1.3 程序插樁工具JaCoCo 794.2 變異測試 844.2.1 變異測試概述 844.2.2 變異測試方法 854.2.3 變異測試工具PITest 894.3 小結 91習題4 91第5章 &nbs測試 945.1 &nbs測試概述 945.2 &nbs測試框架 955.3 &nbs測試內容 965.3.1 算法邏輯 965.3.2 模塊接口 975.3.3 數據結構 975.3.4 邊界條件 985.3.5 獨立路徑 985.3.6 錯誤處理 995.3.7 輸入數據 995.3.8 表達式與SQL語句 1005.4 測試實例 1005.5 小結 102習題5 103第6章 集成測試 1056.1 集成測試概述 1056.1.1 集成測試過程 1066.1.2 集成測試缺陷類型 1076.2 集成測試分析 1106.3 集成測試策略 1126.3.1 一次性集成與增量式集成 1126.3.2 自頂向下與自底向上集成 1146.3.3 基於調用圖的集成 1176.3.4 其他集成測試策略 1186.4 小結 124習題6 124第7章 JUnit基礎 1277.1 一個JUnit實例 1277.2 注解 1327.3 測試類與測試方法 1357.3.1 Assert 1357.3.2 TestCase 1397.3.3 TestResult 1417.3.4 TestSuite 1427.4 錯誤與異常處理 1437.4.1 錯誤和異常 1437.4.2 異常處理 1447.5 批量測試 1467.5.1 參數化測試 1467.5.2 打包測試 1497.6 小結 150練習7 150第8章 JUnit深入應用 1528.1 匹配器 1528.2 JUnit測試進階 1548.2.1 Controller測試 1548.2.2 Stup測試 1558.2.3 Mock測試 1598.2.4 Private測試 1628.3 JUnit集成 1658.3.1 JUnit-Ant集成 1658.3.2 JUnit-Maven集成 1698.4 小結 171練習8 171附錄 慕測科技—開發者測試平臺 172參考文獻 192
內容簡介
本書從開發者測試的角度,介紹了軟件測試的產生與發展以及開發者與測試的關繫;講述了程序靜態分析、邏輯覆蓋測試、程序插樁與變異測試等開發者需要掌握的測試方法和技術;結合示例講測試、集成測試中開發者應當要能發現和避免的各種問題;由淺入深,介紹了測試工具JUnit的使用;*後介紹了由慕測科技提供的開發者測試平臺和全國大學生軟件測試大賽。
當前,信息需求的持續增長和信息技術的快速發展加快了軟件產品的研發速度,同時也增加了軟件產品的測試壓力。以互聯網、移動應用等產品為例,眾多軟件公司普遍采用微小改進、快速迭代、反饋收集、及時響應等手段來提高軟件的迭代速度,縮短軟件產品的發布流程。顯然,僅僅依賴測試人員已經難以滿足市場和客戶對產品質量的需求,這就要求開發人員也深入參與到軟件測試過程中,與測試人員共同完成軟件產品的質量保證工作。在本書中,我們定義由開發者承擔的與代碼相關的軟件測試工作為開發者測試。本書從開發者測試出現的背景與意義、開發者所應掌握的基本和不錯程序分析方法以及軟件測試技術、開發者所應掌握的軟件測試分析輔助工具、用於開發者測試教學和競賽的慕測平臺等多個方面對開發者測試進行繫統性介紹。相信通過本書的學習,讀者可以對開發者參與測試的必要性、開發者測試所涵蓋的內容有初步的認識和了解,同時能夠結合本書的示例及平臺鍛煉自己的測試能......
"