利害関係者の要件を明確にすることは、高レベルの目標です。 ACの目的をより明確にするために、それらを分解しましょう。
機能スコープのデタライゼーション。 ACユーザーストーリーの境界を定義します。 提供されてい精度の詳細は機能するのかを理解すること”シリーズ-ドレスローザ編に完成作品として期待される。
否定的なシナリオを記述する。 R&bっぽACする必要があるかもしれなシステムが認識し、安全でないパスワードを入力するためのユーザーから進めます。, 無効なパスワード形式は、ユーザーが無効な入力を行ったり、予期せず動作したりするいわゆる負のシナリオの例です。 ACこれらのシナリオを定義し、システムがそれらにどのように反応する必要
通信を設定します。 合格基準は、クライアントと開発チームのビジョンを同期させます。 開発者は、機能がどのような動作を示さなければならないかを正確に知り、利害関係者とクライアントは機能から何が期待されるかを理解します。
受け入れテストの合理化。, ACは、ユーザーストーリー受け入れテストの基礎です。 各受入基準は独立してテスト可能でなければならないため、明確な合否シナリオが必要です。 また、自動テストによるストーリーの検証にも使用できます。
特徴推定。 受入れ基準を指定すようにする必要が開発した。 チームが正確な要件を持っていれば、ユーザーストーリーを正しく推定できるタスクに分割できます。
受け入れ基準タイプと構造
ACは異なる形式で書くことができます。,
- シナリオ指向(Given/When/Then)
- ルール指向(checklist)
- カスタムフォーマット
最初と二番目のフォーマットは非常に特定の構造を持っているので、主にそれらに焦点を当てます。 ただし、他のフォーマットが製品に適していることがわかる場合がありますので、簡単に触れてみましょう。
シナリオ指向の受け入れ基準
ACを書くシナリオ指向のフォーマットは、Given/When/Then(GWT)タイプとして知られています。,
- いくつかの前提条件を考えると
- 私はいくつかのアクションを行うとき
- その後、私はいくつかの結果を期待します
このアプローチは、ビヘイビア駆動開発(BDD)から継承され、テスターが特定の機能のテストを開始および終了するタイミングを定義するのに役立つ一貫性のある構造を提供します。 また、システムの動作が事前に記述されているため、テストケースを書くのに費やされる時間も短縮されます。,
この形式で記述された各受け入れ基準には、次のステートメントがあります。
- シナリオ—説明される動作の名前
- 与えられた—シナリオの開始状態
- When—ユーザーが行う特定のアクション
- Then—”When”におけるアクションの結果
これらのステートメントを組み合わせると、ユーザーが行うすべてのアクションがカバーされます。
これらのステートメントを組み合わせると、ユーザーが行うすべてのアクションがカバーされます。タスクを完了し、結果を体験するためにかかります。
いくつかの例を見てみましょう。,
例1
ユーザーストーリー:ユーザーとして、パスワードを忘れた場合に自分のアカウントにアクセスできるように、自分のアカウントにパスワードを回復できるように,ユーザーが電子メールで受信したリンクをナビゲートした場合
その後、システムはユーザーが新しいパスワードを設定できるようにします
例2
ユーザーストーリー:ユーザーとして、atmのアカウントから現金を要求できるようにして、アカウントから迅速かつ異なる場所でお金を受け取ることができます。,受け入れ基準2:
与えられた:口座が当座貸越されていること
および:カードが有効であること
とき:顧客が現金を要求する
その後:口座が引き落とされていること
その後:口座が引き落とされていること
その後:口座が引き落とされていること
その後:口座が引き落とされていること
その後:現金が引き落とされていること
then:拒否メッセージが表示されるようにする
および:現金が分配されないようにする
ルール指向の受け入れ基準形式
場合によっては、受け入れ基準を与えられた/When/then構造に適合させることが困難な場合があります。, たとえば、GWTは次の場合にはほとんど役に立たないでしょう。
- 他の品質保証の方法を必要とするシステムレベルの機能を記述したユーザーストーリー
- 受け入れ基準のターゲットオーディエンスには、テストシナリオの正確な詳細は必要ありません。
- GWTのシナリオは、機能の設計とユーザーエクスペリエンスの制約を記述するのには適していません。 開発者は、重要な詳細の数を見逃すことがあります。
これらのケースには、ルール指向のACフォーマットで対処できます。,
ルール指向の形式は、システムの動作を記述する一連のルールがあることを伴います。 これらのルールに基づき、特定のシナリオを描画できます。
通常、このフォームを使用して構成される基準は、単純な箇条書きリストのように見えます。 例を見てみましょう。
例
ユーザーストーリー:ユーザーとして、検索フィールドを使用して都市、名前、または通りを入力し、一致するホテルオプションを見つけることができます。,
基本的な検索インターフェイスの受け入れ基準
- 検索フィールドはトップバーに配置されます
- ユーザーが”検索”をクリックすると検索が開始されます
- フィールドには、グレー色のテキストを含むプレースホルダが含まれています:”どこに行くのですか?”
- ユーザーが入力を開始するとプレースホルダーが消えます
- ユーザーが都市、ホテル名、通り、またはすべてを組み合わせて入力すると検索が実行されます
- 検索は英語、フランス語、ドイツ語、ウクライナ語です
- ユーザーは200個を超える記号を入力できません
- 検索は特殊記号(文字)をサポートしていません。, ユーザーが特殊記号を入力した場合は、”検索入力に特殊記号を含めることはできません。”
その他のフォーマット
ほとんどのユーザーストーリーは、上記の二つのフォーマットでカバーできます。 しかし、あなたは彼らが彼らの目的を果たす与えられた独自の合格基準を発明することができ、平易な英語で明確に書かれており、誤解することはで 一部のチームも使用します。
場合によっては、条件がシステム動作の例として指定されることがあります。