Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Embrace Your Inner Grumpy: Metatesting in 2016
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Chris Hartjes
January 27, 2016
Technology
0
150
Embrace Your Inner Grumpy: Metatesting in 2016
Presentation I gave at GPUG on January 27, 2016
Chris Hartjes
January 27, 2016
Tweet
Share
More Decks by Chris Hartjes
See All by Chris Hartjes
Confessions of a not-so-accidental leader
grumpycanuck
0
240
Lessons Learned From 10 Years Of Testing
grumpycanuck
4
140
Learn To Test Like A Grumpy Programmer
grumpycanuck
0
250
Time Management For Grumpy Programmers
grumpycanuck
0
220
Learn To Test Like A Grumpy Programmer
grumpycanuck
1
270
Learn To Test Like A Grumpy Programmer
grumpycanuck
2
210
Grumpy Testing Patterns
grumpycanuck
1
1k
Smelly Tests
grumpycanuck
0
100
Why You Can't Test
grumpycanuck
1
340
Other Decks in Technology
See All in Technology
Windows ネットワークを再確認する
murachiakira
PRO
0
220
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
700
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
330
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
110
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
17
6.5k
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
110
全自動で回せ!Claude Codeマーケットプレイス運用術
yukyu30
3
150
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
220
Devinを導入したら予想外の人たちに好評だった
tomuro
0
720
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
Raspberry Pi AI HAT+ 2 介紹(#49)
piepie_tw
PRO
0
130
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.1k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Into the Great Unknown - MozCon
thekraken
40
2.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
From π to Pie charts
rasagy
0
140
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Raft: Consensus for Rubyists
vanstee
141
7.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Paper Plane
katiecoart
PRO
0
47k
RailsConf 2023
tenderlove
30
1.4k
Transcript
Embrace Your Inner Grumpy Metatesting in 2016 Chris Hartjes GPUG
- January 27, 2016
A little something about me • PHP user since 1998
• testing advocate since 2004 • writer of PHP books at http://grumpy-learning.com • working at Mozilla as QA engineer in Cloud Services • organize TrueNorthPHP • /dev/hell podcast • OpenCFP head honcho
What is Metatesting?
It starts with… Magic: The Gathering?
Mature Testing Tools Are Available
Mature Testing Tools • PHPUnit — http://phpunit.de • Behat —
http://behat.org • PHPSpec — http://www.phpspec • Codeception — http://codeception.com
Mature Testing Tools • Don’t reinvent mature tools • Extend
them for your own needs
Open Source Drives Acceptance
Open Source • Every popular framework has extensive test suites
• Lack of tests speaks volumes about intent • Great entry point into contributing
Proof Exists To Back The Promises
Proof Exists • Study commissioned by IBM and Microsoft •
White paper -> http://research.microsoft.com/en- us/groups/ese/nagappan_tdd.pdf
Proof Exists • TDD clearly takes more time… • …but
results in fewer bugs in production
“Hey boss, for just one extra day per week on
this project we can get up to 90% fewer bugs making it into production”
Testing Moves Bugs To A Cheaper Phase
Cheaper Fixes • cheapest time to fix bugs is when
the developer finds them during their work • cost of bugs needs to be evaluated as multiples of developer costs
Cheaper Fixes • cultural costs • opportunity costs
Build Systems Are Finally Easy To Use
Build Systems • Jenkins — https://jenkins-ci.org • Travis-CI — https://travis-ci.org
Build Systems • Great side effects • Highlights pain points
Awesome Complementary Tools
Complementary Tools • code coverage • static analysis
Complementary Tools • Code Climate — https://codeclimate.com • Scrutinizer —
https://scrutinizer-ci.com
“Tracking improvements via tests lets you know the team is
on track and doing good work.”
It will never be more difficult to test PHP code
The time investment in tests produces tangible results
I still suck at Magic but are good at Metatesting
Questions?
[email protected]
Twitter - @grmpyprogrammer Buy my stuff at http://grumpy-learning.com