by Jan Verner, Zbyněk Hraše, Pavel Lukeš
11/04/2016 FIT ČVUT
PERFORMANCE TESTING v agilním provedení
#1 Proč děláme SmartMeter.io#2 Základy performance testingu#3 Živá ukázka #4 2 příběhy performance testingu#5 Agilita a Performance testing#6 Budoucnost
„S performance testy začněte tam, kde vám architekt systému říká, že je všechno bez problému“
—Pavel Lukeš, SmartMeter.io
Proč jsme přesvědčení, že se vyplatí investovat do opakovaných performance testů – pravidelně.
Proč by to mělo zajímat i vás?
#1Úvodní slovo
Pavel LukešPerformance architect& Product [email protected]
Co budeme potřebovat ?Developer vs. Tester
Nevíte s jakým nástrojem a jak ?
Noco,používátoskorokaždý
Developer vs. Tester
Nemáte testera?
Vždyťjásiporadím
Developer vs. Tester
Chytání duchů není měření
Teďužminicneunikne
Developer vs. Tester
Pojďme na to profesionálně
Takjdemenato
Jendo toho,mámtopoladěný
Developer vs. Tester
Hledání slabého místa
Snadužtomám!
Sláva!Taktojdeme
vyzkoušet
Developer vs. Tester
Stále to není onoDeveloper vs. Tester
Kdebytotakmohlobýt? Tojedoba!
Bezradnost a beznaděj
Nevim,nevim.Prostěnevim!
Tentonedá
Developer vs. Tester
Negativní dopadna vztah
Testneměřídobře!
Neumíšprogramovat!
Developer vs. Tester
Pojďme na to jinak
Jenpomyslíšatestsetispustísám
Geniální!
Developer vs. Tester
Chce to experimentovat
Joaha!
Tohletakypředělám!
Vyzkoušíme,uvidíme
Developer vs. Tester
Pozitivní výsledek
Rychlejšíwebneexistuje!
Mámetopodkontrolou
Developer vs. Tester
#2ZákladyPerformance Testingu Jan Verner
Performance architect& tech. [email protected]
Úvod do performance testingu
Chování systému pod zátěžíIdentifikace kritických místVýchozí bod pro opakované testyPerformance tuning
Ověření výkonnostních kritériíSimulace reálných uživatelů
Otázka #1Znáte nějaké metriky vhodné pro zátěžové testy?
Správná odpověď = 1 bod.(lze získat více bodů)
Otázka #1Znáte nějaké metriky vhodné pro zátěžové testy? • rychlost odezvy• průchodnost (throughput) • spolehlivost• latence• škálovatelnost• kapacita
Core Activities of Performance Testing
Identify the Test EnvironmentIdentify Performance Acceptance CriteriaPlan and Design TestsConfigure the Test Environment
Implement the Test DesignExecute the TestAnalyze Results, Report, and Retest
Otázka #2Proč dělat zátěžové testy?
Správná odpověď = 1 bod (lze získat více bodů)
Otázka #2Proč dělat zátěžové testy? • Optimalizace a ladění výkonu systému• Snížení nákladů na provoz• Sledování dopadu změny v systému na
jeho výkonnost, • Příprava na marketingovou kampaň• Průběžné vyhodnocování kondice
systému
Typy zátěžových testů
Výkonnostní test (Performance test)Test hraniční zátěže (Load/Stress test)Test odolnosti (Soak test)Test selhání (Failover test)
Test objemu dat (Volume test)
Otázka #3Jaký typ testů sedí na následující popis?
• Doba běhu: 24 hodin• Míra zátěže: produkční• Zapnutý profiling
Správná odpověď = 1 bod
Otázka #3Jaký typ testů sedí na následující popis?
SOAK Test
Testovací software
Základní princip (úroveň protokolu)Cloud / On premiseArchitektura
distribuovaného systému
Otázka #4K čemu slouží Data server?
Správná odpověď = 1 bod
Otázka #4K čemu slouží Data server?
K distribuci testovacích dat na generátory zátěže.
#3 Živá ukázka testu
#4 – příběh 1
High performance testing pro Fortuna a.s. Zdeněk Kalina
QA Team Leader& Polyglot [email protected]
Aplikace pro sportovní online sázeníFortuna a.s.
Denně 100k – 300k unikátních uživatelů
Webová vrstvaREST APIAMF protocolDatabáze
Podmínky pro spuštění testů
Testy až s 10k VU10k uživatelských účtů
Testovací prostředíSrovnání s produkcíOvěření před testem
Testy na produkci
Fortuna a.s.
Monitoring, Výstup,VyhodnoceníFortuna a.s.
KibanaJava Mission ControlReport SmartMeteru
Metodika vývojeFortuna a.s.
Neustálý vývoj
AgileScrumSprint 2 týdnyRelease 1x za týden
Testy před releasem1x měsíčně na
produkci
PředstaveníprojektuUniversity of Law
Univerzita v Londýně24 hod. úkoly pro studentyProblémy
Nárazová zátěž před koncem deadlinuPřetížení EZProxy
ZajímavostiUniversity of Law
Kombinace Cloud (90 %) & On premise (10 %)Cloud - pronajaté servery v
UK
ProblémyUniversity of Law
Nejasně definované cíle projektuKomunikační problémy
English ConfcallsČeský a zahraniční partner -> 4 strany
Propojení Cloudu & On premise (firewall)
Víkendové testy
#5Agilita a performance testing
#6Next steps& roadmap ofSmartMeter.io
Zbyněk HrašeBusiness owner& leader divize [email protected]
Prostředí, kde se pohybujeme
Kam v QA patří performance testing?
F (functionality) – funkčnostU (usability) – vhodnost k použitíR (reliability) – spolehlivostP (performance) – výkon
S (supportability) – schopnost být udržována
+ Test enviroment ready 1st+ Test data ready+ Test plan ready+Automation scripts ready
+Mocks & Stubs ready+ Time slots ready+Architecture understanding+ Infrastructure understanding
Jak začínáme s performance testy
Ready to GO
+Agents ready+Monitors ready+ Logs ready+Dev-Ops ready
+Cooperation 3rd parties ready
Readyto Report
Co je třeba k vyhodnocení
Performance tuning nikdy nekončí
Jaký bude další vývoj?
Jaký bude další vývoj ?
Tréninkové centrumIntegrace APM nástrojů > více než DynatraceWeb UI > On-premise aplikace
(Recorder, Runner, Editor = 2.0)
Web UI > Cloud servicesCI support + pokročilejší integrace
Nezapomeňte přednášku ohodnotit:
Jsme připraveni na Vaše dotazy.
Zbyněk Hraše
Product Manager
@SmartMeterIO
#SmartMeterIO
Pavel Lukeš
Performance architect
Jan Verner
Product tech leader
Děkujeme zapozornost!
bit.ly/performance-itvecer