私は、複数のテストドライバアプリケーションにわたってコードカバレッジを測定する際に実行するワークフローの理解に疑問を呈していました。コードカバレッジを測定する典型的なワークフロー
は
- は、コードカバレッジを測定することが可能なアプリケーションの特別なビルドをコンパイル...正確なこのワークフローです。
- アプリケーションを実行して、コードカバレッジ結果ファイルを生成します。
- コードベースで実行された一連のテスト(ユニット、統合、回帰など)からコードカバレッジの範囲を測定するマージコードカバレッジ結果ファイル。
- マージされたファイルから全体的な結果を報告します。
各テストアプリケーションごとに個別のレポートが生成されているようですが、このサブレポートの中にはいくつか、このサブレポートの中にはいくつかの部分レポートがあり、重複するものはあいまいです。
だから私の主な混乱はポイント3程度であり、それは、複数のテスト・アプリケーションや各種試験からの貢献を/マージされたプールされるかに関しては、コード・カバレッジ・ツールの設計にどのように関連しますか。
ただ、いくつかの視点のために、私は一つの言語、コードベースの1つのリビジョン、およびそのコードベースを行使し、複数のテストアプリケーションに焦点を当てています。そして、「コードカバレッジツールの設計」に関して、私はレポートを生成する開発者の視点を探していますが、結果ファイル形式の内部的な詳細やマージの実装方法に関する詳細は探していませんが、開発者がツールのUX設計のおかげで行う、ステップバイステップのアクションセット。コードカバレッジツールによって生成される成果物と、それらがどのように発生し、最終的には互いに適合するかをよりよく理解したいと思います。
これは、複数の言語と表現形式についての優れた違いです。私はしかし、単一の言語、C + +、およびGoogleテストの実行可能ファイルの束を基本的に検討しています。私はコードベースのスナップショットも考えています。進化しているものではありません。マージは、同じリビジョンの同じコードベースの異なるテストアプリケーション間で行われます。 (btw Semantic Designsには印象的なツールセットがいくつかあります。私はまだキャッチーなラインを "覚えていません...おっと、三角形は何ですか?" – jxramos
1つのコードベースに適用された複数のテストのテストカバレッジデータのマージについて質問がありましたか?原則として、これは難しくありません。テストカバレッジは実際には実行された場所のセットです。合併は組合となる。トリッキーな問題は、「位置情報」とはどういう意味ですか、集合はどのように表されていますか(集合要素は何ですか?)、マージを引き起こすためにツールに何を伝えなければなりませんかカバレッジセット)が発生するかどうか –
本質的にはい、1つの質問は、この複数のテストシナリオでテストカバレッジデータがどのように正確に分散されているか、各テストアプリケーションがファイルシステムに異なるコードカバレッジ結果ファイルを生成するか、コマンドライン引数を使用して単一の結果ファイルに何かとそれにプール?私は数年前にBullsEyeテストを実行しましたが、これらの詳細は忘れてしまいました。私は、ここのチームがVisual Studioで何らかの機能を使っていると思います。 – jxramos