カバのめいちゃんでカバレッジのC0/C1/C2を覚えよう★

こんにちはー、まもーです🐬
今回は少々ITの内容になります。IT業界ではソースコードをどれだけテストしたかを示す「カバレッジ」という言葉があります。そのカバレッジのレベルがC0、C1、C2のように定義されてるのですが、それぞれの意味を覚えられないというか、忘れる!!!なので今回は復習しながら、誰でも覚えられるように工夫してみました。

目次

プログラムの「カバレッジ」って何?

プログラムのテストでよく聞く「カバレッジ」。冒頭で記載したとおり、カバレッジは「どれだけコードをテストできたか」を示す指標です。

IT企業の新人の方に加えて久しぶりにコードを書いている中堅エンジニアの方でも、「C0、C1、C2?どれがどれだっけ?」と迷った経験があるのではないでしょうか。

この記事では、テストでよく使うC0(命令網羅)C1(分岐網羅)C2(条件網羅)の基本を、具体例を交えながら解説します。シンプルで覚えやすい方法をお届けするので、ぜひ参考にしてください!

C0/C1/C2を理解する!

まずはカバレッジの種類を表で整理しました。この表を押さえれば、C0/C1/C2の概要をサクッと理解できます!

カバレッジの種類名称テスト内容の定義IT現場での担保度
C0命令網羅すべての命令(コード行)が1回実行されること必須
C1分岐網羅すべての分岐を1回以上通ることほぼ必須
C2条件網羅条件式の各要素のtrue/falseを1回ずつ通ること場合による

テスト内容は名称そのままですね。
また、シンプルなサンプルコードを使ってC0、C1、C2の違いを具体的に解説します。
サンプルコードの中に、命令、分岐、条件、が指す箇所を示しました。それらの箇所の実行パターンを網羅するようにテストを行うことで、テスト内容を満たせます。

具体的に解説します。

1. C0(命令網羅)

  • 定義: すべての命令(コード行)が1回実行されること。
  • サンプルコードでのテスト内容: doSomething()doSomethingElse() の両方が実行されれば達成。
  • 具体例:
    • A=10, B=4 → doSomething() 実行
    • A=3, B=4 → doSomethingElse() 実行

2. C1(分岐網羅)

  • 定義:すべての分岐を1回以上通ること。
  • サンプルコードでのテスト内容: if文のtrue側(doSomething)とfalse側(doSomethingElse)の両方が実行されれば達成。
  • 具体例:
    • A=10, B=4 → true側
    • A=3, B=4 → false側

3. C2(条件網羅)

  • 定義: 条件式内の各要素(例: A > 5、B < 3)のtrue/falseを1回ずつ通ること。
  • サンプルコードでのテスト内容: A > 5とB < 3がそれぞれtrue/falseを1回以上取るようなパターンで実行されれば達成。
  • 具体例:
    • A=10, B=4 → A > 5 = true
    • A=3, B=1 → B < 3 = true
    • A=3, B=5 → A > 5 = false, B < 3 = false

C0/C1/C2をシンプルに覚えよう!

C0、C1、C2の違いを簡単な表や例で復習しました。で、正直一番忘れるのはC0が命令網羅、C1が分岐網羅、C2が条件網羅という、日本語の部分ではないでしょうか?なので今日は語呂合わせを作りました。

是非覚えてみてください、いきますよ

「カバのメイちゃん、髪ブン回してキャバ嬢に」

メイ=命令、ブン=分岐、嬢=条件で、C0,1,2の順番になっています!

ちなみにカバはカバレッジです。もう一度繰り返しますねw

「カバのメイちゃん、髪ブン回してキャバ嬢に」

このカバのメイちゃんがまさか、カバレッジのC0、C1、C2の語呂合わせの画像とは誰も思わないでしょう😂

カバのメイ

おぼえてねん★

ぜ、ぜひ、この記事を参考にしてください。

今回は以上とします、ありがとうございました🐬

よかったらシェアしてください!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

こんにちはー!故郷が元農家の、まもーです。
普段はITコンサルをしていますが、年を重ねるにつれ農業対してなにかできないか、という思いが強くなり手始めにこの雑記ブログを始めました。
アグリあんてなでは、ITに関するよしなにを主軸としつつ、農業に関する内容を収集したり発信していけたらと思っています。

コメント

コメントする

目次