1

私のセットアップは次のとおりです。

  • MVVMパターンを使用したWPFクライアント書き込み
  • 単体テストのセット
  • SpecFlow シナリオのセット

SpecFlow シナリオを作成するとき、私は最初にステート マシン図を描いて、ユーザー インタラクションのすべての可能な順列と、ある状態から別の状態に移行するための要件を確認します。次に、考えられるすべてのシナリオのリストを作成します。

例えば:

  • ユーザーが [はい] を押す -> ドキュメントをアップロードする -> ドキュメントを削除する -> [送信] をクリックする
  • ユーザーは [はい] を押します -> ドキュメントをアップロードします -> 送信をクリックします
  • ユーザーが [はい] を押す -> [送信] をクリック

これにより、考えられるすべてのシナリオをテストし、見逃さないようにすることができます。ただし、これは面倒なプロセスであり、要件が変更されると非常に問題になります。

ステート マシンからシナリオを作成できるフレームワークがあるのではないかと思います。そのため、ステート マシンからステップを削除すると、自動的にシナリオが再作成されます。

4

2 に答える 2

7

通常、BDD シナリオ ツールは、開発チームとビジネス関係者の間の会話を可能にし、キャプチャし、自動化することを目的としています。あなたがしているのはテストです。

BDD ツールを使用するよりも、独自のツールを作成するか、BDD および SpecFlow タグではなく「テスト フレームワーク」で他の人の作業を探すことをお勧めします。

BDD は、徹底的なテストではうまく機能しません。代わりに、アプリケーションの動作を示すいくつかのシナリオで最適に機能します。これにより、開発者はビジネス上の問題を理解していることを確認し、コードがソリューションをサポートしていることを示すことができます。

これに BDD ツールを使用すると、作成したシナリオを維持するのが非常に難しいことに気付くでしょう。英語はコードと同じようにリファクタリングすることはできません。ステート マシンは、ユニット テスト (または下位レベルの BDD ツール -私は NUnit を使用するだけ) でより良いものになる可能性があります。

于 2012-10-25T15:49:54.133 に答える
1

ステート マシンからテスト ケースを生成することに本当に関心がある場合は、「モデル ベース テスト」ツールを検討することをお勧めします。

.NET の世界では、Spec Explorer を使用してそれを行うことができます: SpecExplorer 2010

于 2012-11-03T01:03:53.143 に答える