齊聲讚譽
《刻意探索》:一首十四行詩
推薦序1:Teddy Chen
推薦序2:Daniel Terhorst-North
譯者序:江玠峰
前言
致謝
關於本書
關於作者
關於譯者
關於封面插圖
Part 1:第一步
Chapter 01:建置能帶來改變的軟體
1.1 從50,000英尺高空俯看BDD
1.2 你想解決什麼問題?
1.3 BDD適合你的專案嗎?
1.4 你將在本書中學到什麼?
Chapter 02:初探行為驅動開發
2.1 BDD最初是為了讓TDD教學變得更容易而設計的
2.2 BDD也適用於需求分析
2.3 BDD的原則與實踐
2.4 BDD的好處
2.5 BDD的缺點與潛在挑戰
Chapter 03:行為驅動開發:旋風之旅
3.1 BDD流程
3.2 推測:辨識業務價值與功能
3.3 說明:透過範例探索功能
3.4 制定:從範例到可執行規格
3.5 自動化:從可執行規格到自動化測試
3.6 展示:測試作為動態文件
3.7 BDD降低維護成本
Part 2:我想要什麼?用BDD定義需求
Chapter 04:推測:從業務目標到優先功能
4.1 推測階段
4.2 描述業務願景與目標
4.3 影響映射
4.4 海盜畫布
Chapter 05:對功能進行描述與優先排序
5.1 BDD與產品待辦清單精煉
5.2 什麼是「功能」?
5.3 實際選擇:在必要之前,不要過早承諾
5.4 刻意探索
5.5 透過BDD進行版本發布與Sprint規劃
Chapter 06:用範例說明功能
6.1 「三人小組會議」與其他的需求探索工作坊?
6.2 透過範例來說明功能?
6.3 使用表格來描述更複雜的需求?
6.4 範例映射
6.5 功能映射
6.6 OOPSI
Chapter 07:從範例到可執行規格
7.1 將具體範例轉換成可執行場景
7.2 撰寫可執行場景
7.3 在場景中使用表格
7.4 使用功能檔案與標籤來組織場景
7.5 規則與範例
7.6 表達力強的場景:模式與反模式
7.7 那麼,所有的細節去哪了呢?
Part 3:要怎麼實作?用BDD寫程式碼
Chapter 08:從可執行規格到自動化驗收測試
8.1 自動化場景簡介
8.2 設定你的專案環境
8.3 執行Cucumber 場景
8.4 撰寫glue code
8.5 使用「背景」與「掛鉤」來進行設定與清除
8.6 使用掛鉤來準備測試環境
8.7 使用虛擬測試環境
Chapter 09:撰寫穩固的自動化驗收測試
9.1 撰寫產業級強度的驗收測試
9.2 使用「人物設定」與「已知實體」
9.3 抽象層次
Chapter 10:自動化使用者介面層的驗收標準
10.1 何時及如何測試UI?
10.2 UI測試在整體測試自動化策略中扮演什麼角色?
10.3 適合測試的Web應用程式
10.4 下一步
Chapter 11:UI層的測試自動化設計模式
11.1 未結構化測試腳本的限制
11.2 將定位邏輯與測試邏輯分離
11.3 介紹「頁面物件」模式
11.4 超越頁面物件的做法
Chapter 12:可擴充的測試自動化與「演員劇本模式」
12.1 什麼是「演員劇本模式」,為什麼我們需要它?
12.2 演員劇本的基礎概念
12.3 「演員」是什麼?
12.4 演員執行任務
12.5 「互動」用來建模演員如何與系統互動
12.6 「能力」是演員與系統互動的方式
12.7 撰寫我們自己的互動類別
12.8 「問題」讓演員可以查詢系統的狀態
12.9 「任務」用來建模較高層級的業務動作
12.10 「演員劇本」與Cucumber 的結合
Chapter 13:微服務和API的BDD與可執行規格
13.1 API與如何測試
13.2 使用網頁UI與微服務定義一個功能
13.3 為微服務自動化驗收測試
13.4 正在測試的微服務架構
13.5 自動化更細緻的場景以及與外部服務的互動
13.6 測試API本身,還是透過API進行測試
Chapter 14:既有系統的可執行規格,透過Serenity/JS實作
14.1 透過「旅程映射」探索未知領域
14.2 設計可擴充的測試自動化系統
14.3 在「規格層」中捕捉業務脈絡
Chapter 15:可攜式測試自動化,透過Serenity/JS實作
15.1 設計測試自動化系統的「領域層」
15.2 設計可攜式的整合層
Chapter 16:動態文件與釋出版本的證據
16.1 動態文件:高階視角
16.2 功能就緒度與功能涵蓋率報告
16.3 整合數位產品待辦清單
16.4 善用產品待辦清單工具以提升協作效率
16.5 組織動態文件
16.6 舊有應用程式的動態文件