買這商品的人也買了...
-
鳥哥的 Linux 私房菜-伺服器架設篇, 3/e$800$632 -
無瑕的程式碼 - 敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$493 -
$414Python 數據可視化 (Mastering Python Data Visualization) -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
Web API 建構與設計 (Designing Web APIs: Building APIs That Developers Love)$480$379 -
持續交付|使用 Java (Continuous Delivery in Java)$780$616 -
Programming Pearls, 2/e (中文新修版)(Programming Pearls, 2/e)$520$442 -
軟件測試流程設計 從傳統到敏捷$354$336 -
資料視覺化|製作充滿說服力的資訊圖表 (Fundamentals of Data Visualization)$780$616 -
$505第一行代碼 : Android, 3/e -
軟件測試核心技術 從理論到實踐$414$393 -
$254GUI 自動化測試開發實戰教程 (Python版)(微課版) -
$505Selenium 自動化測試完全指南 -- 基於 Python -
iOS App 程式開發實務攻略:快速精通 iOS 14 程式設計$890$694 -
$374從零開始學Android開發 -
$713軟件自動化測試實戰 基於開源測試工具 -
$509Python 實現 Web UI 自動化測試實戰:Selenium 3/4 + unittest/Pytest + GitLab + Jenkins -
$403全棧 UI 自動化測試實戰 -
$297CKA/CKAD 應試指南 : 從 Docker 到 Kubernetes 完全攻略 -
$505構建高質量軟件:持續集成與持續交付系統實踐 -
精通資料視覺化 : 用試算表與程式說故事 (Hands-On Data Visualization: Interactive Storytelling from Spreadsheets to Code)$680$537 -
$600pytest 框架與自動化測試應用 -
測試架構師修煉之道:從測試工程師到測試架構師, 2/e$654$621 -
Python Testing with Pytest: Simple, Rapid, Effective, and Scalable (Paperback)$1,800$1,710 -
聰明提問 AI 的技巧與實例:ChatGPT、Bing Chat、AgentGPT、AI繪圖,一次滿足$650$507
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
VIP 95折
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
VIP 95折
MCP 開發從入門到實戰$515$489 -
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
79折
$564CUDA 並行編程與性能優化 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
VIP 95折
大模型驅動的具身智能 架構,設計與實現$534$507 -
VIP 95折
納米級CMOS VLSI電路(可制造性設計)$474$450 -
VIP 95折
Manus應用與AI Agent設計指南:從入門到精通$359$341 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
VIP 95折
芯片的較量 (日美半導體風雲)$414$393 -
VIP 95折
Manus AI 智能體從入門到精通$294$279 -
87折
$981深度學習:基礎與概念 -
79折
$469GitHub Copilot 編程指南 -
87折
$469Cursor 與 Copilot 開發實戰 : 讓煩瑣編程智能化 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
Verilog HDL 計算機網絡典型電路算法設計與實現$354$336 -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
79折
$469GitHub Copilot 編程指南 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673 -
VIP 95折
深入淺出 Docker, 2/e$419$398 -
85折
$658Unity 特效制作:Shader Graph 案例精講 -
79折
$275零基礎玩轉國產大模型DeepSeek -
VIP 95折
人工智能大模型:機器學習基礎$774$735 -
VIP 95折
RAG 極簡入門:原理與實踐$419$398 -
VIP 95折
大模型實戰 : 從零實現 RAG 與 Agent 系統$419$398 -
VIP 95折
算法趣學(第2版)$348$331 -
VIP 95折
大模型理論與實踐——打造行業智能助手$354$336 -
85折
$509生成式人工智能 (基於 PyTorch 實現) -
VIP 95折
機器人抓取力學$894$849 -
VIP 95折
集成電路版圖設計從入門到精通$474$450 -
VIP 95折
Java 學習筆記, 6/e$839$797 -
VIP 95折
ZBrush遊戲角色設計(第2版)$479$455
相關主題
商品描述
本書由淺入深地對自動化軟件測試進行了闡述,內容涵蓋軟件測試的基礎知識、Python、PyTest、Selenium、
面向對象編程、自動化測試框架的設計要點和測試自動化開發實踐等,
本書內容組織成入門、進階和高階三個逐步提高的版塊,
每個版塊都有實戰編程章節,清晰呈現了技術方案的打磨和改進的過程。
作者簡介
徐西寧,畢業於華中科技大學計算機學院,資深全棧軟件工程師,從事軟件開發和測試工作15年,先後任職於Autodesk、EMC、每銳軟件等公司,在自動化測試框架設計、自動化測試流程優化、持續集成、Web開發等方面有豐富的經驗,是一位活躍的開源軟件和技術分享實踐者。
目錄大綱
序一
序二
前言
第1章 軟件測試基礎 1
1.1 什麼是軟件測試1
1.2 軟件測試的類型2
1.2.1 按測試對象的顆粒度劃分2
1.2.2 按內部邏輯的透明度劃分3
1.2.3 按執行階段劃分4
1.2.4 按執行方式劃分4
1.3 敏捷開發模式5
1.4 測試經濟學6
1.4.1 測試是必需的嗎6
1.4.2 放棄追求完美7
1.4.3 關註核心功能8
1.4.4 等價類劃分8
1.4.5 邊界值分析9
1.4.6 用機器取代人工10
1.5 自動化測試不容易12
1.6 本章小結12
第2章 Python入門 13
2.1 世界上最好的兩種編程語言13
2.2 別問我怎麼安裝14
2.3 解釋器是什麼14
2.4 初識變量16
2.5 函數基礎17
2.6 代碼縮進和代碼塊18
2.7 字符串19
2.7.1 拼接和格式化21
2.7.2 下標訪問22
2.7.3 更多常見操作23
2.8 數值類型26
2.8.1 數值類型的基本運算27
2.8.2 浮點數的常見運算29
2.9 布爾值和條件判斷32
2.9.1 條件判斷的組合33
2.9.2 條件判斷的短路34
2.9.3 條件判斷的鍊式表達35
2.10 日期和時間36
2.10.1 生成時間對象37
2.10.2 格式化日期字符串38
2.11 list基礎39
2.11.1 下標訪問40
2.11.2 插入元素40
2.11.3 刪除元素41
2.11.4 簡單排序42
2.11.5 更多常見操作43
2.11.6 遍歷44
2.11.7 元素類型46
2.12 dict基礎47
2.12.1 讀取48
2.12.2 插入和更新49
2.12.3 合併50
2.12.4 刪除51
2.12.5 遍歷53
2.12.6 key的選擇55
2.13 循環56
2.13.1 while循環57
2.13.2 for循環58
2.13.3 多重循環59
2.13.4 循環的終止60
2.13.5 遞歸63
2.14 異常63
2.14.1 基本語法64
2.14.2 異常的類型67
2.14.3 捕獲特定類型的異常68
2.14.4 主動拋出異常71
2.15 斷言72
2.15.1 assertion72
2.15.2 AssertionError73
2.15.3 assert73
2.16 pip的基礎用法74
2.17 本章小結76
第3章 PyTest入門 77
3.1 框架是什麼77
3.2 測試框架77
3.2.1 篩選測試源文件77
3.2.2 篩選測試函數78
3.2.3 測試函數的啟動79
3.2.4 成功還是失敗80
3.2.5 測試報告80
3.2.6 測試前的環境配置81
3.2.7 測試後的現場清理81
3.2.8 核心功能的擴充82
3.2.9 主流測試框架82
3.3 PyTest是什麼83
3.4 自動發現84
3.4.1 自動發現測試源文件84
3.4.2 自動發現測試函數84
3.5 使用斷言85
3.6 測試結果解讀86
3.7 測試報告88
3.8 本章小結89
第4章 Selenium入門 90
4.1 Selenium是什麼90
4.1.1 Selenium IDE91
4.1.2 Selenium Grid97
4.1.3 Web Driver98
4.2 Selenium的安裝配置99
4.3 用Web Driver驅動網頁100
4.4 頁面元素的定位102
4.4.1 簡單定位102
4.4.2 CSS定位107
4.5 頁面元素的常見操作108
4.6 本章小結112
第5章 實戰12306之入門篇 113
5.1 測試用例設計文檔113
5.2 代碼實戰114
5.3 代碼解析116
5.3.1 審視測試邏輯116
5.3.2 用變量澄清代碼邏輯117
5.3.3 DRY原則118
5.3.4 改善代碼可讀性120
5.4 本章小結122
第6章 Python進階 123
6.1 基本數據類型的深入瞭解123
6.1.1 轉義字符123
6.1.2 字符串的不可變性124
6.1.3 深入瞭解布爾類型126
6.1.4 set128
6.1.5 tuple131
6.1.6 整型數的設計很優秀132
6.1.7 浮點數為什麼算不準133
6.1.8 Decimal,準! 134
6.2 深入瞭解函數137
6.2.1 函數的調用137
6.2.2 函數的返回138
6.2.3 不支持函數重載139
6.2.4 默認參數141
6.2.5 可變參數142
6.3 關於時間144
6.3.1 時間差144
6.3.2 UTC時間146
6.4 面向對象基礎148
6.4.1 面向對像到底是什麼意思148
6.4.2 類和對象148
6.4.3 初始化函數149
6.5 模塊是什麼151
6.6 高級排序153
6.6.1 list的排序153
6.6.2 dict的排序157
6.6.3 自定義對象序列的排序159
6.7 複雜的遍歷場景160
6.7.1 一邊遍歷一邊修改160
6.7.2 一邊遍歷一邊刪除162
6.8 文件和文件系統操作基礎165
6.8.1 路徑的正確操作方式165
6.8.2 文件系統的基本操作168
6.8.3 文本文件的讀169
6.8.4 文本文件的寫170
6.8.5 文本文件的關閉171
6.8.6 CSV文件的讀寫172
6.8.7 Excel文件的讀寫174
6.9 淺拷貝與深拷貝176
6.10 深入瞭解import179
6.11 變量的作用域182
6.12 局部變量和全局變量的衝突185
6.13 __name__和__main__186
6.14 註釋188
6.15 pip的工程用法190
6.16 本章小結192
第7章 PyTest進階 193
7.1 自動發現測試類193
7.2 測試集合194
7.3 標記195
7.3.1 忽略執行195
7.3.2 條件執行197
7.3.3 期待失敗的發生199
7.3.4 限時執行201
7.3.5 自定義標籤201
7.4 參數化測試204
7.5 測試用例的ID206
7.6 Fixture初探207
7.7 PyTest的插件機制209
7.7.1 Hook函數209
7.7.2 PyTest插件210
7.7.3 多級conftest協同210
7.7.4 第三方插件212
7.8 本章小結213
第8章 Selenium進階 214
8.1 頁面元素的XPath定位214
8.2 頁面元素的等待215
8.2.1 隱式等待216
8.2.2 顯式等待216
8.3 Selenium的局限218
8.4 本章小結219
第9章 實戰12306之進階篇 220
9.1 PO設計模式220
9.2 更有針對性的顯式等待223
9.3 更健壯的代碼邏輯224
9.4 函數單一職責原則225
9.5 測試單一職責原則226
9.6 本章小結227
第10章 Python高階 228
10.1 面向對象設計思想228
10.1.1 繼承228
10.1.2 封裝230
10.1.3 多態232
10.2 對類的深入瞭解233
10.2.1 析構函數233
10.2.2 訪問權限控制235
10.2.3 self不是關鍵字236
10.2.4 實例屬性和類屬性239
10.2.5 成員方法和類方法240
10.2.6 類方法和靜態方法242
10.3 重寫244
10.3.1 如何重寫244
10.3.2 重寫中的代碼復用247
10.3.3 重寫__str__方法249
10.3.4 重寫運算符249
10.4 深入瞭解函數252
10.4.1 函數也是一種對象252
10.4.2 內嵌函數254
10.4.3 函數裝飾器255
10.4.4 不只是會裝飾259
10.4.5 用Property裝飾器改進設計261
10.5 None是什麼264
10.6 Enum是什麼265
10.7 Python不支持常量267
10.8 隨機數據和時間戳268
10.9 自定義異常類型270
10.10 需要用強類型嗎271
10.11 日誌272
10.12 本章小結277
第11章 測試框架的設計和演進 278
11.1 代碼的可讀性278
11.1.1 統一的代碼風格279
11.1.2 醜陋的函數名280
11.1.3 糟糕的變量名282
11.2 友好的函數設計283
11.2.1 簡潔的接口283
11.2.2 操作狀態的處理285
11.2.3 不要過度設計287
11.2.4 防呆288
11.3 有效管理測試資源290
11.3.1 封裝微服務290
11.3.2 統一的資源入口295
11.3.3 資源的延遲加載296
11.3.4 保證資源的釋放298
11.3.5 支持多環境測試300
11.3.6 容忍不穩定的測試環境302
11.4 不要引入getter和setter304
11.5 一次收集多個斷言錯誤306
11.6 日誌的支持和改進308
11.7 減少重複執行的負面影響310
11.8 數據驅動測試的設計311
11.8.1 讓PyTest支持中文ID311
11.8.2 更優雅的參數化測試314
11.8.3 用YML取代JSON316
11.8.4 面向對象的測試數據317
11.9 接受一定程度的重複代碼319
11.10 本章小結320
第12章 實戰12306之高階篇 321
12.1 就近原則321
12.2 用Enum澄清設計意圖322
12.3 支持鍊式表達324
12.4 簡化函數名325
12.5 封裝複雜邏輯326
12.6 單例設計模式328
12.7 異常和斷言的使用場景的區別331
12.8 測試用例的維護333
12.9 本章小結334
術語表 335
參考文獻 336
後記 337
