Bullseye コードカバレッジツールを使用しています。すばらしいです。私はそれの内部機能を知ることに興味があります。実際にはどのように機能しますか?
回答
これはツールに依存しない質問です。それらはすべて同じように機能します。つまり、システムのコードを計測します。実行時にコードの行またはブランチにアクセスするたびに、ツールはこの情報をキャッシュします。結局のところ、訪問した回線(またはブランチ)の数は、回線(またはブランチ)の総数で除算されます。これは、単一のクラス/ファイル、パッケージ、パッケージサブツリー、およびアプリケーション全体のスコープで実行されます。
ただし、コードインストルメンテーションはツールおよび言語に固有である可能性があります。
ここには、コードカバレッジツールを自分で実装する方法と、サンプルツールでのインストルメンテーションがどのように行われるかについての詳細、リンク、および研究論文があります。
コメント
- ソースコードを計測するツールとバイトコードを計測するツールを区別すると便利です。 '従来のコンパイル言語では後者を取得することはほとんどできません。