ソース コード レベルではなくマシン コード レベルでコード カバレッジ分析を実行できるツールには、どのようなものがありますか? ソース コードにアクセスできないソフトウェアでファズ テストを実行できるソリューションを探しています。
4 に答える
コンパイルされたコード(Javaではない)については、Valgrindを試してください。
IBM Rational のテスト カバレッジ ツールは、オブジェクト コードをインストルメント化すると思います。
そのようなツールを持っていても、ソースにアクセスできないと仮定すると、100% 以外のコード カバレッジとは正確には何を意味するのでしょうか?
100% のカバレッジがなければ、何かを行使していないことがわかります。しかし、あなたは何を知る方法がないでしょう。
古い投稿...しかし、私の2セント。
大量の jar があり、使用しているクラス/メソッドがわかっている場合は、Emmaで jar を計測し、それらの jar に対してサンプル アプリケーションを実行できます。
私の場合、実際には独自のコンポーネント (html コードを生成するため) である jar があり、当社が Web ページを構築するために使用しています。これらのコンポーネントを利用するサンプル アプリケーションと、サンプル アプリケーションに対して実行される一連のテストがあります。Maven の依存関係をディレクトリにコピーし、インストルメント化して、これらのインストルメント化された jar に対してテストを実行する Ant タスクを作成しました。このタスクは Maven POM から呼び出されるため、ビルド プロセスの一部です。
また、ビルド プロセスの一環として、エマ カバレッジ データを処理してレポートを作成します。このレポートには、ソース コードがない jar 内のクラスとメソッドが表示されます。お役に立てれば。
エントリ ポイント (パブリック メソッド) の数があれば、そのカバレッジをテストできます。私はそのためのツールを知りません。そうしないと、アセンブリ コードのカバレッジをテストする必要があり、それが可能かどうかはわかりません。