web-dev-qa-db-ja.com

キュウリのためにガーキンを学ぶ/教える方法

ビジネスアナリストが、Gherkinを使用して、キュウリに優しい機能、シナリオ、および手順のすべての仕様を記述できるようにしたいと思います。

キュウリのgithubサイトで基本的な情報をいくつか読んだり、Googleで簡単に検索したりしましたが、技術者以外の人がGherkinを使用して包括的なBDDを記述できるようにするための推奨リソースがあるかどうかを知りたいと思いました(作成するキュウリテストの優先言語)。

ありがとう。

24
Timothy T.

私が社内のビジネスアナリストと行ったことは、キーワードを与えて構造を教えることでした:与えられたいつその後、- およびシナリオの場合およびするためにaとしておよびしたい機能の場合。

それから私は彼らに簡単な例を挙げ、彼らが書くべきだと思ったので彼ら自身の特徴を書き留めるように彼らに言いました。驚くべきことに、構造は自明であり、彼らが書いた機能は素晴らしいスタートとなりました。
唯一の大きな問題は、各シナリオのステップで多くのロジックが含まれていたことでした。 「なぜ?」と繰り返し尋ねることでそれを解決しました。ほとんどの場合、彼らが求めていたコア機能が明らかになり、それに応じてシナリオを書き直しました。

彼らにガイドラインを与え、彼ら自身に機能を書かせることによって、彼らは手を汚し、彼らが書いたものについて考えることを余儀なくされました。今日、彼らははるかによく理解し、「なぜ?」反復はもはやそれほど一般的ではありません。

もちろん、ビジネスアナリストと開発者が緊密に連携する必要があり、アナリストが作成する機能は出発点としてのみ機能する必要があります。 Cucumberの機能は、アナリストと開発者の間の共通言語にすぎないことを忘れないでください。彼らはまだお互いに話すことができるように頻繁に一緒に座る必要があります:)

29
mrD

http://cukes.info は、人々にそれらの書き方を教えるための素晴らしいリソースです。 Ben Mabeyもキュウリについて素晴らしいプレゼンテーションを行いました Mountain West Ruby Conference2009。

9
Ryan Bigg

キュウリを使ったアジャイルプロジェクトに初めて取り組んだばかりですが、キュウリとガーキンを学ぶ最良の方法は手を汚すことだと思います。

私は間違っているかもしれませんが、あなたがガーキンを書くためにあなたのBAを訓練したいと思っているあなたの質問から印象を受けます。その後、彼らはたくさんの機能を書き、開発者に渡します。

これは間違いなく行く方法ではありません。 BAの開発者とユーザー(可能であれば)が協力してシナリオを作成し、進行中にそれらを構築することをお勧めします。次に、何が機能し、何が機能しないかを一緒に学びます。

BAに機能全体を書き込んで渡してもらいました。私たち(開発者)は、実装がBAによって当初想定されていたものとは異なる結果になったため、大幅な書き換えを行う必要がありました。また、ステップの構文を変更し、ファイル全体を検索して置き換える必要がありました。

一度に1つのシナリオを実行し、それを機能させてから、次のシナリオに進みます。反復的なアプローチにより、無駄な労力が軽減され、アプリの動作をすべての人が確実に理解できるようになります。

ステップの書き方に関しては、Cucumberに付属しているものから始めて、特定のアプリケーションに合うようにプロジェクトで作業するときにそれらをコピーして適応させるのが最善です。正しいことも悪いこともありません、それはあなたのために働くものです。キュウリのサイトのドキュメントは一般的に優れており、詳細を学ぶにつれて貴重なリソースになります。

8
JosephL

私たちは、mrDがそれをどのように説明したかと同様の方法で、Gherkin(SpecFlow用)を教えています。

ただし、聴衆が「例による仕様」の主な意図、アジャイル要件分析、およびBDDに精通していることは非常に重要だと思うので、通常は最初に背景について説明します。また、サンプルのGherkinシナリオを示し、非常に基本的なこと(Given/When/Then/Butやテーブルなど)について説明します。

「ショッピングカートにアイテムを追加する」(もちろん、ある程度の方向性を持って)のような簡単な例の話(誰もがよく知っている)を取り上げて、小グループで受け入れ基準を策定させます。

その後、すべてのチームがソリューションを示し/説明し、存在した良いプラクティスと悪いプラクティスについて話し合います。 2番目のチームの後、最も重要な(良いまたは悪い)プラクティスのほとんどすべてが表示されます。

また、結論としての解決策を入力し、シナリオを説明する別の方法(背景、シナリオの概要など)をここに示します。十分な時間があれば、それに基づいて想像された機能を自動化して実装する方法も示します。これは、従うべきいくつかの重要なルールを理解するのにも役立ち、自動化がはるかに簡単になります。

何が起こるかを前もって知ることはできませんが、通常、この演習はBDDトレーニングの最良の部分です。

3
Gaspar Nagy

学ぶための最良の方法は書き始めることだと思います。ピクルスとキュウリは習得は簡単ですが、習得するのは難しいため、できるだけ早く実用的な例を見つけることが重要です。

最初のシナリオを書くことから始めることは重要ですが、良い習慣を確立し、主要な実践を理解するためのリソースも必要です。私は助けになる本を書いた。 「優れた仕様を書く」 は、ガーキンとキュウリを学ぶ良い方法だと思います。パターンとアンチパターン、および優れたシナリオを作成するための重要なテクニックについて説明します。 :)質問があれば、いつでも私に連絡することができます Twitter。

「WritingGreatSpecifications」の購入に興味がある場合は、プロモーションコード39nicieja2で39%節約できます:)

その他の優れたリソース:

  • ソフトウェア開発プロセスと高レベルのエンジニアリング手法に興味がある場合は、GojkoAdzicによる「SpecificationbyExample」。
  • Javaでテストコードを読んでもかまわない場合は、JohnSmartによる「BDDinAction」。これは、ソフトウェア要件の定義とテストに関する包括的なエンドツーエンドのビューです。
  • 自動テストで問題が発生しない場合は、Liz Keoghによる「ビヘイビア駆動開発」ですが、例を含む仕様がビジネス分析プロセスにどのように影響するかを理解したいと考えています。
  • マット・ワインとアスラック・ヘレソイによる「キュウリの本:テスターと開発者のための行動主導型開発」
  • 「RSpecブック:RSpec、キュウリ、および友人による行動主導型開発」、David Chelimsky、Dave Astels、Zach Dennis、AslakHellesøy、Bryan Helmkamp、Dan North
1
thion

RSpecブックには、ビジネスアナリストに関連するいくつかの章があります。
http://pragprog.com/book/achbd/the-rspec-book

1
Rimian
0
Aravin