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

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

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