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
Laravelから始めるテスト駆動開発
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
AkitoTsukahara
February 10, 2020
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravelから始めるテスト駆動開発
2020/02/09 ~ 02/11の期間で開催された【PHPerKaigi2020】のルーキーズLTで発表した登壇資料です。
AkitoTsukahara
February 10, 2020
More Decks by AkitoTsukahara
See All by AkitoTsukahara
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
1.3k
PHP8.2にバージョンアップして もっと型表現を豊かにしよう
akitotsukahara
0
530
オンボーディングのために 私はプロダクト考古学者になりました!
akitotsukahara
3
540
プロダクトチームから他部署に 伝播するふりかえり文化
akitotsukahara
0
590
スピンオフサービス構築で培われた開発ノウハウをご紹介!
akitotsukahara
0
230
ビルドツールViteを10分で解説!
akitotsukahara
0
1.3k
今日からSvelteで開発だ! どうする?何から始める?
akitotsukahara
0
360
どのくらい速くなるの?Laravel MixとViteを性能比較してみました!
akitotsukahara
0
11k
スクラムマスターを経験して得られた学びとエンジニアとしての成長
akitotsukahara
0
530
Other Decks in Technology
See All in Technology
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
640
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
9
2.8k
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
220
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
440
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.1k
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.7k
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.8k
うちなーぐちが認識できるなら、秋田弁もいけるはず!? Amazon Transcribe方言チューニング検証
ryouto715
1
150
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.5k
あの日、見つかっていなかったらどうなっていたか
kazzpapa3
2
100
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
660
Shared Signals Framework 仕様解説
oidfj
0
370
Featured
See All Featured
New Earth Scene 8
popppiees
5
2.8k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
330
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
The Curious Case for Waylosing
cassininazir
1
610
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
630
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
510
Facilitating Awesome Meetings
lara
57
7.2k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Music & Morning Musume
bryan
48
7.5k
Transcript
Laravelから始める テスト駆動開発 PHPerKaigi2020
塚原 彰仁 PHPer歴 3年 Laravel,CakePHP, WordPress
トークの概要 ・テスト書く習慣ゼロの状態から テスト駆動開発を始めた話
ある案件の話(失敗談) ▼イベント管理システム ・チケット申し込み ・当日来場受付
数々の苦難が…
機能を追加すると 既存機能が動かない…
増え続けるテストケース ・会員種別 ・申込み手順 ・開催中のイベント ・例外処理 →400件以上をリリースの度に
申し込んだデータが 消えたみたいで…
出典:BLEACH 13巻
何が起きていたのか? 1時間以内に購入 1時間以上経過する
何が起きていたのか? 1時間以内に購入 1時間以上経過する
None
よし!テスト書く!
テスト書く習慣を作る
機能追加に耐えられる
きれいなコード書ける
None
レベル1 社内案件から始める
Laravelで始めてみる ・ヘルパーメソッドが便利 ・ドキュメント豊富
仕様の概要 ▼個人の売上貢献度を教えてくれる システム ・Googleログイン認証 ・Google Sheets API連携
この処理をテスト駆動開発でやってみる Google認証画面(←サンプル) ↓ ログイン ↓ メールアドレス取得
色々参考にしながら こんな感じに
何とかできそう! ・参考サイトたくさんある ・テスト前提なら書きやすい
これで満足?
出典:BLEACH 13巻
打ち切り漫画っぽい
出典:シャーマンキング 32巻
レベル2 因縁のイベントシステム
問題の処理のテストコードを書いていく チケット申し込み ↓ 予約状態を確認(←サンプル) ↓ チケット予約確定
まずはFatControllerの リファクタリング 1.予約状況の確認処理をまるごとService レイヤーに切り出す 2.テスト用に処理を分解する
泥臭くテストを書いていく こんな感じに
それでも書けないところは E2Eテスト、手動テストでカバー 問題のテストケースは E2Eテストにできました! (1時間の待ち時間解消!!)
None
会社のみんなからは 複雑な案件に対して、エンジニアも非エンジニアも 安心感を持って取り組めます! 機能追加の心理ハードルが下がりますー
出典:SLAM DUNK15巻
打ち切り
・やってみる価値はあるよ! ・実務で苦戦したことが 逆にモチベーションに! ・小さく始めていこう!
よかったら テストどうでしょうか?
@AkitoTsukahara