受け入れ基準とは、テストによってチェックされる内容を記述したものです。 ユーザーとして、図書館から本をチェックアウトしたい」というような要件を考えると、受け入れ基準は「本がチェックアウト済みとしてマークされていることを確認する」かもしれません。 この要件に対する受け入れテストは、テストを毎回同じ効果で実行できるように、詳細を提供します。
Test formatEdit
Acceptance Testは通常この形式をとります。
Given (setup)
システムの指定された状態
When (trigger)
あるアクションまたはイベントが発生したとき
Then (verification)
システムの状態が変化したか出力されたか
また、以下のセクションのいずれかに AND で始まるステートメント (Given, When, Then)を追加することが可能である。
要件例では、次のようなステップが考えられます:
Given Book that has not been checked outAnd User who is registered on the systemWhen User checks out a bookThen Book is marked as checked out
Complete testEdit
前のステップには特定の例データがないので、テストを完了するためにそれを追加します:
Given:
チェックアウトされていない本
Books | ||
---|---|---|
タイトル | チェックアウト済み | |
素晴らしい本 | Great book | No |
システムに登録しているユーザー
Users | |
---|---|
Name | Sam |
When:
ユーザーが本をチェックアウト
Checkout action | |||
---|---|---|---|
User | Sam | Checks out | Great book |
次に、以下を実行します。
Book is marked as checked out
Books | ||
---|---|---|
Title | Checked out | User |
Great(素晴らしい) | Yes | Sam |
Test examinationEdit
特定のデータによるテストの検討は、通常多くの疑問が生じるものです。 サンプルの場合、これらは次のようになります:
- 本がすでにチェックアウトされている場合はどうなりますか?
- 本が存在しない場合はどうなりますか?
- 本がチェックインされる日付はありますか。
- ユーザーは何冊の本をチェックアウトできますか。
これらの質問は、不足しているかあいまいな要件を明確にするために役立ちます。 期限などの詳細を期待される結果に追加することができます。
別のテスト例編集
ビジネス顧客が、ユーザーが一度にチェックアウトできるのは1冊の本だけというビジネスルールを望んでいたとします。 次のテストはそれを実証します。
Scenario:Check that checkout business rules is enforced
Given:
チェックアウトされた本
Books | ||
---|---|---|
Title | Checked out | User |
Great book | Yes | Sam |
Another great book | No |
Name
Sam
When:
User checks out another book
Checkout action | |||
---|---|---|---|
User | Sam | Checks out | Another great book |
Then:
Error occurred
Description
Violation of checkout business rules
Project acceptance testsEdit
要件に対する受け入れテストに加えて、プロジェクト全体に対して受け入れテストが使用可能である。 たとえば、この要件が図書館の書籍チェックアウト プロジェクトの一部である場合、プロジェクト全体の受け入れテストを行うことができます。 これらは、しばしばSMART目標と呼ばれる。 テストの例としては、「新しい図書館システムが本番稼動したら、利用者は現在の3倍の速さで本の貸し借りができるようになる」
というものである。