SlideShare a Scribd company logo
1 of 61
Download to read offline
目指せ!
テストカバレッジ100%
ふしはらかん(kan) / FreakOut Inc.
Aim, Test coverage 100%
13年9月22日日曜日
LTの前に
Before LT
Apology
13年9月22日日曜日
LTの前に
•お詫び
Before LT
Apology
13年9月22日日曜日
タイトルは釣りです
The title of this presentation is deception
13年9月22日日曜日
目指せ!
テストカバレッジ100%
ふしはらかん(precuredaisuki) / FreakOut Inc.
13年9月22日日曜日
目指せ!
テストカバレッジ100%
ふしはらかん(precuredaisuki) / FreakOut Inc.
13年9月22日日曜日
目指せ!
テストカバレッジ100%
ふしはらかん(precuredaisuki) / FreakOut Inc.
13年9月22日日曜日
目指せ!
テストカバレッジ100%
ふしはらかん(precuredaisuki) / FreakOut Inc.
13年9月22日日曜日
テストカバレッジって?
What is test coverage?
Software testing is doing and test the
percentage of how much of the software body
13年9月22日日曜日
テストカバレッジって?
•ソフトウェアテストが
What is test coverage?
Software testing is doing and test the
percentage of how much of the software body
13年9月22日日曜日
テストカバレッジって?
•ソフトウェアテストが
•ソフトウェア本体のどの程度の割合を
What is test coverage?
Software testing is doing and test the
percentage of how much of the software body
13年9月22日日曜日
テストカバレッジって?
•ソフトウェアテストが
•ソフトウェア本体のどの程度の割合を
•テスト対象としているか
What is test coverage?
Software testing is doing and test the
percentage of how much of the software body
13年9月22日日曜日
何が嬉しいか
What do happy?
Is important to be able to find the leak and
bias of the test, do you seek the perfect it is
not important
13年9月22日日曜日
何が嬉しいか
•あのメソッドのテスト忘れてた
What do happy?
Is important to be able to find the leak and
bias of the test, do you seek the perfect it is
not important
13年9月22日日曜日
何が嬉しいか
•あのメソッドのテスト忘れてた
•あのパターンの時のテスト忘れてた
What do happy?
Is important to be able to find the leak and
bias of the test, do you seek the perfect it is
not important
13年9月22日日曜日
何が嬉しいか
•あのメソッドのテスト忘れてた
•あのパターンの時のテスト忘れてた
•等に気付ける
What do happy?
Is important to be able to find the leak and
bias of the test, do you seek the perfect it is
not important
13年9月22日日曜日
何が嬉しいか
•あのメソッドのテスト忘れてた
•あのパターンの時のテスト忘れてた
•等に気付ける
•100%にすることが目標ではない
What do happy?
Is important to be able to find the leak and
bias of the test, do you seek the perfect it is
not important
13年9月22日日曜日
perlでやりたい
I want to do in perl
13年9月22日日曜日
perlでやりたい
•Devel::Coverが鉄板
I want to do in perl
13年9月22日日曜日
perlでやりたい
•Devel::Coverが鉄板
cpanm	
  Devel::Cover
cover	
  -­‐test
I want to do in perl
13年9月22日日曜日
perlでやりたい
•Devel::Coverが鉄板
cpanm	
  Devel::Cover
cover	
  -­‐test
I want to do in perl
13年9月22日日曜日
perlでやりたい
•Devel::Coverが鉄板
cpanm	
  Devel::Cover
cover	
  -­‐test
I want to do in perl
13年9月22日日曜日
問題点
See coverage reports generated for every test
run it is not realistic
Issues
13年9月22日日曜日
問題点
•実行→HTML生成→確認は面倒
See coverage reports generated for every test
run it is not realistic
Issues
13年9月22日日曜日
問題点
•実行→HTML生成→確認は面倒
•チームの場合の結果共有は?
See coverage reports generated for every test
run it is not realistic
Issues
13年9月22日日曜日
そこでcoverallsですよ
So it’s coveralls
13年9月22日日曜日
coverallsとは?
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
• テストカバレッジをプロジェクト単位で表
示してくれるサービス
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
• テストカバレッジをプロジェクト単位で表
示してくれるサービス
• Service that will display on a project-by-project basis test coverage
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
• テストカバレッジをプロジェクト単位で表
示してくれるサービス
• Service that will display on a project-by-project basis test coverage
• ruby / python 他の各言語に対応
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
• テストカバレッジをプロジェクト単位で表
示してくれるサービス
• Service that will display on a project-by-project basis test coverage
• ruby / python 他の各言語に対応
• support many language
What is coveralls?
13年9月22日日曜日
coverallsとは?
• https://coveralls.io/
• テストカバレッジをプロジェクト単位で表
示してくれるサービス
• Service that will display on a project-by-project basis test coverage
• ruby / python 他の各言語に対応
• support many language
• APIがある ← !!
What is coveralls?
13年9月22日日曜日
無いなら作ればいい
Should I make if not
13年9月22日日曜日
無いなら作ればいい
•Devel::Cover::Report::Coveralls
Should I make if not
13年9月22日日曜日
無いなら作ればいい
•Devel::Cover::Report::Coveralls
•Devel::Coverのreport機構を利用
Should I make if not
13年9月22日日曜日
無いなら作ればいい
•Devel::Cover::Report::Coveralls
•Devel::Coverのreport機構を利用
•coveralls.ioのAPIを叩く
Should I make if not
13年9月22日日曜日
使い方
How to use
13年9月22日日曜日
使い方
• coverallsにログイン(githubアカウントでログイ
ンできる) login coveralls
How to use
13年9月22日日曜日
使い方
• coverallsにログイン(githubアカウントでログイ
ンできる) login coveralls
• 自分のリポジトリを登録する
How to use
13年9月22日日曜日
使い方
• coverallsにログイン(githubアカウントでログイ
ンできる) login coveralls
• 自分のリポジトリを登録する
• The registration in its own repositories
How to use
13年9月22日日曜日
使い方
• coverallsにログイン(githubアカウントでログイ
ンできる) login coveralls
• 自分のリポジトリを登録する
• The registration in its own repositories
How to use
13年9月22日日曜日
使い方
language:	
  perl
perl:
	
  	
  -­‐	
  5.18.1
	
  	
  -­‐	
  5.16.3
before_install:
	
  	
  cpanm	
  -­‐n	
  Devel::Cover::Report::Coveralls
script:
	
  	
  perl	
  Build.PL	
  &&	
  ./Build	
  build	
  &&	
  cover	
  -­‐test	
  -­‐report	
  coveralls
How to use
13年9月22日日曜日
使い方
•TravisCI用の設定(.travis.yml)を修正
language:	
  perl
perl:
	
  	
  -­‐	
  5.18.1
	
  	
  -­‐	
  5.16.3
before_install:
	
  	
  cpanm	
  -­‐n	
  Devel::Cover::Report::Coveralls
script:
	
  	
  perl	
  Build.PL	
  &&	
  ./Build	
  build	
  &&	
  cover	
  -­‐test	
  -­‐report	
  coveralls
How to use
13年9月22日日曜日
使い方
•TravisCI用の設定(.travis.yml)を修正
•fix .travis.yml
language:	
  perl
perl:
	
  	
  -­‐	
  5.18.1
	
  	
  -­‐	
  5.16.3
before_install:
	
  	
  cpanm	
  -­‐n	
  Devel::Cover::Report::Coveralls
script:
	
  	
  perl	
  Build.PL	
  &&	
  ./Build	
  build	
  &&	
  cover	
  -­‐test	
  -­‐report	
  coveralls
How to use
13年9月22日日曜日
使い方
How to use
13年9月22日日曜日
使い方
•githubへコードをpush push the code to github
How to use
13年9月22日日曜日
使い方
•githubへコードをpush push the code to github
How to use
13年9月22日日曜日
使い方
•githubへコードをpush push the code to github
How to use
13年9月22日日曜日
13年9月22日日曜日
13年9月22日日曜日
仕組み
Throw the API of coveralls by obtaining a
token from the environment variable of
TravisCI. It is necessary to put the
configuration file token in CI other
Mechanism
13年9月22日日曜日
仕組み
•TravisCIの環境変数からtokenを取得
Throw the API of coveralls by obtaining a
token from the environment variable of
TravisCI. It is necessary to put the
configuration file token in CI other
Mechanism
13年9月22日日曜日
仕組み
•TravisCIの環境変数からtokenを取得
•APIで投げる
Throw the API of coveralls by obtaining a
token from the environment variable of
TravisCI. It is necessary to put the
configuration file token in CI other
Mechanism
13年9月22日日曜日
仕組み
•TravisCIの環境変数からtokenを取得
•APIで投げる
•他のCIでは設定ファイルにtokenを記述
する必要
Throw the API of coveralls by obtaining a
token from the environment variable of
TravisCI. It is necessary to put the
configuration file token in CI other
Mechanism
13年9月22日日曜日
まとめ
Summary
Let's take a test coverage for better code.
Regards the coveralls-perl
13年9月22日日曜日
まとめ
•より良いコードのためにテストカバレ
ッジをとろう
Summary
Let's take a test coverage for better code.
Regards the coveralls-perl
13年9月22日日曜日
まとめ
•より良いコードのためにテストカバレ
ッジをとろう
•coverallsは良いサービスです
Summary
Let's take a test coverage for better code.
Regards the coveralls-perl
13年9月22日日曜日
まとめ
•より良いコードのためにテストカバレ
ッジをとろう
•coverallsは良いサービスです
•Devel::Cover::Report::Coveralls
Summary
Let's take a test coverage for better code.
Regards the coveralls-perl
13年9月22日日曜日
おまけ
!?
One more things
13年9月22日日曜日
御清聴ありがとうございました
Thank you for your attention
13年9月22日日曜日

More Related Content

More from kan

自己紹介
自己紹介自己紹介
自己紹介kan
 
Perlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみたPerlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみたkan
 
Prettyfs
PrettyfsPrettyfs
Prettyfskan
 
Xircd Yapcasia2008
Xircd Yapcasia2008Xircd Yapcasia2008
Xircd Yapcasia2008kan
 
イントラの中のWiki
イントラの中のWikiイントラの中のWiki
イントラの中のWikikan
 
MogileFSの利用と高速化
MogileFSの利用と高速化MogileFSの利用と高速化
MogileFSの利用と高速化kan
 

More from kan (6)

自己紹介
自己紹介自己紹介
自己紹介
 
Perlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみたPerlで「変なもの」を作ってみた
Perlで「変なもの」を作ってみた
 
Prettyfs
PrettyfsPrettyfs
Prettyfs
 
Xircd Yapcasia2008
Xircd Yapcasia2008Xircd Yapcasia2008
Xircd Yapcasia2008
 
イントラの中のWiki
イントラの中のWikiイントラの中のWiki
イントラの中のWiki
 
MogileFSの利用と高速化
MogileFSの利用と高速化MogileFSの利用と高速化
MogileFSの利用と高速化
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

目指せ、テストカバレッジ100%