2009-11-09 216 views
23

我想使業務分析師能夠寫出他們的所有規格爲特徵,場景和步驟是黃瓜友好使用小黃瓜。如何學習/教小黃瓜黃瓜

我已經閱讀了一些關於黃瓜github網站的基本信息,並且做了一個快速的谷歌搜索,但想知道是否有推薦的資源讓非技術人員能夠使用小黃瓜編寫全面的BDD (我認爲這是創建Cucumber測試的首選語言)。

謝謝。

回答

29

我在我們公司的業務分析師所做的是給他們的關鍵詞教給他們的結構:鑑於然後的方案和作爲我想要的功能。

然後我給他們一個簡單的例子,告訴他們寫下自己的特色,因爲他們認爲他們應該被寫入。令人驚訝的是,這個結構是自我解釋的,他們寫的特徵成爲一個很好的開始。
唯一的大問題是他們在每個場景步驟中都包含了很多邏輯。我通過反覆詢問「爲什麼?」來解決這個問題。在大多數情況下,它們揭示了它們之後的核心功能,並且我們重新編寫了這些場景。

通過給他們的指引,讓他們寫出自己的特點他們得到了他們的手髒,被迫去思考他們寫了什麼。今天他們有了更好的理解和「爲什麼?」迭代不再那麼普遍。

當然,您需要讓業務分析師和開發人員緊密合作,分析師編寫的功能只應作爲開始。請記住,Cucumber功能只是分析師和開發人員之間的共同語言。他們仍然需要經常坐在一起才能夠彼此交談:)

6

剛剛在第一次使用黃瓜的敏捷項目上工作時,我認爲學習黃瓜和gerkin的最好方法就是讓自己的手變髒。

我可能是錯的,但我從你的問題,你是想培養你的BA寫gerkin那麼他們就會寫一堆的功能,並將它們交給開發商的印象。

這絕對不是要走的路。 BA的開發人員和用戶(如果可能的話)一起工作,編寫自己的場景並隨時隨地構建它們會更好。然後,你們都一起學習什麼可行,哪些不行。

我們試着讓BA寫完整個功能並交給他們。我們(開發商)最終不得不進行重大改寫,因爲實施結果與廣管局原先設想的不同。我們還必須更改步驟的語法,並通過整個文件進行查找和替換。

一次做一個場景,讓它工作,然後移動到下一個場景。迭代方法可以減少浪費的工作量,並確保您都瞭解應用程序的行爲方式。

在如何寫步驟方面,最好是先從附帶黃瓜和複製,當你在你的項目,以滿足您的特定應用工作,適應他們的人。沒有對錯,這是對你有用的。黃瓜網站上的文檔通常很好,並且隨着您瞭解更多,這將成爲寶貴的資源。

3

我們以類似的方式教授小黃瓜(SpecFlow),它是如何描述它的。

雖然我認爲觀衆熟悉「以規範爲例」的主要意圖,敏捷需求分析和BDD是非常重要的,所以我們通常先開始討論背景。我們還展示了一個小黃瓜場景,並說明非常基礎(如鑑於/時/然後/但是並表)。

比我們看一個簡單的示例故事(對每個人都很熟悉),比如「將商品添加到購物車」(當然有一些定位),並讓他們以小組形式制定驗收標準。

每個團隊顯示/後解釋他們的解決方案和我們討論了存在的好的和壞的做法。在第二隊之後,你可以看到幾乎所有最重要的(好的或壞的)練習出現。

我也輸入了結論的解決方案,並在此處顯示了描述場景(背景,場景大綱等)的替代方法。如果有足夠的時間,我還展示瞭如何自動&實現基於這樣的想象功能。這也有助於理解要遵循的一些重要規則,這使得自動化更容易。

雖然我從來不知道會發生什麼,但通常這個練習是我們BDD訓練的最佳部分。

0

我認爲最好的學習方法是開始寫作。黃瓜黃瓜&是簡單易學,但很難掌握,所以要儘快得到實際的例子是很重要的。

儘管通過編寫第一個場景開始很重要,但您還需要一些資源來建立良好的習慣並理解關鍵實踐。我寫了一本可以提供幫助的書。 「Writing Great Specifications」是,我希望,學習小黃瓜和黃瓜的好辦法。它涵蓋了模式和反模式以及編寫好場景的關鍵技術。:)如果您有任何問題,可以隨時打我的Twitter.

如果您有興趣購買「書寫大指標」,可以節省39%的用促銷代碼39nicieja2 :)

其他偉大的資源:

  • Gojko Adzic的「規範範例」如果您對軟件開發過程和高級工程實踐感興趣。
  • 「BDD在行動」由約翰智能,如果你不介意的Java讀取測試代碼。這是一個全面的終端到終端的視圖定義和測試的軟件需求。
  • 「行爲驅動開發」由Liz基奧如果自動化測試沒有按門鈴,但你要明白舉例規格如何影響你的業務分析流程。
  • 「黃瓜書:爲測試人員和開發行爲驅動開發」由馬特·懷恩和AslakHellesøy
  • 「RSpec的書:使用RSpec,黃瓜,和朋友們的行爲驅動開發」,由大衛赫利姆斯基,戴夫Astels,扎克 - 丹尼斯,AslakHellesøy,布萊恩Helmkamp,丹北
+0

非常全面,非常好的資源。 – Angela 2017-02-04 16:18:58