コードカバレッジ

1 概要

コードカバレッジは、テストがソースコードのどの割合を実行しているかを計測する指標です。行カバレッジ・分岐カバレッジなどの種類があり、テストの網羅性の確認や未テスト箇所の特定に使います。100% を目指すことが目的ではなく、重要なコードパスが網羅されているかを確認するために活用します。

Linux 環境では gcov (GCC 付属のカバレッジツール) と lcov (gcov の結果を HTML レポートに変換するツール) または gcovr を組み合わせて使用します。Windows 環境では OpenCppCoverage が利用できます。

このリポジトリの testfw/ サブモジュールはカバレッジ計測とレポート生成の機能を提供しています。テストをカバレッジ計測付きでビルドするには、コンパイル時に --coverage (または -fprofile-arcs -ftest-coverage) フラグが必要です。

2 習得目標

3 学習マテリアル

3.1 公式ドキュメント

4 このリポジトリとの関連

4.1 使用箇所 (具体的なファイル・コマンド)

カバレッジ計測付きビルドの基本手順 (Linux / GCC):

gcc -c --coverage -fprofile-arcs -ftest-coverage \
    -I prod/calc/include \
    prod/calc/libsrc/calcbase/add.c \
    -o add.o

./addTest

gcovr --html --html-details -o coverage.html

lcov --capture --directory . --output-file coverage.info
genhtml coverage.info --output-directory coverage-report/

testfw/ が提供するカバレッジ機能:
- テスト実行後の自動カバレッジ計測
- レポートの HTML 生成
- GitHub Actions との統合

Windows での計測 (OpenCppCoverage):

OpenCppCoverage.exe --sources prod\calc\libsrc -- addTest.exe

4.2 関連ドキュメント