チームのコード カバレッジに関するより意味のある指標を提供できるツールを探しています。たとえば、私が見たいのは次の 2 つです。
- 前回のスプリントで作成したコードについて、チームとしてどれだけのコード カバレッジが得られたか?
- 新しいコードが開発者によってどの程度のコード カバレッジに分類されましたか?
誰かが前にこのようなことをしたことがありますか? どのようなツールが利用可能ですか? 具体的には、私は Java で働いており、無料または商用のソリューションに興味があります。
チームのコード カバレッジに関するより意味のある指標を提供できるツールを探しています。たとえば、私が見たいのは次の 2 つです。
誰かが前にこのようなことをしたことがありますか? どのようなツールが利用可能ですか? 具体的には、私は Java で働いており、無料または商用のソリューションに興味があります。
ソナーを調べます。スプリントごとのリリースについて説明できます。
2 つの問題があります。
1) 現在持っているコードのカバレッジは? 2) 私が以前持っていたものと比較して、どの程度の補償範囲ですか?
次の 3 つのツールが必要だと思います。
a) アプリケーションの適用範囲を瞬時に計算するには、
b) 現在持っているものと、最後にコード カバレッジを計算したときのものとの差を計算するもの
c) 変化するカバレッジ データを選択するためのもの。
a) は多数の Java テスト カバレッジ ツールから取得できますが、ステップ c) で処理できる形式で取得する必要があります。SD Java Test Coverage Toolは、そのデータを使用可能な形式で提供します。テスト カバレッジは行番号データを含む XML でレポートされるため、必要なものを抽出するツールを簡単に作成できます。
b) 以前のバージョンのファイルとこのバージョンのファイルが 1 対 1 で並んでいるという仮定の下で、どの diff ツールでもファイルの違いを識別できます。そうでない場合は、テスト カバレッジ データが完全に異なると単純に想定できます:-} ただし、取得できる最小の差分が必要です。従来の diff よりもはるかに小さいデルタを計算することが多いツールについては、 SD Java Smart Differencer Toolを参照してください。Smart Differencer の出力は機械可読です。
c) これに対する既製の答えはありませんが、a) と b) からの情報を組み合わせた Perl スクリプトはおそらくうまくいくでしょう。レポートする必要があるのは、差分ツールによって識別された明示的なデルタごとに、カバレッジ データは何か、および差分ツールに従って変更されていないすべてのコードについて、新しいカバレッジが古いカバレッジよりも小さいかどうかです。