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

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

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