预购商品
书目分类
特别推荐
本書系統地講解了如何把測試的思維和介面測試的技術結合到一起,從而使讀者擁有介面測試能力,這種能力既包含工具的使用、代碼的編寫,也包含用例的設計。 本書內容循序漸進、由淺入深,首先介紹介面和介面測試的概念以及介面測試都包含哪些測試活動,然後通過案例闡述如何從流水帳式的介面測試腳本逐步抽象出屬於自己的介面測試框架,接著從場景切入,系統地展示如何測試陌生的協定介面,以及如何在測試微服務介面時使用Mock技術梳理混亂的調用關係,討論持續測試和智能化測試。本書適合測試人員閱讀,也可供電腦相關專業的師生參考。
第1章 測試那點事 1 1.1 軟件測試概述 1 1.2 測試和品質 2 1.3 從找缺陷到品質保障 4 1.4 從品質保障到品質效能 7 1.5 自動化測試 8 1.6 介面 10 1.6.1 內部介面 11 1.6.2 外部介面 11 1.7 介面測試 12 1.8 小結 13 第2章 為介面測試儲備技術 15 2.1 介面測試都是以網路通訊協定為基礎的 15 2.1.1 OSI七層模型 16 2.1.2 TCP/IP四層模型 19 2.2 HTTP/HTTPS 20 2.2.1 HTTP狀態碼 22 2.2.2 HTTP頭 25 2.3 Web伺服器Tomcat 27 2.4 小結 28 第3章 著手準備介面測試 29 3.1 抓包工具Fiddler 29 3.1.1 Fiddler的使用技巧 30 3.1.2 Fiddler中常用的QuickExec命令 32 3.1.3 Fiddler的其他一些常見操作 33 3.2 開源的抓包工具mitmproxy 36 3.2.1 列表操作 38 3.2.2 mitmweb 39 3.3 介面測試的標準輸入 41 3.3.1 理想的介面測試提測專案 41 3.3.2 理想的情況很難發生 43 3.3.3 開始第 一個介面測試 43 3.3.4 串聯多個介面 48 3.4 介面測試工具Postman 49 3.4.1 使用測 例集管理被測介面 49 3.4.2 驗證介面返回結果的正確性 50 3.4.3 使用全域變數解決上下文依賴問題 52 3.5 介面測試的關鍵邏輯 53 3.5.1 明確被測系統 53 3.5.2 開始介面測試 53 3.5.3 Postman的介面測試和持續集成 57 3.6 小結 59 第4章 介面測試和代碼 60 4.1 測試工程師需要掌握的Python基礎知識 60 4.1.1 Python版的“Hello World!”程式 60 4.1.2 基本數據類型 61 4.1.3 組合數據類型 64 4.1.4 None類型 80 4.2 介面測試常用庫requests 81 4.2.1 初識requests庫 81 4.2.2 HTTP頭的模擬 83 4.2.3 回應的處理 88 4.3 為什麼要搭建團隊自己的測試框架 89 4.3.1 搭建前的準備工作 90 4.3.2 開始打造測試框架 91 4.3.3 使用新框架完成多介面測試 93 4.4 unittest詳解 98 4.5 小結 105 第5章 介面測試框架進階 106 5.1 支援RESTful風格的介面 106 5.1.1 RESTful是什麼 106 5.1.2 RESTful介面測試 108 5.2 讓框架快速支援陌生協定的介面測試 113 5.2.1 面對陌生協定的介面測試 113 5.2.2 使用Fiddler查看WebSocket協定的接互資訊 114 5.2.3 完成WebSocket介面測試以及擴展之前框架的功能 115 5.2.4 WebSocket一點通 119 5.2.5 WebSocket數據幀的格式 121 5.3 使框架擁有RPC介面測試能力 122 5.3.1 RPC和gRPC 122 5.3.2 gRPC介面如何測試 123 5.4 測試數據的處理 124 5.4.1 測試數據的原始方式 124 5.4.2 建立數據驅動方式 126 5.5 測試框架應有的其他一些技術屬性 130 5.5.1 設計base_url 130 5.5.2 建立全域等待時間 131 5.5.3 建立全域變數的管理器 132 5.5.4 處理測試字串 135 5.6 小結 138 第6章 性能測試 139 6.1 性能測試的一些概念 139 6.1.1 性能測試的常用指標 139 6.1.2 性能測試的分類 140 6.1.3 性能測試的前期準備 141 6.1.4 性能測試的執行 143 6.2 性能測試即代碼 144 6.3 Locust和LoadRunner的對比 145 6.3.1 場景設置 146 6.3.2 結果對比 147 6.3.3 對比分析 148 6.4 初識Locust和常用參數 149 6.5 詳解Locust的關鍵代碼 158 6.6 斷言和參數化 160 6.7 使用Locust測試gRPC介面的性能 163 6.8 小結 165 第7章 測試的服務解耦 166 7.1 微服務下混亂的調用關係 166 7.2 如何進行微服務的解耦 167 7.3 快速、輕便的Moco框架 169 7.3.1 配置Moco的運行環境 170 7.3.2 Moco的運行 170 7.3.3 Moco的JSON語法 171 7.4 小結 179 第8章 持續測試 180 8.1 持續集成、持續交付和持續部署下的持續測試 180 8.2 持續測試進行時 182 8.2.1 測試左移 182 8.2.2 測試右移 183 8.3 品質門禁 184 8.3.1 開發階段的品質門禁 184 8.3.2 測試階段的品質門禁 185 8.4 小結 186 第9章 智能化測試 187 9.1 智慧化測試是發展的必然 188 9.2 分層測試模型中的智慧化測試 192 9.2.1 開源的智慧化單元測試 192 9.2.2 智能化UI測試 194 9.3 小結 195 附錄A HTTP知識點 196 附錄B HTTP代理工具 201 附錄C Python環境的配置和Battle 系統API 206 附錄D gRPC服務 210 附錄E SonarQube的部署和使用 212 附錄F EvoSuite的配置和使用問題 218
陳磊 京東前測試架構師,阿裡雲有價值專家(Most Valuable Professional,MVP),華為雲MVP,極客時間命題專家,中國商業聯合會互聯網應用工作委員會智庫專家,中關村智聯軟體服務業品質創新聯盟軟體測試標準化技術委員會委員,Asian Journal of Physical Education & Computer Science in Sports編委會委員。具有多年品質工程技術實踐經驗,精通研發效能提升、手工測試團隊的自動化測試轉型實踐、智慧化測試,已發表近30篇學術論文,擁有專利20餘篇。著有圖書《京東品質團隊轉型實踐——從測試到測試開發的蛻變》。
最近浏览商品
客服公告
热门活动
订阅电子报