Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codecov 〜テストカバレッジ可視化ウェブサービスの紹介〜

842aaadff6e13fbf372c9b17b49b031c?s=47 Pine Mizune
September 01, 2015

Codecov 〜テストカバレッジ可視化ウェブサービスの紹介〜

会社の技術勉強会で発表した資料

842aaadff6e13fbf372c9b17b49b031c?s=128

Pine Mizune

September 01, 2015
Tweet

More Decks by Pine Mizune

Other Decks in Programming

Transcript

  1. Codecov Code coverage done right. 1 Sep, 2015 水音 氷音

  2.   ターゲット層と伝えたいこと   テストとカバレッジ Codecov とは ? Codecov と Coveralls

    の違い   実演   まとめ 目次 2
  3. ターゲット層と伝えたいこと ターゲット層 ü  テストするなら、カバレッジを取ろう ü  Coveralls はやめて Codecov を使おう 伝えたいこと

    ü  カバレッジについて知らない・日常取らない人 ü  Codecov を使ったことがない人 3
  4. テストとカバレッジ (1/2) 4 コード網羅率(コードもうらりつ、英: Code coverage )コードカ バレッジは、ソフトウェアテストで用いられる尺度 の1つ である。プログラムのソースコードが

    テストされた割合 を意味 する。 by Wikipedia: コード網羅率 ü  きちんとテストされているか ? ü  どこがテストされていないか ? カバレッジを取ることにより、 を視覚的に明示可能
  5. テストとカバレッジ (2/2) 5 subtest fac => sub { is is_leap_year(2001),

    0; is is_leap_year(2004), 1; is is_leap_year(2100), 0; }; sub is_leap_year { my $year = shift; if ($year % 400 == 0) { return 1; } if ($year % 4 == 0) { if ($year % 100 != 0) { return 1; } return 0; } return 0; } ü  うるう年か判定するプログラム ü  テスト カバレッジは何 % ? ※ コードはサンプル用に長く書いてあります ※ ここでいうカバレッジは C0 (命令網羅) です
  6. Codecov とは ? (1/2) 6   カバレッジを見やすく表示するウェブサービス   同様のサービス: Coveralls

    $ git push GitHub CI Codecov ブラウザで閲覧 カバレッジ データ WebHook 開発者
  7. 7

  8. Codecov と Coveralls の違い 8   機能的には、ほとんど同じ   Coveralls に比べて軽い

      Coveralls に比べて軽い   Coveralls に比べて軽い ü  忌々しいカバレッジ送信エラーが起きない
  9. 実演 9   Perl のプロジェクト x Codecov   テスト実行: prove

      カバレッジ計測: Devel::Cover   カバレッジ送信: Devel::Cover::Report::Codecov https://github.com/codecov/codecov-perl ↑ Author: PINE
  10. まとめ 10   カバレッジを取ることで テストの十分・不十分が可視化できる   Perl でカバレッジを取るには テスト時に Devel::Cover

    を使う Codecov は Coveralls より軽い