注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設計軟件自動化測試實戰(zhàn)解析:基于Python3編程語言

軟件自動化測試實戰(zhàn)解析:基于Python3編程語言

軟件自動化測試實戰(zhàn)解析:基于Python3編程語言

定 價:¥89.00

作 者: 徐西寧
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111685616 出版時間: 2021-07-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 352 字數(shù):  

內(nèi)容簡介

  本書由淺入深地對自動化軟件測試進行了闡述,內(nèi)容涵蓋軟件測試的基礎知識、Python、PyTest、Selenium、面向?qū)ο缶幊獭⒆詣踊瘻y試框架的設計要點和測試自動化開發(fā)實踐等,本書內(nèi)容組織成入門、進階和高階三個逐步提高的版塊,每個版塊都有實戰(zhàn)編程章節(jié),清晰呈現(xiàn)了技術(shù)方案的打磨和改進的過程。本書的內(nèi)容分為三個大的版塊。個版塊,從基礎的部分講起,讓基礎薄弱的工程師對測試和編程語言有基本的認識,在此基礎上開始了解PyTest測試框架的基礎用法,以及如何用Selenium來做簡單的Web UI的自動化測試。通過這個版塊的學習,測試工程師有能力把一些簡單的測試工作用代碼實現(xiàn),減少手工重復勞動的比重,做到一定程度的測試自動化,這是對自動化測試工程師的入門要求。第二個版塊,夯實Python語言基礎,講解更深入的PyTest和Selenium特性,演示如何應用這些知識來改進測試用例的編寫,改善測試框架,讓測試自動化更加高效。通過這個版塊的學習,測試工程師對編程語言和測試工具會有更深入的了解,可以更高效地進行測試自動化的工作,有能力開始針對產(chǎn)品特性來設計自動化測試框架,這是工程團隊對中級測試工程師的一般要求。第三個版塊,學習Python的高級特性、面向?qū)ο蟮乃枷搿⒆詣踊瘻y試工具和框架的高級特性、設計思路、以及存在的問題、限制及其改進思路、工程團隊的高質(zhì)量協(xié)作、實際項目中的實踐等更深入的內(nèi)容,這個部分包含了大量實戰(zhàn)中提煉出來的經(jīng)驗和總結(jié)。通過這個版塊的學習,測試工程師可以往高級工程師和架構(gòu)師方向邁出堅實的一步,而具備這樣的技術(shù)能力和思維方式后,測試工程師可以在整個軟件工程團隊中起到非常積極的正面影響,而不只限于測試團隊。每個版塊的末尾都有一個實戰(zhàn)章節(jié),所有的實戰(zhàn)章節(jié)圍繞同一個測試場景展開,前后銜接呼應,有很強的延續(xù)性。每個實戰(zhàn)章節(jié)都是針對相應的技術(shù)水平而設計的,讀者可以非常直觀地看到代碼和設計如何隨著技術(shù)水平的提升而改進。

作者簡介

  徐西寧,畢業(yè)于華中科技大學計算機學院,資深全棧軟件工程師,從事軟件開發(fā)和測試工作15年,先后任職于Autodesk、EMC、每銳軟件等公司,在自動化測試框架設計、自動化測試流程優(yōu)化、持續(xù)集成、Web開發(fā)等方面有豐富的經(jīng)驗,是一位活躍的開源軟件和技術(shù)分享實踐者。

圖書目錄

序一
序二
前言
第1章 軟件測試基礎 1
1.1 什么是軟件測試1
1.2 軟件測試的類型2
1.2.1 按測試對象的顆粒度劃分2
1.2.2 按內(nèi)部邏輯的透明度劃分3
1.2.3 按執(zhí)行階段劃分4
1.2.4 按執(zhí)行方式劃分4
1.3 敏捷開發(fā)模式5
1.4 測試經(jīng)濟學6
1.4.1 測試是必需的嗎6
1.4.2 放棄追求完美7
1.4.3 關(guān)注核心功能8
1.4.4 等價類劃分8
1.4.5 邊界值分析9
1.4.6 用機器取代人工10
1.5 自動化測試不容易12
1.6 本章小結(jié)12
第2章 Python入門 13
2.1 世界上好的兩種編程語言13
2.2 別問我怎么安裝14
2.3 解釋器是什么14
2.4 初識變量16
2.5 函數(shù)基礎17
2.6 代碼縮進和代碼塊18
2.7 字符串19
2.7.1 拼接和格式化21
2.7.2 下標訪問22
2.7.3 更多常見操作23
2.8 數(shù)值類型26
2.8.1 數(shù)值類型的基本運算27
2.8.2 浮點數(shù)的常見運算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 循環(huán)56
2.13.1 while循環(huán)57
2.13.2 for循環(huán)58
2.13.3 多重循環(huán)59
2.13.4 循環(huán)的終止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 本章小結(jié)76
第3章 PyTest入門 77
3.1 框架是什么77
3.2 測試框架77
3.2.1 篩選測試源文件77
3.2.2 篩選測試函數(shù)78
3.2.3 測試函數(shù)的啟動79
3.2.4 成功還是失敗80
3.2.5 測試報告80
3.2.6 測試前的環(huán)境配置81
3.2.7 測試后的現(xiàn)場清理81
3.2.8 核心功能的擴充82
3.2.9 主流測試框架82
3.3 PyTest是什么83
3.4 自動發(fā)現(xiàn)84
3.4.1 自動發(fā)現(xiàn)測試源文件84
3.4.2 自動發(fā)現(xiàn)測試函數(shù)84
3.5 使用斷言85
3.6 測試結(jié)果解讀86
3.7 測試報告88
3.8 本章小結(jié)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驅(qū)動網(wǎng)頁100
4.4 頁面元素的定位102
4.4.1 簡單定位102
4.4.2 CSS定位107
4.5 頁面元素的常見操作108
4.6 本章小結(jié)112
第5章 實戰(zhàn)12306之入門篇 113
5.1 測試用例設計文檔113
5.2 代碼實戰(zhàn)114
5.3 代碼解析116
5.3.1 審視測試邏輯116
5.3.2 用變量澄清代碼邏輯117
5.3.3 DRY原則118
5.3.4 改善代碼可讀性120
5.4 本章小結(jié)122
第6章 Python進階 123
6.1 基本數(shù)據(jù)類型的深入了解123
6.1.1 轉(zhuǎn)義字符123
6.1.2 字符串的不可變性124
6.1.3 深入了解布爾類型126
6.1.4 set128
6.1.5 tuple131
6.1.6 整型數(shù)的設計很優(yōu)秀132
6.1.7 浮點數(shù)為什么算不準133
6.1.8 Decimal,準!134
6.2 深入了解函數(shù)137
6.2.1 函數(shù)的調(diào)用137
6.2.2 函數(shù)的返回138
6.2.3 不支持函數(shù)重載139
6.2.4 默認參數(shù)141
6.2.5 可變參數(shù)142
6.3 關(guān)于時間144
6.3.1 時間差144
6.3.2 UTC時間146
6.4 面向?qū)ο蠡A148
6.4.1 面向?qū)ο蟮降资鞘裁匆馑?48
6.4.2 類和對象148
6.4.3 初始化函數(shù)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 文件和文件系統(tǒng)操作基礎165
6.8.1 路徑的正確操作方式165
6.8.2 文件系統(tǒng)的基本操作168
6.8.3 文本文件的讀169
6.8.4 文本文件的寫170
6.8.5 文本文件的關(guān)閉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 本章小結(jié)192
第7章 PyTest進階 193
7.1 自動發(fā)現(xiàn)測試類193
7.2 測試集合194
7.3 標記195
7.3.1 忽略執(zhí)行195
7.3.2 條件執(zhí)行197
7.3.3 期待失敗的發(fā)生199
7.3.4 限時執(zhí)行201
7.3.5 自定義標簽201
7.4 參數(shù)化測試204
7.5 測試用例的ID206
7.6 Fixture初探207
7.7 PyTest的插件機制209
7.7.1 Hook函數(shù)209
7.7.2 PyTest插件210
7.7.3 多級conftest協(xié)同210
7.7.4 第三方插件212
7.8 本章小結(jié)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 本章小結(jié)219
第9章 實戰(zhàn)12306之進階篇 220
9.1 PO設計模式220
9.2 更有針對性的顯式等待223
9.3 更健壯的代碼邏輯224
9.4 函數(shù)單一職責原則225
9.5 測試單一職責原則226
9.6 本章小結(jié)227
第10章 Python高階 228
10.1 面向?qū)ο笤O計思想228
10.1.1 繼承228
10.1.2 封裝230
10.1.3 多態(tài)232
10.2 對類的深入了解233
10.2.1 析構(gòu)函數(shù)233
10.2.2 訪問權(quán)限控制235
10.2.3 self不是關(guān)鍵字236
10.2.4 實例屬性和類屬性239
10.2.5 成員方法和類方法240
10.2.6 類方法和靜態(tài)方法242
10.3 重寫244
10.3.1 如何重寫244
10.3.2 重寫中的代碼復用247
10.3.3 重寫__str__方法249
10.3.4 重寫運算符249
10.4 深入了解函數(shù)252
10.4.1 函數(shù)也是一種對象252
10.4.2 內(nèi)嵌函數(shù)254
10.4.3 函數(shù)裝飾器255
10.4.4 不只是會裝飾259
10.4.5 用Property裝飾器改進設計261
10.5 None是什么264
10.6 Enum是什么265
10.7 Python不支持常量267
10.8 隨機數(shù)據(jù)和時間戳268
10.9 自定義異常類型270
10.10 需要用強類型嗎271
10.11 日志272
10.12 本章小結(jié)277
第11章 測試框架的設計和演進 278
11.1 代碼的可讀性278
11.1.1 統(tǒng)一的代碼風格279
11.1.2 丑陋的函數(shù)名280
11.1.3 糟糕的變量名282
11.2 友好的函數(shù)設計283
11.2.1 簡潔的接口283
11.2.2 操作狀態(tài)的處理285
11.2.3 不要過度設計287
11.2.4 防呆288
11.3 有效管理測試資源290
11.3.1 封裝微服務290
11.3.2 統(tǒng)一的資源入口295
11.3.3 資源的延遲加載296
11.3.4 保證資源的釋放298
11.3.5 支持多環(huán)境測試300
11.3.6 容忍不穩(wěn)定的測試環(huán)境302
11.4 不要引入getter和setter304
11.5 一次收集多個斷言錯誤306
11.6 日志的支持和改進308
11.7 減少重復執(zhí)行的負面影響310
11.8 數(shù)據(jù)驅(qū)動測試的設計311
11.8.1 讓PyTest支持中文ID311
11.8.2 更優(yōu)雅的參數(shù)化測試314
11.8.3 用YML取代JSON316
11.8.4 面向?qū)ο蟮臏y試數(shù)據(jù)317
11.9 接受一定程度的重復代碼319
11.10 本章小結(jié)320
第12章 實戰(zhàn)12306之高階篇 321
12.1 就近原則321
12.2 用Enum澄清設計意圖322
12.3 支持鏈式表達324
12.4 簡化函數(shù)名325
12.5 封裝復雜邏輯326
12.6 單例設計模式328
12.7 異常和斷言的使用場景的區(qū)別331
12.8 測試用例的維護333
12.9 本章小結(jié)334
術(shù)語表 335
參考文獻 336
后記 337
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號