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
Chris Hartjes
January 27, 2016
Technology
0
120
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
200
Lessons Learned From 10 Years Of Testing
grumpycanuck
4
120
Learn To Test Like A Grumpy Programmer
grumpycanuck
0
230
Time Management For Grumpy Programmers
grumpycanuck
0
200
Learn To Test Like A Grumpy Programmer
grumpycanuck
1
230
Learn To Test Like A Grumpy Programmer
grumpycanuck
2
190
Grumpy Testing Patterns
grumpycanuck
1
940
Smelly Tests
grumpycanuck
0
88
Why You Can't Test
grumpycanuck
1
310
Other Decks in Technology
See All in Technology
watsonx.data上のベクトル・データベース Milvusを見てみよう/20250418-milvus-dojo
mayumihirano
0
120
PdM採用とAIの製品活用を同時に頑張ってみた話 / EM oasis 20250418
rakus_dev
0
110
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
110
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
610
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
210
Winning at PHP in Production in 2025
beberlei
1
140
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
210
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
0
110
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
270
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
240
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
190
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
27
5.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Agile that works and the tools we love
rasmusluckow
328
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Faster Mobile Websites
deanohume
306
31k
Scaling GitHub
holman
459
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
GraphQLとの向き合い方2022年版
quramy
46
14k
Bash Introduction
62gerente
611
210k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
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? chartjes@grumpy-learning.com Twitter - @grmpyprogrammer Buy my stuff at http://grumpy-learning.com