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

軟件自動(dòng)化測(cè)試實(shí)戰(zhàn)解析:基于Python3編程語言

軟件自動(dòng)化測(cè)試實(shí)戰(zhàn)解析:基于Python3編程語言

定 價(jià):¥89.00

作 者: 徐西寧
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)