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
2022 API World - Testing Pyramid for Event-Driv...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Dan Siwiec
June 21, 2023
Programming
35
0
Share
2022 API World - Testing Pyramid for Event-Driven Systems
Dan Siwiec
June 21, 2023
Other Decks in Programming
See All in Programming
おれのAgentic Coding 2026/03
tsukasagr
1
130
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.6k
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
330
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
310
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
7
1.2k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
780
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
690
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
170
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
210
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
520
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
So, you think you're a good person
axbom
PRO
2
2k
Six Lessons from altMBA
skipperchong
29
4.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
Navigating Team Friction
lara
192
16k
The browser strikes back
jonoalderson
0
880
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
660
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Transcript
Testing Pyramid for Event-Driven Systems Dan Siwiec
Hi. I’m a software architect with 15 years of experience
across multiple domains - health care, telco, travel, banking, retail, recently in love with Kotlin. 🌍 https://danoncoding.com https://github.com/danielsiwiec ✉
[email protected]
What is a TESTING PYRAMID?
Testing Pyramid Demystified End to End Service Unit
Testing Pyramid Demystified End to End Service Unit In-memory tests,
exercising the smallest, testable part of the application. Often a method or a class.
Testing Pyramid Demystified End to End Unit Service In-memory tests,
exercising one component at a time, treating it as a black box. Also called service tests.
Testing Pyramid Demystified End to End Service Unit Browser tests
or cross-service tests on a deployed environment exercising a complete flow
Testing Pyramid Demystified End to End Service Unit Exploratory, ad-hoc
testing or investigation. Focus on learning, rather than validation. Manual
Testing Pyramid Demystified End to End Manual Service Unit
Use Case: ORDER PROCESSING
Happy Order Flow 1. User submits order 2. Is there
inventory? 3. Process payment 4. Send shipment On each step send customer a notification
Point-to-point system
Event-Driven System
Test Pyramid APPLIED
Unit Testing End to End Service Unit
Payment Service
Unit Testing
Unit Testing
None
None
None
None
None
None
Service Testing End to End Unit Service
Service Testing
Service Testing
None
None
None
None
None
None
None
None
None
None
None
None
End-to-End Testing End to End Service Unit
System Under Test: End-to-End Testing
None
None
None
Bonus: Performance Tests
None
None
None
Event-Driven System
Event-Driven System
None
None
None
Final Considerations
Pyramid Revisited Flakiness User Focus Time End to End Service
Unit
Pyramid Revisited Flakiness User Focus Time End to End Service
Unit
Pyramid Revisited Flakiness User Focus Time Resilience to Refactoring End
to End Service Unit
Testing Diamond End to End Service Unit Flakiness User Focus
Time Resilience to Refactoring
https:/ /github.com/danielsiwiec/event-driven-demo
Thank you.
[email protected]
https:/ /danoncoding.com