Eclipseのコードカバレッジ機能とは?テストがちゃんとできているかを可視化しよう!
こんにちは。ゆうせいです。
今回は、Eclipseを使っている新人エンジニアに向けて、コードカバレッジ(Code Coverage)という機能をわかりやすく解説します。
「テストは書いたけど、全部のコードがちゃんと実行されたのかな?」
そんな疑問を数字や色でハッキリ答えてくれるのがコードカバレッジの機能なんです。
コードカバレッジとは?
コードカバレッジとは、テストがソースコードのどこまで実行されたかを示す指標のことです。
- どの行がテストで実行されたか?
- どのif文やループが通ったか?
- 実行されなかった死んでいるコードはどこ?
これらを色分け(緑・黄色・赤)や数値で表示して、テストの網羅性を測ります。
例えるなら、掃除をした後に「どこを拭いたかをライトで照らして確認する」ようなイメージですね!
Eclipseでコードカバレッジを使うには?
Eclipse単体ではこの機能はありませんが、通常は以下のプラグインを使います。
使われるプラグイン:EclEmma(エクレマ)
- Eclipseの有名なコードカバレッジツール
- インストールすると
Run with Coverageボタンが追加される - JUnitなどのテストと組み合わせて利用
セットアップ手順(EclEmmaの導入)
- Eclipseの[ヘルプ] → [新規ソフトウェアのインストール] を選択
- 以下のURLを追加:
http://update.eclemma.org/ - 「EclEmma Java Code Coverage」を選択してインストール
- Eclipseを再起動すると、ツールバーに「Coverage」アイコンが出現!
コードカバレッジの使い方ステップ
ステップ1:JUnitテストを書く
@Test
public void testAdd() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
ステップ2:「Run with Coverage」で実行
- テストクラスを右クリック → 「Coverage As」→「JUnit Test」
- 実行が終わると、コードに色付きのカバレッジ結果が表示されます!
色の意味(EclEmmaのカバレッジ表示)
| 色 | 意味 | 状況 |
|---|---|---|
| 緑(Green) | 実行されたコード | テストで通った! |
| 赤(Red) | 実行されなかったコード | テスト漏れあり! |
| 黄色(Yellow) | 部分的に通ったコード | 条件式の一部だけ実行 |
たとえば、
if (x > 0)でx = 1のテストしかなければ、falseのパターンがカバーされず「黄色」になります。
カバレッジ率とは?
カバレッジには主に以下の3種類の指標があります。
| 種類 | 内容 | 数式(記号で) | 数式(日本語) |
|---|---|---|---|
| 行カバレッジ | 実行された行の割合 | 実行済み行 ÷ 全行 | 実行された行数 ÷ 全コード行数 |
| 命令カバレッジ | JVM命令単位の割合 | 実行済み命令 ÷ 全命令 | 実行された命令数 ÷ 全命令数 |
| 分岐カバレッジ | 条件文の全パターンの割合 | 通過済み分岐 ÷ 全分岐 | if文などのtrue/falseパターンの網羅率 |
コードカバレッジを活用するメリット
| メリット | 内容 |
|---|---|
| テストの抜けを見つけやすい | 実行されていない箇所が赤で一目瞭然 |
| 不要なコードの発見 | テストされていない=使われていないかも |
| 品質向上 | テストの信頼性が上がる |
| 保守性向上 | 他人のコードでもカバレッジで理解しやすくなる |
注意点と限界
| 注意点 | 内容 |
|---|---|
| 緑色だからといって安心できない | テストの中身が不十分なこともある |
| カバレッジ100%でもバグはある | 網羅と品質はイコールではない |
| 無理に100%を目指すと非効率 | 重要なロジックを優先してカバーするのが現実的 |
今後の学習のすすめ方
- まずはEclEmmaを導入して、JUnitと一緒に使ってみる
- 赤や黄色のコードを探し、どんなパターンが漏れているか考える
- カバレッジ率だけでなく、テスト内容の質にも注目する
コードカバレッジは、「ちゃんと動くか」だけでなく「ちゃんと守れているか」をチェックする安全装置のようなもの。
新人エンジニアのうちから使い慣れておけば、将来のテスト設計やコードレビューの場面で大きな武器になりますよ!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年11月23日未経験でも迷わない!「成果が出る」新入社員研修の企画・講師スキル・評価まで徹底解説
山崎講師2025年11月23日新人クリエイターのための「生成AIと著作権」完全ガイド
山崎講師2025年11月23日【超入門】Hugging Faceで始めるAI開発!新人エンジニアが最初に触るべきTransformerの基礎と実践
山崎講師2025年11月23日新人エンジニア必見!才能よりも大切な「やり抜く力(グリット)」の鍛え方とは?