閱讀256 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Cucumber:行為驅動開發指南》——導讀


screenshot


前言

Cucumber是一種非常友好的工具。它希望成為團隊的一部分,且不介意做一個吹毛求疵的討厭鬼。每個小組都需要這麼一個角色,來記住關於係統能處理什麼和不能處理什麼的各種細節。

更為出色的是Cucumber會無償做那些重複檢查,以確保係統的運行符合預期。它可以把測試人員解放出來去做有意思、有創意的東西,並且給程序員必要時對代碼做大手術的勇氣。業務幹係人對Cucumber這種開放的態度十分讚賞。Cucumber可以用他們能夠理解的術語分享開發團隊所做的一切。

Cucumber是一種新興工具,但人們已對它有了些許誤會。那些早期就開始接觸Cucumber的人已經本能地意識到,Cucumber不僅是一種測試工具,更是一種協作工具。通過本書,我們希望自己不僅能為你展示怎樣使用Cucumber,還能教會你如何更有效地利用Cucumber。
Ruby是一種開源編程語言,可以在絕大多數操作係統上安裝和運行。Cucumber最早的版本就是用Ruby寫的,到今天它也是最流行的版本,本書正是關於這個版本的。

這並不是說被測係統必須用Ruby來寫。Ruby的諸多優點之一是與其他語言和平台的完美交互。我們會向你展示如何利用Ruby工具來測試可用任何語言編寫的基於Web的係統。
從一個失敗的Cucumber測試開始,然後通過這種失敗來驅動應用代碼的開發工作,作為一種由外向內的開發方法的一部分,我們已經用Cucumber取得了極大的成功。作為開發人員,這種工作方式能讓我們實事求是,一步一個腳印,避免我們想當然地開發將來也許有需求但當前沒有需求的功能。

Cucumber可以完善我們的工作方式,但它並不強製。一些團隊利用Cucumber自動測試開發人員已經完成的工作。這是采用由外向內方法的第一步,因為Cucumber可讀的測試已經吸引了團隊中非技術幹係人的視線並逐步使他們參與進來。即使用Cucumber編寫針對已有代碼的測試,你從Cucumber中的獲得的好處仍然遠遠超出同類軟件,比如QTP和Selenium IDE。我們相信本書會使你收獲很多。我們並不是鼓吹這個過程,而是想和你分享關於哪些方法對我們行之有效以及為什麼有效的一些感悟。

目錄

第一部分 Cucumber基礎
第1章 為何使用Cucumber
1.1 自動化驗收測試

1.2 行為驅動開發
1.2.1 通用語言
1.2.2 實例
1.3 活的文檔
1.4 Cucumber如何工作
1.5 我們學到了什麼
第2章 Cucumber初體驗
2.1 理解我們的目標

2.2 創建一個特性
2.3 創建步驟定義
2.4 實現第一個步驟定義
2.5 運行程序
2.6 改變格式器
2.7 添加一個斷言
2.8 讓測試通過
2.9 我們學到了什麼
2.9.1 目錄結構
2.9.2 小步前進
2.9.3 Gherkin
2.9.4 步驟定義
第6章 Cucumber常見問題及解決之道
6.1 感受痛苦

6.1.1 閃爍的場景
6.1.2 脆弱的特性
6.1.3 緩慢的特性
6.1.4 厭倦的利益相關人
6.2 同心協力
6.2.1 偶然細節
6.2.2 命令式步驟
6.2.3 重複
6.2.4 語言不通用
6.2.5 閉門造車式的特性
6.3 照管好你的測試
6.3.1 滲露的場景
6.3.2 競爭條件和打瞌睡的步驟
6.3.3 共享的環境
6.3.4 被隔離的測試人員
6.3.5 固件數據
6.3.6 大量場景
6.3.7 大泥球
6.4 停掉生產線和缺陷預防
6.5 我們學到了什麼

最後更新:2017-06-06 07:33:05

  上一篇:go  程序員專屬健身操,大家一起動次打次浪起來!
  下一篇:go  《JavaScript開發框架權威指南》——2.6 創建Grunt插件