SpecFlowの例を見ていますが、MVCサンプルにはテスト用のいくつかの選択肢が含まれています。
- コントローラによって生成された検証結果に基づく受け入れテスト。
- MvcIntegrationTestFrameworkを使用した統合テスト。
- Seleniumを使用した自動受け入れテスト。
- テスターが結果を手動で検証するように求められた場合の手動受け入れテスト。
私はSpecFlowの例がどれほどうまく書かれているかに非常に感銘を受けていると言わなければなりません(そしてダウンロード後数分以内にそれらを実行することができ、データベースを構成してSelenium Remote Controlサーバーをインストールする必要がありました)。テストの代替案を見ると、それらのほとんどが代替案ではなく、互いに補完し合っていることがわかります。これらのテストの次の組み合わせを考えることができます。
- コントローラは、SpecFlowを使用するのではなく、TDDスタイルでテストされます(Given / When / Thenタイプのテストは、より高いエンドツーエンドレベルで適用する必要があります。それぞれのコンポーネントに適切なコードカバレッジを提供する必要があります。
- MvcIntegrationTestFrameworkは、開発セッション中に統合テストを実行するときに役立ちます。これらのテストもデイリービルドの一部です。
- Seleniumベースのテストは自動化されていますが、速度が遅く、主にQAセッション中に開始され、ページやサイトのワークフローに壊れたロジックがないことをすばやく検証します。
- テスターが結果の妥当性を確認するように求められたときの手動受け入れテストは、主にページのルックアンドフィールを確認することです。
Web開発でSpecFlow、Cucumber、またはその他のBDD受け入れテストフレームワークを使用している場合、さまざまなテストタイプからの選択に関する実践を共有してください。
前もって感謝します。