軟件自動化測試入門攻略

楊定佳

  • 出版商: 清華大學
  • 出版日期: 2024-01-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • ISBN: 7302651043
  • ISBN-13: 9787302651048
  • 立即出貨 (庫存=1)

  • 軟件自動化測試入門攻略-preview-1
  • 軟件自動化測試入門攻略-preview-2
  • 軟件自動化測試入門攻略-preview-3
軟件自動化測試入門攻略-preview-1

買這商品的人也買了...

商品描述

《軟件自動化測試入門攻略》以軟件自動化測試工具在項目實踐中的應用為主線,依照“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程,詳細介紹軟件自動化測試的方法論、必備知識與核心技能。全書共15章,第1章至第8章主要介紹當前企業使用率**的unittest、pytest、Requests、Postman、Selenium、Appium和JMeter 7款自動化測試工具,第9章至第14章分別以Leadshop開源商城系統中的部分模塊為實戰對象,運用前述章節的工具依次實現單元測試、代碼包測試、接口測試、Web UI測試、移動端測試和性能測試演練,完成基礎工具的單個知識點學習到項目的綜合運用,第15章介紹Docker容器技術及其在Jenkins中實現測試項目的任務部署,完成分佈式節點掛載和定時執行。 《軟件自動化測試入門攻略》來自一線資深測試工程師多年從業經驗的總結,內容詳實,貼近實際工作需要,既可幫助對自動化測試感興趣的新手快速入門和入行,又可對有一定測試基礎的讀者實現自我能力的提升和突破。

目錄大綱

目    錄

第1章  自動化測試概述 1

1.1  什麽是軟件自動化測試 1

1.1.1  定義 1

1.1.2  應用條件 1

1.1.3  對比手工測試 2

1.1.4  分類 3

1.1.5  價值 4

1.2  自動化測試的概念 6

1.2.1  流程 6

1.2.2  原則 7

1.2.3  測試模型 8

1.2.4  度量模型 10

1.3  自動化測試常用工具 12

1.3.1  單元測試工具 12

1.3.2  代碼包測試工具 13

1.3.3  接口測試工具 13

1.3.4  Web UI測試工具 14

1.3.5  App測試工具 15

1.3.6  性能測試工具 16

1.4  如何入門自動化測試 17

1.4.1  入門是基礎 17

1.4.2  入行是起點 18

1.4.3  入職是挑戰 18

1.5  思考題 18

第2章  unittest 19

2.1  簡介 19

2.2  測試用例 20

2.3  測試腳手架 21

2.4  測試套件 23

2.4.1  TestSuite類構建 23

2.4.2  TestLoader類構建 25

2.4.3  其他方法構建 26

2.5  測試運行器 27

2.6  命令行接口 28

2.7  用例執行順序 30

2.8  測試斷言 31

2.9  skip裝飾器 33

2.10  模擬對象mock 36

2.11  ddt實現參數化 38

2.12  多線程運行 42

2.13  定時運行 44

2.14  生成測試報告 46

2.15  發送測試結果通知 48

2.16  思考題 54

第3章  pytest 55

3.1  簡介 55

3.2  第一個示例 55

3.3  測試用例 57

3.4  命令行參數 59

3.5  跳過 61

3.6  標記 62

3.6.1  內置標記 63

3.6.2  自定義標記 64

3.7  夾具 66

3.7.1  fixture參數 66

3.7.2  夾具的使用 67

3.7.3  夾具作用域 68

3.7.4  共享夾具 70

3.8  參數化 72

3.8.1  標記方式實現 72

3.8.2  夾具方式實現 73

3.9  配置文件 74

3.10  插件 76

3.11  分佈式執行 77

3.12  Allure測試報告 79

3.12.1  Allure安裝 79

3.12.2  生成測試報告 80

3.12.3  Allure特性與應用示例 82

3.13  思考題 87

第4章  Requests 88

4.1  簡介 88

4.2  主要方法 89

4.2.1  請求示例 89

4.2.2  查詢參數 90

4.2.3  響應對象 91

4.3  發送GET請求 92

4.3.1  params參數 92

4.3.2  自定義請求頭 93

4.4  發送POST請求 94

4.4.1  data參數 95

4.4.2  json參數 96

4.5  發送其他類型的請求 97

4.5.1  發送HEAD請求 98

4.5.2  發送PUT請求 98

4.5.3  發送PATCH請求 98

4.5.4  發送DELETE請求 99

4.6  文件上傳 99

4.7  文件下載 100

4.8  Cookies參數 101

4.9  Session對象 103

4.10  重定向 104

4.11  添加代理 105

4.12  超時設置 106

4.13  異常處理 106

4.14  證書驗證 107

4.15  身份認證 107

4.16  生成測試用例腳本 108

4.17  思考題 110

第5章  Postman 111

5.1  安裝 111

5.2  界面介紹 113

5.3  HTTP請求 115

5.3.1  請求界面介紹 116

5.3.2  GET請求 117

5.3.3  POST請求 118

5.3.4  其他類型請求 121

5.3.5  文件上傳 122

5.3.6  文件下載 123

5.3.7  授權 124

5.3.8  前置腳本 126

5.3.9  後置腳本 128

5.3.10  請求設置 131

5.3.11  其他 132

5.4  環境和變量 132

5.5  Cookies管理 135

5.6  代理設置 136

5.7  證書管理 138

5.8  集合管理 140

5.8.1  執行集合 141

5.8.2  參數化 142

5.8.3  分支和循環 144

5.9  模擬服務器 145

5.10  監視器 148

5.11  命令行執行集合 152

5.12  思考題 157

第6章  Selenium 158

6.1  簡介 158

6.1.1  版本演進 158

6.1.2  特點 159

6.1.3  WebDriver的工作原理 159

6.2  環境準備 160

6.2.1  安裝Selenium 160

6.2.2  安裝瀏覽器驅動 161

6.2.3  第一個示例 162

6.3  瀏覽器操作 163

6.4  頁面元素定位 169

6.4.1  頁面查找元素 170

6.4.2  id定位 171

6.4.3  name定位 171

6.4.4  class定位 172

6.4.5  tag定位 172

6.4.6  link定位 173

6.4.7  partial link定位 173

6.4.8  css定位 173

6.4.9  xpath定位 174

6.4.10  相對定位 178

6.4.11  定位一組元素 179

6.5  獲取頁面內容 180

6.6  獲取元素屬性 181

6.7  頁面元素操作 183

6.7.1  單擊 183

6.7.2  輸入文本 184

6.7.3  清除文本 184

6.7.4  提交表單 185

6.7.5  單選框操作 186

6.7.6  復選框操作 187

6.7.7  下拉框操作 187

6.7.8  Frame結構操作 189

6.8  文件操作 191

6.8.1  文件上傳 191

6.8.2  文件下載 192

6.9  模擬鼠標操作 194

6.10  模擬鍵盤操作 197

6.11  延時等待 198

6.12  瀏覽器配置 201

6.13  其他操作 203

6.13.1  調用JavaScript 203

6.13.2  Cookie操作 204

6.13.3  屏幕截圖 205

6.13.4  獲取環境信息 205

6.13.5  執行CDP命令 206

6.13.6  設置超時時間 207

6.14  Webdriver Manager 207

6.15  Selenium Grid 208

6.16  生成測試用例腳本 212

6.17  思考題 218

第7章  Appium 219

7.1  簡介 219

7.2  Android模擬器 220

7.3  ADB工具 221

7.3.1  ADB的工作原理 221

7.3.2  ADB工具安裝 222

7.3.3  ADB常用命令 224

7.3.4  自動化測試中常用的ADB命令 225

7.4  Appium環境準備 228

7.4.1  安裝Appium Desktop 228

7.4.2  安裝Appium Inspector 229

7.4.3  Appium簡單使用 230

7.4.4  Inspector功能 233

7.4.5  腳本錄制 233

7.4.6  查看元素屬性 236

7.5  Appium Server 236

7.6  Appium Client 238

7.7  UI Automator Viewer 240

7.8  元素定位 241

7.9  元素操作 243

7.10  獲取元素屬性 244

7.11  觸控事件 246

7.11.1  TouchAction 246

7.11.2  輸入源行為 248

7.11.3  單點觸控 249

7.11.4  多點觸控 250

7.11.5  其他觸控操作 252

7.12  設備交互API 254

7.13  Android Toast識別 258

7.14  其他操作 259

7.15  不同應用的測試 262

7.15.1  App應用程序的分類 262

7.15.2  案例一:

原生應用的測試 263

7.15.3  案例二:

Web應用測試 271

7.15.4  案例三:

混合應用測試 275

7.15.5  案例四:

微信小程序測試 277

7.16  穩定性測試 279

7.16.1  Monkey簡介 279

7.16.2  Monkey常用參數 280

7.16.3  Monkey日誌分析 282

7.17  思考題 285

第8章  JMeter 286

8.1  簡介 286

8.2  安裝 287

8.3  配置文件 288

8.4  界面介紹 291

8.5  腳本錄制 293

8.6  基本組件 297

8.7  測試計劃 298

8.8  線程組 301

8.8.1  普通線程組 302

8.8.2  開放模型線程組 304

8.9  取樣器 305

8.9.1  HTTP請求 306

8.9.2  調試取樣器 311

8.9.3  BeanShell 取樣器 312

8.9.4  FTP請求 314

8.9.5  JDBC請求 316

8.9.6  SMTP取樣器 316

8.10  配置元件 320

8.10.1  CSV數據文件設置 321

8.10.2  HTTP信息頭管理器 323

8.10.3  HTTP Cookie管理器 324

8.10.4  HTTP請求默認值 326

8.10.5  JDBC連接配置器 327

8.10.6  隨機變量 330

8.11  前置處理器 332

8.11.1  用戶參數 333

8.11.2  取樣器超時 334

8.12  後置處理器 334

8.12.1  CSS/Query提取器 335

8.12.2  JSON提取器 337

8.12.3  正則表達式提取器 338

8.12.4  XPath提取器 339

8.13  斷言 341

8.13.1  響應斷言 342

8.13.2  JSON斷言 343

8.13.3  XPath斷言 345

8.14  定時器 346

8.14.1  固定定時器 347

8.14.2  統一隨機定時器 347

8.14.3  同步定時器 347

8.14.4  高斯隨機定時器 348

8.15  監聽器 348

8.15.1  查看結果樹 349

8.15.2  聚合報告 350

8.15.3  響應時間圖 351

8.15.4  斷言結果 351

8.16  邏輯控制器 352

8.16.1  IF控制器 353

8.16.2  循環控制器 354

8.16.3  ForEach控制器 355

8.16.4  僅一次控制器 356

8.17  作用域和執行順序 357

8.18  插件 357

8.19  函數 360

8.20  分佈式部署 362

8.21  可視化監控平臺的搭建與使用 364

8.21.1  安裝和部署InfluxDB 1.7 365

8.21.2  安裝和部署Grafana 365

8.21.3  Grafana中添加

JMeter模板 366

8.21.4  創建和運行JMeter腳本 367

8.22  思考題 368

第9章  實現單元測試 370

9.1  被測產品介紹 370

9.1.1  項目介紹 370

9.1.2  產品搭建 371

9.2  單元測試簡介 374

9.2.1  概念 374

9.2.2  分類 375

9.2.3  對測試人員的要求 375

9.3  用例設計方法 376

9.3.1  路徑覆蓋 377

9.3.2  語句覆蓋 377

9.3.3  條件覆蓋 378

9.3.4  判定覆蓋 379

9.3.5  判定和條件覆蓋 380

9.3.6  條件組合覆蓋 381

9.4  實戰對象 381

9.5  設計測試用例 383

9.6  編寫測試腳本 384

9.7  統計代碼覆蓋率 385

9.8  思考題 387

第10章  實現代碼包測試 389

10.1  什麽是代碼包 389

10.2  用例設計方法 389

10.3  實踐對象 390

10.4  設計測試用例 392

10.5  編寫測試腳本 393

10.6  測試運行 397

10.7  思考題 398

第11章  實現接口測試 399

11.1  接口測試簡介 399

11.1.1  概念 399

11.1.2  常見接口協議 400

11.2  用例設計方法 401

11.3  實戰對象 403

11.4  構建項目結構 404

11.5  設計測試用例 406

11.6  編寫項目腳本 407

11.6.1  設計測試用例文件 407

11.6.2  添加基礎配置數據 413

11.6.3  讀取配置文件內容 414

11.6.4  獲取測試用例數據 415

11.6.5  封裝接口請求函數 418

11.6.6  設置共享夾具 419

11.6.7  封裝斷言函數 419

11.6.8  添加測試用例函數 422

11.7  執行測試項目 425

11.8  思考題 427

第12章  實現Web UI測試 428

12.1  Web UI測試簡介 428

12.2  用例設計方法 429

12.3  Page Object模型 430

12.4  實戰對象 432

12.5  設計測試用例 433

12.6  項目結構搭建 434

12.7  編寫測試腳本 436

12.7.1  封裝元素定位 436

12.7.2  添加測試數據 438

12.7.3  頁面功能函數封裝 439

12.7.4  實現測試用例 446

12.8  執行測試項目 452

12.9  思考題 453

第13章  實現移動端測試 454

13.1  App測試簡介 454

13.2  項目實戰對象 455

13.3  項目結構搭建 456

13.4  編寫測試腳本 457

13.4.1  封裝元素定位 457

13.4.2  添加測試數據 458

13.4.3  頁面功能函數封裝 459

13.4.4  實現測試用例 465

13.5  執行測試項目 466

13.6  思考題 467

第14章  實現性能測試 468

14.1  性能測試簡介 468

14.1.1  測試流程 469

14.1.2  常見性能指標 469

14.1.3  流量回放技術 470

14.2  性能需求分析 471

14.3  制訂測試計劃 472

14.4  確定測試方案 475

14.5  搭建測試環境 478

14.6  準備測試數據 479

14.7  開發壓測腳本 479

14.7.1  添加請求 479

14.7.2  運行調試 485

14.7.3  設置斷言 487

14.7.4  增加壓力 490

14.8  測試執行及監控 492

14.9  結果分析 493

14.10  性能調優 497

14.11  編寫測試報告 498

14.12  思考題 498

第15章  容器化部署與自動化測試 499

15.1  什麽是容器化部署 499

15.2  Docker安裝 500

15.3  Docker核心概念 502

15.4  Docker使用 503

15.4.1  倉庫操作 503

15.4.2  鏡像操作 504

15.4.3  容器操作 506

15.5  Dockerfile 510

15.6  Docker部署Jenkins 513

15.6.1  Jenkins安裝 513

15.6.2  Jenkins在自動化測試中的應用 515

15.7  持續集成與自動化測試 522

15.7.1  什麽是持續集成 523

15.7.2  持續集成常用工具 523

15.7.3  部署測試項目 524

15.8  思考題 524

參考文獻 525