5

自動化されたテストツールを利用することを検討しています(投票すると、優れたツールがトップに表示されます)

理想的なツールは次のとおりです。

  • メソッドに値のセットを提示する必要がなくなります。
  • すべてのコードパスを実行するために必要な値を決定するためにコードが検査されるInteractiveExploratoryTestingなどの手法を採用します。つまり、メソッドの単体テストは、コードの複雑さによって決まります。

たとえば、メソッドが整数引数が123であることを確認する場合、少なくとも2つの単体テストが生成されます。1つはその引数が123であり、もう1つはそうではありません。

Javaの場合、私の理解では、これらはいくつかのオプションですが、.NETではありません。

  • TestGen4J
  • AgitarOne

Pexについて聞いたことがある-MicrosoftResearchの.NETの場合、これには非営利ライセンスがあります

ありがとう

4

3 に答える 3

3

Pexは、パラメーター化された単体テストを可能にし、動的なシンボリック実行(ある種の自動化された探索的テスト)を使用して入力を生成します。Pexは、MSILのセマンティクス、つまり任意のマネージドメソッド呼び出しのセマンティクスを理解できます。'123'の例では、Pexは両方のテストを検出します。

これにより、開発者はパラメーター化された単体テストを作成できるため、テストファーストの開発スタイルに完全に適合します。

商用ソフトウェアの場合、PexにはMSDNライセンスが必要です。詳細については、http://research.microsoft.com/pexをご覧ください。

pex開発者:)

于 2008-09-16T23:49:03.580 に答える
2

私はこれらのツールのいくつかを他の言語で試しましたが、私見ではほとんど完全に時間の無駄です。理由?メソッド呼び出しのセマンティクスを意味のある方法で推測することはできません。これについては非常に優れた記事があり、一読の価値があります

于 2008-09-06T01:25:23.583 に答える