Performance testy v době continuous delivery (ITvečer na FIT ČVUT)

Post on 20-Jan-2017

796 views 2 download

transcript

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 ownerpavel.lukes@etnetera.cz

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. leaderjan.verner@etnetera.cz

Ú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 Programmerzdenek.kalina@etnetera.cz

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

#4 – příběh 2

University of LawLondon Jan Verner

Performance architect& tech. leaderjan.verner@etnetera.cz

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 produktyzbynek.hrase@etnetera.cz

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

Pavel.lukes@smartmeter.io

@SmartMeterIO

#SmartMeterIO

Pavel Lukeš

Performance architect

Jan Verner

Product tech leader

Děkujeme zapozornost!

bit.ly/performance-itvecer

Jan.verner@smartmeter.io

Zbynek.hrase@smartmeter.io