Cucumber:行為驅動開發指南

Cucumber:行為驅動開發指南 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[英]Matt Wynne
出品人:
頁數:272
译者:許曉斌
出版時間:2013-6-27
價格:59
裝幀:平裝
isbn號碼:9787115318855
叢書系列:
圖書標籤:
  • BDD
  • 測試
  • Cucumber
  • 軟件工程
  • Ruby
  • TDD
  • 編程
  • ATDD
  • Cucumber
  • BDD
  • 行為驅動開發
  • 測試
  • 自動化測試
  • 軟件測試
  • 敏捷開發
  • Java
  • Ruby
  • 測試框架
想要找書就要到 圖書目錄大全
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《cucumber:行為驅動開發指南》的兩位作者是matt wynne和aslak helles?y,前者是cucumber最有經驗的用戶和貢獻者之一,後者是cucumber的創始人,因此,《cucumber:行為驅動開發指南》是一本權威指南,它會提供使用cucumber所需的全部知識,讓你和你的團隊自信地開啓cucumber之旅。盡管cucumber誕生於ruby社區,但你可以用它測試幾乎所有係統,從簡單的shell或perl腳本,到使用php、java或任何其他平颱編寫的web應用。

書中將展示如何用一組清晰、可執行且團隊中任何人都能讀懂的規格說明來錶達用戶那些天馬行空的想法。你將學會如何將這些示例提供給cucumber,並讓它指導你的開發過程。《cucumber:行為驅動開發指南》的第一部分會提供cucumber入門所需的全部知識,引導你從cucumber的核心特性起步,通過cucumber的gherkin dsl,使用自然語言來描述客戶想要的係統行為,然後帶你編寫ruby代碼來解釋這些自然語言描述的規格說明並據此來驗證應用的行為。第二部分將通過一個可以工作的例子來鞏固學到的知識,同時學習一些更高級的cucumber技術,還將學習如何測試異步係統和使用數據庫的係統。第三部分提供瞭一些解決問題的方法,針對的都是作者曾幫助其他團隊解決過的最睏難、最常見的問題。基於這些模式和技術,你將學習如何使用capybara和selenium測試大量使用ajax的web應用,測試rest web服務、ruby on rails應用、命令行應用、遺留程序等。

cucumber有助於在軟件團隊中的技術人員和非技術人員之間架起溝通的橋梁。《cucumber:行為驅動開發指南》的內容既適閤開發人員和測試人員閱讀,也適閤軟件團隊中的非技術讀者閱讀。

作者簡介

matt wynne,獨立谘詢顧問,他幫助各種各樣的團隊學習如何盡其所能交付軟件,並同時享受這一過程。業餘時間他是cucumber項目的核心開發者,matt的博客是mattwynne.net,推特是@mattwynne。

aslak helles,y cucumber項目的創始人,倫敦drw交易集團(drw trading group)倫敦公司的一名高級開發工程師,他使用多種不同的語言編寫快速、智能的軟件。在此之前,他是挪威bekk谘詢公司的首席科學傢。aslak的推特是@aslak_hellesoy。

譯者介紹

許曉斌 程序員,敏捷教練,技術作者,持續集成方麵的專傢。曾任職於sonatype,是開源軟件nexus的核心團隊成員,maven中央倉庫的主要維護者。著有《maven實戰》,譯有《maven權威指南》,有不少文章發錶於infoq、《程序員》等技術雜誌,活躍於敏捷社區並在agile tour等scrumgathering等會議上發錶過演講。新浪微博@juvenxu,博客http://www.juvenxu.com/。

王江平 就職於autodesk軟件上海分公司。熱愛編程,熱愛修bug,熱愛讀書,熱愛交友,熱愛唱歌,熱愛看戲,熱愛騎單車……熱愛everything卻無一精通的專業程序員一名。也熱愛人肉翻譯,參與、主導或獨立完成過《代碼之美》、《c#3.0設計模式》、《敏捷開發的藝術》、《軟件開發者路綫圖》、《java語言精粹》、《python計算與編程實踐》等書的翻譯。新浪微博@steedhorse。

目錄資訊

第一部分 cucumber基礎 1
第1章 為何使用cucumber 3
1.1 自動化驗收測試 3
1.2 行為驅動開發 4
1.2.1 通用語言 4
1.2.2 實例 5
1.3 活的文檔 6
事實來源 6
1.4 cucumber如何工作 6
1.5 我們學到瞭什麼 7
第2章 cucumber初體驗 9
2.1 理解我們的目標 9
2.2 創建一個特性 10
2.3 創建步驟定義 12
2.4 實現第一個步驟定義 13
2.5 運行程序 14
2.6 改變格式器 15
2.7 添加一個斷言 16
2.8 讓測試通過 18
.2.9 我們學到瞭什麼 20
2.9.1 目錄結構 20
2.9.2 小步前進 21
2.9.3 gherkin 21
2.9.4 步驟定義 21
第3章 gherkin基礎 22
3.1 gherkins是乾什麼的 22
3.1.1 具體實例 22
3.1.2 可執行的規格說明 23
3.2 格式和語法 24
3.2.1 關鍵字 25
3.2.2 模擬運行 25
3.3 feature 25
3.4 場景 26
3.4.1 given、when和then 27
3.4.2 and和but 27
3.4.3 使用星號替換given、when和then 28
3.4.4 無狀態 28
3.4.5 名稱和描述 29
3.5 注釋 29
3.6 語言 30
3.7 我們學到瞭什麼 31
第4章 步驟定義:外在篇 34
4.1 步驟和步驟定義 35
4.1.1 匹配步驟 35
4.1.2 創建步驟定義 36
4.1.3 given、when和then是相同的 37
4.1.4 使用本國語言 38
4.2 捕獲參數 39
4.2.1 捕獲組 39
4.2.2 多選分支 39
4.2.3 點號 40
4.2.4 星號修飾符 40
4.2.5 字符組 41
4.2.6 字符組簡記法 41
4.2.7 加號修飾符 42
4.3 多重捕獲 42
4.4 靈活性 43
4.4.1 問號修飾符 44
4.4.2 非捕獲組 44
4.4.3 錨點 45
4.5 返迴結果 45
4.5.1 未定義的步驟 46
4.5.2 待定的步驟 48
4.5.3 失敗的步驟 49
4.6 我們學到瞭什麼 50
第5章 富有錶現力的場景 53
5.1 背景 53
5.2 數據錶 56
5.2.1 在步驟定義中處理數據錶 57
5.2.2 將數據錶轉換成數組 58
5.2.3 使用diff!比較數據錶 59
5.3 場景輪廓 60
5.3.1 更大的占位符 62
5.3.2 多個實例錶 63
5.3.3 解釋自己 64
5.4 嵌套步驟 65
5.4.1 嵌套步驟重構 66
5.4.2 參數和嵌套步驟 67
5.4.3 嵌套步驟的危險 67
5.5 文檔字符串 68
5.6 使用標簽和子文件夾保持條理性 69
5.6.1 子文件夾 69
5.6.2 運行子文件夾中的特性 70
5.6.3 標簽 70
5.7 我們學到瞭什麼 72
第6章 cucumber常見問題及解決之道 73
6.1 感受痛苦 73
6.1.1 閃爍的場景 74
6.1.2 脆弱的特性 74
6.1.3 緩慢的特性 75
6.1.4 厭倦的利益相關人 76
6.2 同心協力 76
6.2.1 偶然細節 77
6.2.2 命令式步驟 78
6.2.3 重復 80
6.2.4 語言不通用 82
6.2.5 閉門造車式的特性 82
6.3 照管好你的測試 84
6.3.1 滲露的場景 84
6.3.2 競爭條件和打瞌睡的步驟 85
6.3.3 共享的環境 86
6.3.4 被隔離的測試人員 87
6.3.5 固件數據 87
6.3.6 大量場景 89
6.3.7 大泥球 90
6.4 停掉生産綫和缺陷預防 90
6.5 我們學到瞭什麼 92
第二部分 可以工作的示例 95
第7章 步驟定義:內在篇 97
7.1 勾勒齣領域模型 98
7.1.1 準確用詞 99
7.1.2 實話實說 100
7.1.3 做最簡單的事情 101
7.2 使用變形器消除重復 102
7.3 為world添加自定義輔助方法 105
7.3.1 在world中存儲狀態 107
7.3.2 創建自定義輔助方法 107
7.3.3 自定義world 108
7.3.4 設計抵達終點綫的方法 109
7.4 組織代碼 113
7.4.1 隔離應用程序代碼 113
7.4.2 啓動cucumber環境 113
7.4.3 變形器和world模塊 114
7.4.4 組織步驟定義 114
7.4.5 模擬運行和env.rb 114
7.5 我們學到瞭什麼 115
第8章 支持代碼 117
8.1 修復bug 117
檢查和重構 121
8.2 開啓用戶界麵 123
安裝gem 125
8.3 做齣轉換 126
設計用戶界麵 128
8.4 使用鈎子 129
8.4.1 打標簽的鈎子 130
8.4.2 觀察場景 131
8.4.3 around鈎子 131
8.4.4 在其他時間運行的鈎子 132
8.5 構建用戶界麵 133
提供現金 134
8.6 我們學到瞭什麼 136
第9章 處理消息隊列和異步組件 139
9.1 我們全新的異步架構 139
9.2 如何同步 140
9.2.1 通過監聽同步 141
9.2.2 通過取樣同步 141
9.3 實現新架構 142
9.3.1 驅動齣接口 142
9.3.2 構建交易隊列 143
9.3.3 構建balancestore 144
9.3.4 添加鈎子以重置狀態 145
9.3.5 構建transaction processor 145
9.4 修復閃爍的場景 146
9.4.1 安裝及配置service manager 146
9.4.2 調查閃爍 148
9.4.3 使用取樣修復閃爍 150
9.4.4 測試什麼都沒有發生 152
9.5 我們學到瞭什麼 152
第10章 數據庫 154
10.1 activerecord介紹 154
使用遷移管理模式變更 155
10.2 重構至使用數據庫 156
10.3 讀取及寫入數據庫 159
10.4 用事務清理數據庫 162
10.5 使用截斷清理數據庫 166
10.6 我們學到瞭什麼 167
第三部分 應用cucumber 169
第11章 cucumber命令行界麵 171
11.1 cucumber命令行選項 171
11.2 運行一個場景子集 172
11.2.1 使用標簽錶達式過濾 172
11.2.2 基於行號過濾 173
11.2.3 基於名稱過濾 174
11.3 改變cucumber的輸齣 174
11.3.1 特殊的格式器 174
11.3.2 格式化至文件及使用多種格式器 175
11.3.3 顯示完整迴溯 175
11.4 指定步驟定義的位置 175
11.5 管理進行中的工作 177
11.6 使用profile 177
11.7 從rake運行cucumber 178
11.8 在持續集成中運行cucumber 178
11.8.1 嚴格要求 178
11.8.2 共享報告 179
11.9 我們學到瞭什麼 179
第12章 測試rest web服務 181
12.1 進程內測試基於rack的rest api 182
12.1.1 建立應用的骨架——然後存儲一些水果 183
12.1.2 使用rack-test測一測我們的應用 185
12.1.3 比較json 187
12.2 進程外測試任意rest api 192
12.3 我們學到瞭什麼 198
第13章 為遺留應用添加測試 199
13.1 特性描述測試 200
13.2 消滅bug 202
13.3 添加新的行為 202
13.4 代碼覆蓋率 204
13.5 我們學到瞭什麼 204
第14章 引導rails 206
14.1 運行生成器 207
14.2 創建用戶 208
14.3 發布消息 212
14.4 關聯消息與用戶 215
14.5 手工創建控製器 217
14.6 實現視圖 218
14.7 我們學到瞭什麼 219
第15章 使用capybara測試ajax web應用 221
15.1 實現不用ajax的簡單搜索 223
15.1.1 準備內容以供搜索 223
15.1.2 導航、填寫輸入域和點擊按鈕 224
15.1.3 修復控製器代碼 225
15.1.4 讓capybara做點事情 226
15.1.5 驗證頁麵內容 228
15.1.6 從頁麵中提取數據 228
15.1.7 使用錶格比較 230
15.2 基於ajax的搜索 232
15.2.1 使用selenium 233
15.2.2 活動搜索的設計 236
15.2.3 讓web應用返迴json 238
15.2.4 處理ajax的異步特性 240
15.3 capybara api 242
15.3.1 導航 242
15.3.2 鏈接與按鈕點擊 242
15.3.3 錶單交互 242
15.3.4 查詢 243
15.3.5 查找 243
15.3.6 範圍限定 244
15.4 抓取屏幕截圖 244
15.5 我們學到瞭什麼 245
第16章 使用aruba測試命令行應用 247
16.1 簡單界麵 247
16.2 我們的第一個aruba特性 248
16.2.1 流和退齣狀態 249
16.2.2 安裝aruba 250
16.2.3 考察aruba的步驟定義 251
16.3 使用文件與可執行程序 252
16.3.1 使用@announce查看aruba見到的內容 255
16.3.2 隔離場景 256
16.3.3 告知aruba勿刪文件 256
16.3.4 設置aruba的工作目錄 257
16.3.5 設置$path 258
16.4 與用戶輸入交互 259
16.5 使用aruba的ruby dsl 262
16.6 我們學到瞭什麼 263
附錄a 在其他平颱上使用cucumber 264
附錄b 安裝cucumber 266
b.1 安裝ruby 266
b.1.1 os x和linux 266
b.1.2 windows 267
b.2 http代理設置 267
b.3 安裝bundler 267
b.4 安裝cucumber(及rspec) 268
b.5 安裝其他gem 268
b.6 選擇一款文本編輯器 268
附錄c ruby gem版本 269
附錄d 參考文獻 271
· · · · · · (收起)

讀後感

評分

这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D 由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。 本书分为3部分: 1. 基础 2. 进阶 3. 应用 在第一部分,基础篇中,...  

評分

这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D 由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。 本书分为3部分: 1. 基础 2. 进阶 3. 应用 在第一部分,基础篇中,...  

評分

这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D 由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。 本书分为3部分: 1. 基础 2. 进阶 3. 应用 在第一部分,基础篇中,...  

評分

这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D 由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。 本书分为3部分: 1. 基础 2. 进阶 3. 应用 在第一部分,基础篇中,...  

評分

这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D 由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。 本书分为3部分: 1. 基础 2. 进阶 3. 应用 在第一部分,基础篇中,...  

用戶評價

评分

用的ruby,隻看瞭前麵一點,對cucumber介紹的還不錯

评分

享受工具……

评分

BDD入門學習的推薦讀物.

评分

書的內容很不錯,翻譯的也好。書中有很多作者在BDD中的實踐經驗,真知灼見。

评分

書本身寫得不錯。37signals測試七忌裏那句話應該改成Don’t use Cucumber unless you live in the magic kingdom of what-stakeholders-said-worth-parsing

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 qciss.net All Rights Reserved. 小哈圖書下載中心 版权所有