SlideShare a Scribd company logo
1 of 15
Download to read offline
自動テストへの道のり
テストを簡単!楽しく!
(PHPUnit + jenkins)
2013/4/26 @papettoTV
13年4月27日土曜日
自己紹介
横田 英二(@papettoTV)
web developer
PHP / Titanium mobile
13年4月27日土曜日
背景
• 手動でテスト。嫌い。苦手。
• 品質担保どうしよう。。。
• そうだ!自動テストだ!
13年4月27日土曜日
PHPUnit
• Cakephp2系 PHPUnit標準
13年4月27日土曜日
TDD
• テストファースト
• でも後からやっても効果は十分!
(DDT?)
13年4月27日土曜日
テスト対象
• MVCでいうと、M
とCはやるけど、
V(html)はがっちり
やってない
• apiサーバならがっ
ちりできる!
13年4月27日土曜日
code coverage
• テストの漏れを防げる(100%目指して
しまう><)
13年4月27日土曜日
テスト導入効果
• 仕様が明確に!
• (手動で)テストしにくかった処理が、確認
できる
• レアな不具合を発見できる
• 実は不要な分岐を発見できる
13年4月27日土曜日
テストできない?
• ファイルのダウンロード
• ファイル保存、書き込み、読み込み
• 外部サーバとの通信(SNS連携、その他外部api、
etc)
• メール送信
• session_id()を使った処理
13年4月27日土曜日
対策/回避
• モック
• vfsStreamでファイル処理を疑似実装
https://github.com/mikey179/vfsStream/wiki
move_upload_file()は未対応っぽい
• コードブロック無視 アノテーション
@codeCoverageIgnore
@codeCoverageIgnoreStart
@codeCoverageIgnoreEnd
13年4月27日土曜日
デメリット
•  開発工数体感50%増し?
•  やっぱりテストするのは面倒。。。
13年4月27日土曜日
テスト行程
• テスト+実装
• 該当箇所のテスト確認
• 成功確認するまで繰り返し
• まとまったらcommit
• 全テスト
• テスト結果目視
13年4月27日土曜日
テストを簡単に!
• テスト+実装
• 該当箇所のテスト確認
• 成功確認するまで繰り返し
• まとまったらcommit
• git hookでjenkinsに全テスト、テスト結
果通知
13年4月27日土曜日
テストを楽しく!
• テスト結果通知プラグイン
• 成功時、失敗時にそれぞれの効果音
http://blog.playispeace.com/918/
jenkins_run_build_and_sound_alert_when_git_commit_in_macosx/
• デモ
13年4月27日土曜日
まとめ
• git commit でテスト結果通知 = 簡単!楽
しい!
• enjoy テスト!
13年4月27日土曜日

More Related Content

Viewers also liked

Viewers also liked (6)

Mqttの通信を見てみよう
Mqttの通信を見てみようMqttの通信を見てみよう
Mqttの通信を見てみよう
 
MQTTでオフィスハック with RasPi
MQTTでオフィスハック with RasPiMQTTでオフィスハック with RasPi
MQTTでオフィスハック with RasPi
 
IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解
 
20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと20150726 IoTってなに?ニフティクラウドmqttでやったこと
20150726 IoTってなに?ニフティクラウドmqttでやったこと
 
AWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoT
 
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
 

Similar to 自動テストへの道のり

『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2
shinyaa31
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
hiboma
 
小物ツールを自作しよう
小物ツールを自作しよう小物ツールを自作しよう
小物ツールを自作しよう
Sohei Iwahori
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
 

Similar to 自動テストへの道のり (18)

はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
 
Turnipによるエンドツーエンドテストことはじめ
TurnipによるエンドツーエンドテストことはじめTurnipによるエンドツーエンドテストことはじめ
Turnipによるエンドツーエンドテストことはじめ
 
TDD一連の流れ
TDD一連の流れTDD一連の流れ
TDD一連の流れ
 
ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
小物ツールを自作しよう
小物ツールを自作しよう小物ツールを自作しよう
小物ツールを自作しよう
 
DevOps、その前に
DevOps、その前にDevOps、その前に
DevOps、その前に
 
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
TFSの導入提案
TFSの導入提案TFSの導入提案
TFSの導入提案
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 

More from Eiji Yokota

More from Eiji Yokota (10)

Lecture for middle_students
Lecture for middle_studentsLecture for middle_students
Lecture for middle_students
 
生と死について
生と死について生と死について
生と死について
 
webサービスにstripeを導入するまでの軌跡
webサービスにstripeを導入するまでの軌跡webサービスにstripeを導入するまでの軌跡
webサービスにstripeを導入するまでの軌跡
 
Evo2017
Evo2017Evo2017
Evo2017
 
IoTの魅力
IoTの魅力IoTの魅力
IoTの魅力
 
webエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけwebエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけ
 
Node-REDの紹介
Node-REDの紹介Node-REDの紹介
Node-REDの紹介
 
筋トレ大事
筋トレ大事筋トレ大事
筋トレ大事
 
Cakephp api
Cakephp apiCakephp api
Cakephp api
 
web_to_kotatsu
web_to_kotatsuweb_to_kotatsu
web_to_kotatsu
 

Recently uploaded

Recently uploaded (7)

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

自動テストへの道のり