Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Codecov 〜テストカバレッジ可視化ウェブサービスの紹介〜
Search
Pine Mizune
September 01, 2015
Programming
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Codecov 〜テストカバレッジ可視化ウェブサービスの紹介〜
会社の技術勉強会で発表した資料
Pine Mizune
September 01, 2015
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
910
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
2k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
710
Lerna による明示的疎結合アーキテクチャ
pine
1
690
CircleCI 2.0 x JavaScript
pine
3
590
Perl 卒業式
pine
0
380
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
540
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
気持ちぃ〜角丸 Squircle
ryu1013
0
330
Jetpack Compose Mechanisms
skydoves
3
860
オーケストレーション記述言語 Katari
yukikurage
0
180
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
990
ActionController meets Protocol Buffers
sorah
0
670
AIに “答え“を書かせるのを やめてみた
___akari11
0
130
Simple Storage Service(S3) is not simple
iwatsukayura
0
310
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
1.2k
🇪🇸 React Alicante 2026 (Workshop)
ythecombinator
PRO
0
100
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
320
Workers Cache を知る
syumai
0
370
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
34k
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Evolving SEO for Evolving Search Engines
ryanjones
0
330
Being A Developer After 40
akosma
PRO
92
590k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
How to build a perfect <img>
jonoalderson
1
6.1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
640
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Transcript
Codecov Code coverage done right. 1 Sep, 2015 水音 氷音
ターゲット層と伝えたいこと テストとカバレッジ Codecov とは ? Codecov と Coveralls
の違い 実演 まとめ 目次 2
ターゲット層と伝えたいこと ターゲット層 ü テストするなら、カバレッジを取ろう ü Coveralls はやめて Codecov を使おう 伝えたいこと
ü カバレッジについて知らない・日常取らない人 ü Codecov を使ったことがない人 3
テストとカバレッジ (1/2) 4 コード網羅率(コードもうらりつ、英: Code coverage )コードカ バレッジは、ソフトウェアテストで用いられる尺度 の1つ である。プログラムのソースコードが
テストされた割合 を意味 する。 by Wikipedia: コード網羅率 ü きちんとテストされているか ? ü どこがテストされていないか ? カバレッジを取ることにより、 を視覚的に明示可能
テストとカバレッジ (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 (命令網羅) です
Codecov とは ? (1/2) 6 カバレッジを見やすく表示するウェブサービス 同様のサービス: Coveralls
$ git push GitHub CI Codecov ブラウザで閲覧 カバレッジ データ WebHook 開発者
7
Codecov と Coveralls の違い 8 機能的には、ほとんど同じ Coveralls に比べて軽い
Coveralls に比べて軽い Coveralls に比べて軽い ü 忌々しいカバレッジ送信エラーが起きない
実演 9 Perl のプロジェクト x Codecov テスト実行: prove
カバレッジ計測: Devel::Cover カバレッジ送信: Devel::Cover::Report::Codecov https://github.com/codecov/codecov-perl ↑ Author: PINE
まとめ 10 カバレッジを取ることで テストの十分・不十分が可視化できる Perl でカバレッジを取るには テスト時に Devel::Cover
を使う Codecov は Coveralls より軽い