4

受け入れテストを構築する方法について、2 つの異なるアプローチを検討しています。サービスレイヤーを呼び出すSilverlightプロジェクトがあります(私は両方を所有しています)。Silverlight の仕様上、Silverlight アセンブリを呼び出すテスト コードは、Silverlight 以外の残りのテストとは別のテスト プロジェクトに配置する必要があります。

1) 思いついたすべての受け入れ基準を取得し、機能ファイルに入れます。シナリオにタグを付けて、シナリオが実行される環境を指定します (@server、@client など)。機能ファイルにも手動テストを含め、@manual タグでラベルを付けます。

長所: BA が作成したすべてのテストを 1 か所にまとめて表示し、場合によっては編集できるようにします。

短所: 一部のシナリオを単体テストまたは統合テストでテストする方が理にかなっている可能性があり、NUnit は SpecFlow よりも優れたツールである可能性があります。

2) すべての受け入れ基準を記述しますが、一部を SpecFlow で自動化し、一部を単体テストで、一部を統合テストで自動化します。SpecFlow で自動化されたシナリオのみが SpecFlow に含まれます。単体テスト、統合テスト、または手動テストを行うシナリオをフィーチャー ファイルに入れることはできますが、これらのシナリオは実際にはコードを実行するものではなく、ドキュメント化の目的でのみ存在します。

長所: 開発者の摩擦とオーバーヘッドが少なくなります。各テストに最適なツールを使用して、さまざまなテストを自動化します。

短所: SpecFlow によって実行されないシナリオを、シナリオを自動化するコードと同期させておく必要があります。

考え?私が考えていない別の方法はありますか?どのようにしますか?

4

2 に答える 2

0

テストの観点から、ここには 2 つの異なるプロジェクトがあると思います。

理論的には、Silverlight アプリ以外からサービスを呼び出すこともできます。それは、HTML5 アプリ、Java で記述された他の MVC コンテナーなどである可能性があります。そのため、サービスのシナリオ/仕様/サービスを独自に作成します。

同様に、モック アウトされたサービス レイヤーと対話できる Silverlight アプリがあります。これは NUnit などになります。次に、SpecFlow/Cucumber で、アプリ全体がユーザーに対してどのように動作するかを示す「統合」テストである追加の受け入れテストを行います。

于 2011-11-14T13:18:17.550 に答える
0

この種の質問は、特定の技術的な質問ではなく概念的な議論であるため、プログラマー サイトに投稿したほうがうまくいくかもしれません。

于 2011-12-30T16:17:56.003 に答える