BDDの焦点は会話であることに気付くのに役立つかもしれません。BDDは実際には、良い副産物として回帰テストを提供する分析ツールです。
会話のあらゆるレベルでシナリオを使用しました。さまざまな利害関係者を特定して、リリースが好評を博す可能性があるかどうかを確認することから、モジュールまたはクラスがどのように動作するかを決定することまで。
これを簡単にするために提案できるヒントとヒントがいくつかあります。
あなたがそれをやったことがないなら、それは変わるでしょう。
ドメインまたはビジネスにとって新しいものはすべて変更される可能性があります。シナリオを介して話し合い、それらに疑問を投げかけ、ビジネスが「わからない」と言うと、あなたはこの空間にいることに気付くでしょう。それは、BDDをやろうとするのをやめ、より迅速なフィードバックを得るために何かを急ぐことを止め、ビジネスが望むものを解決するのを助ける良い兆候です。アイデアが安定したら、振り返ってシナリオを作成できます。
すべてのプロジェクトには、新しい側面があります。そうでない場合は、そうしません。
以前にそれをやったことがあるなら、それは退屈です。
新しい差別化の側面だけでなく、プロジェクトには通常、すでに行われているものと同様のいくつかのコモディティ化された側面があります。たとえば、新しい携帯電話を製造している場合でも、電話をかける必要があります。「電話をかける」というのはよく知られているシナリオなので、話をする必要はありません。同様に、「ログイン」や「ユーザー登録」なども退屈です。
可能な限り、これらのライブラリを使用してください。そうすれば、それらの周りにシナリオを書く必要がなくなります。また、他のビットを最初に実行します-既にログインしているユーザーを持ち、彼が何のためにログインしているかを調べます。これらの領域が変更される可能性は低いため、とにかく手動テストを回避できる場合があります。
誰かが以前にそれをやったことがあるなら、シナリオを通して話すのが助けになります。
ドメイン固有の要件がある場所、誰かが比較的よく理解しているもの、および実際の不確実性がシステムの実際の動作ではなく、主に範囲内にある場所の間には少しの間があります。
シナリオを通して話すことは、開発チームが行動を発見し、専門家の知識を活用し、既知の貴重な行動を確実に獲得するのに役立ちます。
これは、BDDが最もうまく機能するビットです。私のヒントは、機能ファイル(または自動化していない場合はwiki)の一番上に最も興味深いシナリオを作成し、結果として重複または推測しやすいシナリオを削除することです。
可能な限り、アプリケーションの動作方法の例としてシナリオを使用してください。たとえば、検証がどのように機能するかを示したい場合は、アプリケーションがユーザーがフォームに入力するのをどのように支援するかの例をいくつか示します。ユニットテストを使用して、検証が厳密であることを確認します。ユニットテストは、メンテナンスがはるかに簡単で、実行も迅速です。
参考文献
あなたがこれに興味を持っているなら、ここに私が書いたいくつかの助けがあります。
大規模なBDD
開発者向けのCynefin。これらの3つの領域について詳しく説明します。
私のチュートリアルスライド、これはすべてあなたにとって素晴らしい注釈付きであり、スタック全体をカバーしています。