Mountebank 微服務測試

[美] 布蘭登·貝耶斯(Brandon Byars)著 王超 譯

  • Mountebank 微服務測試-preview-1
  • Mountebank 微服務測試-preview-2
  • Mountebank 微服務測試-preview-3
Mountebank 微服務測試-preview-1

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

商品描述

《Mountebank微服務測試》主要介紹如何使用mountebank測試微服務,通過閱讀,可以深入瞭解mountebank的全部功能以及服務虛擬化的適用範圍。無論是微服務系統的開發工程師,還是進行QA或者性能測試的測試工程師,以及將客戶需求轉換為實際可執行項目的解決方案架構師,都適合閱讀。 1. 服務虛擬化的核心概念; 2. 使用屏蔽響應進行測試; 3.mountebank編程; 4.性能測試。

作者簡介

Brandon Byars是ThoughtWorks公司的首席顧問,也是mountebank的創建者和維護者。他在IT領域具有20年的經驗,曾擔任開發人員、DBA、架構師和客戶經理。當他不再熱衷於測試自動化時,他專注於將系統思維應用到大規模開發中,並在我們已經打開的潘多拉技術盒的世界中找到重新發現人類意義的方法。

目錄大綱

 

第Ⅰ部分 起 步

 

第1章 測試微服務 3

1.1 微服務刷新器 4

1.1.1 微服務路徑 5

1.1.2 微服務和組織結構 7

1.2 端到端測試的問題 9

1.3 了解服務虛擬化 10

1.3.1 使用API​​逐個設置測試 12

1.3.2 使用持久數據存儲 12

1.3.3 記錄和重放 13

1.4 mountebank介紹 14

1.5 服務虛擬化工俱生態系統 18

1.6 本章小結 19

 

第2章 體驗mountebank 21

2.1 設置示例 22

2.2 HTTP和mountebank:入門 23

2.3 虛擬化產品目錄服務 26

2.4 第一個測試 31

2.5 本章小結 38

 

第Ⅱ部分 使用mountebank

 

第3章 使用屏蔽響應進行測試 43

3.1 屏蔽響應的基礎 44

3.1.1 默認響應 45

3.1.2 了解默認響應的工作方式 48

3.1.3 更改默認響應 49

3.1.4 循環響應 50

3.2 HTTPS imposter 52

3.2.1 設置可信的HTTPS imposter 55

3.2.2 使用相互身份驗證 57

3.3 在配置文件中保存響應 58

3.4 本章小結 62

 

第4章 使用謂詞發送不同的響應 65

4.1 謂詞基礎 66

4.1.1 謂詞的類型 68

4.1.2 匹配對象請求字段 73

4.1.3 deepEquals謂詞 74

4.1.4 匹配多值字段 75

4.1.5 exists謂詞 77

4.1.6 連接點 78

4.1.7 謂詞類型的完整列表 79

4.2 參數化謂詞 80

4.3 在JSON值中使用謂詞 80

4.3.1 使用直接JSON謂詞 81

4.3.2 使用JSONPath選擇 JSON值 81

4.4 選擇XML值 83

4.5 本章小結 86

 

第5章 添加記錄/重放行為 87

5.1 設置代理 87

5.2 生成正確的謂詞 91

5.2.1 使用predicateGenerators創建謂詞 91

5.2.2 添加謂詞參數 93

5.3 為同一請求捕獲多個響應 96

5.4 重放代理的方法 100

5.5 配置代理 101

5.5.1 使用相互身份驗證 102

5.5.2 添加自定義標題 103

5.6 代理用例 104

5.6.1 使用代理作為回退 104

5.6.2 將HTTPS轉換為HTTP 106

5.7 本章小結 107

 

第6章 mountebank編程 109

6.1 創建自己的謂詞 110

6.2 創建自己的動態響應 115

6.2.1 添加狀態 116

6.2.2 添加異步 118

6.2.3 確定響應與謂詞注入之間的關係 127

6.3 注意:安全很重要 127

6.4 調試提示 128

6.5 本章小結 129

 

第7章 添加行為 131

7.1 理解行為 131

7.2 修飾一個響應 132

7.2.1 使用decorate函數 133

7.2.2 為保存的代理響應添加修飾 134

7.2.3 通過shellTransform添加中間件 137

7.3 為響應添加延遲 139

7.4 多次重複響應 140

7.5 替換響應中的內容 141

7.5.1 將請求數據複製到響應 141

7.5.2 從外部數據源查找數據 148

7.6 完整的行為列表 152

7.7 本章小結 152

 

第8章 協議 153

8.1 協議在mountebank中的工作方式 154

8.2 TCP入門 155

8.3 存根基於文本的TCP RPC 156

8.3.1 創建基本的TCPimposter 157

8.3.2 創建TCP代理 159

8.3.3 匹配和操作XML載荷 160

8.4 二進制支持 161

8.4.1 使用二進制模式進行Base64編碼 162

8.4.2 在二進制模式下使用謂詞 163

8.5 虛擬化.NET遠程服務 164

8.5.1 創建簡單的.NET Remoting客戶端 164

8.5.2 虛擬化.NET Remoting服務器 167

8.5.3 如何告訴mountebank消息結束的位置 171

8.6 本章小結 175

 

第Ⅲ部分 關 閉 循 環

 

第9章 微服務的安全 179

9.1 一個持續的交付刷新器 179

9.1.1 基於微服務的CD測試策略 181

9.1.2 將測試策略映射到部署管道 183

9.2 創建測試管道 184 

9.2.1 創建單元測試 186

9.2.2 創建服務測試 189

9.2.3 平衡服務虛擬化與合約測試 193

9.2.4 探索性測試 196

9.3 本章小結 198

 

第10章 mountebank性能測試 199

10.1 為什麼服務虛擬化支持性能測試 200

10.2 定義你的場景 202

10.3 捕獲測試數據 203

10.3.1 捕獲響應 204

10.3.2 捕捉實際延遲 206

10.3.3 模擬隨機的延遲波動 207

10.4 運行性能測試 207

10.5 擴展mountebank 210

10.6 本章小結 212