1

受け入れテストを学び始めており、SpecFlowを使用してASP.NETMVCアプリをテストしたいと考えています。現在、CRUDシナリオのテストを作成しています
が、これは完全に初心者向けの質問ですが、SpecFlowシナリオですべてのエッジケースをテストするのは実用的ですか?記入するフォームがあります。約15個のフィールドがあります。たとえば、「フィールドAが有効で、フィールドBが無効な場合、この検証メッセージが画面に表示されるはずです」とテストする必要がありますか?または、「フォームが正しく入力されていれば、「タスクが追加されました」というメッセージが表示されるはずです」と書くだけで十分ですか?この場合、モデル検証を個別に単体テストする必要がありますか?よろしくお願いします

4

1 に答える 1

3

私は、単体テストよりもシナリオや受け入れテストでより高いレベルの動作を探す傾向があります。特に、ユーザーやその他の利害関係者にとって価値のある行動を探しています。

この場合、高レベルの動作は、「ユーザーはフォームへの入力方法に関するフィードバックを受け取る」と表現される場合があります。次に、ユーザーがそのフィードバックを取得する方法の1つまたは2つの例を使用して、検証メッセージが表示されることを確認できます。

次に、単体テストで特定のメッセージの周りにロジックを配置できます。

特にBDDシナリオを使用している場合、受け入れテストは実際にはテストではありません。これらは、システムの使用方法の例であり、これらの例を使用してビジネスの利害関係者との会話を促進できます。私は、ビジネスの利害関係者が関心を持っているのと同じ粒度と用語でそれらを表現する傾向があります。BDDはそうではありません。手動テストの代わりになりますが、それは確かに負担を軽減するのに役立ちます。

于 2012-01-20T12:57:30.800 に答える