SlideShare a Scribd company logo
testów
wydajnościowych
Jakub Chabik
EPAM Systems
Testwarez 2017
O wykładowcy
• Absolwent informatyki, doktor zarządzania
• Od 25 lat w świecie software
• Aktualnie – szef rozwoju w firmie EPAM Systems w projekcie dla klienta
finansowego
• Wcześniej – odpowiedzialny za testy, w tym wydajnościowe u dużego,
międzynarodowego dostawcy technologii
• Geek, publicysta, nieustający entuzjasta technologii
Testy funkcjonalne a wydajnościowe
Testy funkcjonalne Testy wydajnościowe
• Istotne w każdym systemie
• Odpowiada na pytanie „czy
działa”
• Binarny wynik: pass, fail
• Jeden test, jeden wynik
• Ręczne i automatyczne
• Powszechnie dostępne
platformy
• Szeroko dostępne
kompetencje
• Istotne w systemach, gdzie
wydajność ma istotne
znaczenie
• Odpowiada na pytanie „jak
działa”
• Wynikiem jest seria / serie
danych
• Jeden test, mnóstwo
wyników
• Właściwie wyłącznie
automatyczne
• Specjalistyczne platformy
• Niszowe kompetencje
Ensō testów wydajnościowych
Cel testu
Warunki
testu
Scenariusz
testu
Test
Analiza
Metadane
System testujący i dane
Monitoring platformy
Zapis danych
Wizualizacja
i rekomendacja
Co i po co testujemy?
Przykład testu wydajnościowego
Czy platforma sklepu internetowego
wytrzyma 25 tys. równoległych
użytkowników?
Cel
Warunki
ScenariuszTest
Analiza
– klaster 4 serwerów
webowych
– 8 równoległych serwerów
aplikacyjnych
– Serwer bazodanych z
gorącym backupem
– Policzyć mediany i spany
szeregów czasowych
– Przenalizować 90 percentyl
czasów odpowiedzi
– Sprawdzić, czy obciążenie
procesorówna platformach
aplikacyjnych i bazodanych
nie wyszło poza 70%
Zapisać dane w bazie
– Stworzyć skrypt zakupu w
sklepie
– Uruchomić 25 tys.
równoległych klientów
– Uruchmić nagios, top i netstat
Konfiguracja środowiska testów
wydajnościowych
Testowane urządzenia /
aplikacje
Sterownik testów
Baza danych
Cele testu wydajnościowego
Czego szukamy Jak to sprawdzić
Jaki będzie czas odpowiedzi
systemu
Automat „klikający” po aplikacji,
pomiar czasu; mediana + 90
percentyl
Jaka jest optymalna konfiguracja
sprzęt/system operacyjny
Ten sam test dla różnych
konfiguracji
Jakie są granice wydajności
urządzenia/aplikacji (stress test)
Zaprojektować i uruchomić test,
zwiększać liczbę równoległych
klientów, monitorować
platformę
Metadane na temat testu
wydajnościowgo
• Data i godzina testu
• Dokładny opis konfiguracji sprzętowej
• Wersja systemu operacyjnego
• Wersja testowanego
urządzenia/oprogramowania
• Testowane dane
...najlepiej zrzuty automatyczne
Przykładowy log testu
wydajnościowego
{
configuration : {
hardware: {
processors: [...],
disks [...] }
software: {
OS: { version: ... }
database: {...}
}
{
test conditions: {
parallel clients: ...
sample size: ...
delay: ...
}
{
test results: {
main result:
data points: [
0: {timestamp: ...}
1: {timestamp: ...}
Zapisuj metadane z testów razem z ich
wynikami, w znormalizowanej postaci
Co ciekawego pokazują testy
wydajnościowe (1/2)
Przedmiot testowany: dysk SSD. Czas odczytu powininien dla 90% odczytów
mieścić się poniżej 80 ns.
Konfiguracja
Niebieska
Konfiguracja
Zielona
Konfiguracja
Czarna
Średnia 53,0 72,2 64,0
Mediana 53,0 71,2 62,6
Odch. St. 2,0 4,4 8,9
Odsetek
powyżej 80 ns 100,0% 92,9% 92,9%
„Sensei, którą konfigurację mam wybrać?”
Co ciekawego pokazują testy
wydajnościowe (2/2)
Przedmiot testowany: dysk SSD. Czas odczytu powininien dla 90% odczytów
mieścić się poniżej 80 ns.
Demony mogą kryć się
w danych
nie wahaj się zajrzeć do środka
Haiku o testach wydajnościowych
Zadanie optymalizacyjne
• Mamy platformę e-commerce
• Nie wiemy, jaka jest optymalna konfiguracja
programowa i sprzętowa
– RedHat czy Fedora
– 2 czy 4 serwery
– Apache czy Glassfish
– Ograniczenie 16, 32, czy 64 wątków?
Łączna liczba permutacji: 24. Czy musimy sprawdzać
wszystkie?
Niekoniecznie!
Start
RedHat
2 serwery
Apache
16 wątków
32 wątki
64 wątki
Glassfish
16 wątków
32 wątki
64 wątki
4 serwery
Apache
16 wątków
32 wątki
64 wątki
Glassfish
16 wątków
32 wątki
64 wątki
Fedora
2 serwery
Apache
16 wątków
32 wątki
64 wątki
Glassfish
16 wątków
32 wątki
64 wątki
4 serwery
Apache
16 wątków
32 wątki
64 wątki
Glassfish
16 wątków
32 wątki
64 wątki
Test w 5 krokach i 4 dodakowych
Kōan testów wydajnościowych:
Idź szybko, ale wolnym krokiem
Zmień wszystko, zmieniając tylko jedno
Typowe błędy w testach
wydajnościowych
• Niesformułowanie celu testu
• Warunki testu nieadekwatne do jego celu
• Brak informacji o warunkach testu
• Brak normalizacji danych
• Brak walidacji systemu pomiarowego (błąd
metody)
• Niepowtórzenie testu
• Zbieranie zbyt dużej liczby nieistotnych danych
Opowiadanie historii za pomocą
danych (1/6)
Rozmiar pliku[MB] Czas przetwarzania [s]
3 12,044
5 24,137
7 29,175
2 29,004
1 4,383
5 24,068
8 34,129
5,5 23,146
1,5 6,747
6,1 24,853
Opowiadanie historii za pomocą
danych (2/6)
Opowiadanie historii za pomocą
danych (3/6)
Opowiadanie historii za pomocą
danych (4/6)
Opowiadanie historii za pomocą
danych (5/6)
K1 K2 K3 K4 K5 K6
Liczba serwerów w
klastrze 2 2 2 4 4 4
Wersja systemu
operacyjnego RedHat Fed RedHat Fedora Fedora RedHat
Wersja aplikacji Apache Apache Glassfish Glassfish Apache Glassfish
Liczba wątków 64 32 32 32 16 16
Czas przetwarzania
dobowego 04:04:41 02:04:23 03:48:12 01:01:00 01:14:22 01:08:59
Pobór mocy [kWh] 14,4 16,4 18,1 31 33 31
Koszt konfiguracji 32351 31523 34153 61234 63126 65125
Opowiadanie historii za pomocą
danych (6/6)
Krótko trwają, dużo kosztują
Są tanie, ale długo trwają
Konfiguracja
optymalna
Wielkość bańki: koszt konfigruacji
Gaman testów wydajnościowych
• Sformułuj cel testu i dobierz do niego
warunki
• Zbieraj dane
• Przechowuj metadane
• Analizuj je, starając się dostrzec
całą złożoność obrazu
• Opowiedz historię
Dziękuję za uwagę

More Related Content

What's hot

Interoperability Testing
Interoperability TestingInteroperability Testing
Interoperability Testing
kraqa
 
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
kraqa
 
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
kraqa
 
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
kraqa
 
PyLadies #3
PyLadies #3PyLadies #3
PyLadies #3
Kamil Rykowski
 
Automation of functional tests using JMeter (in Polish)
Automation of functional tests using JMeter (in Polish)Automation of functional tests using JMeter (in Polish)
Automation of functional tests using JMeter (in Polish)
Tieto Corporation
 
JMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatkiJMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatki
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
JMeter – narzędzie testera
JMeter – narzędzie testeraJMeter – narzędzie testera

What's hot (8)

Interoperability Testing
Interoperability TestingInteroperability Testing
Interoperability Testing
 
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
Więcej testów/mniej kodu - Michał Gaworski, kraQA 13
 
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
Monika Braun - "Tester i frameworki agilowe - rola testera w różnych metodyka...
 
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
Adam Roman, Dariusz Drezno - "Studia podyplomowe z testowania oprogramowania ...
 
PyLadies #3
PyLadies #3PyLadies #3
PyLadies #3
 
Automation of functional tests using JMeter (in Polish)
Automation of functional tests using JMeter (in Polish)Automation of functional tests using JMeter (in Polish)
Automation of functional tests using JMeter (in Polish)
 
JMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatkiJMeter - narzędzie testera - notatki
JMeter - narzędzie testera - notatki
 
JMeter – narzędzie testera
JMeter – narzędzie testeraJMeter – narzędzie testera
JMeter – narzędzie testera
 

Similar to [TestWarez 2017] Zen testów wydajnościowych

MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
Marcin Samsonowski
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
Flopsar Technology
 
Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
Wydawnictwo Helion
 
Bezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowychBezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowych
Piotr Piotrowski
 
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
Future Processing
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
kraqa
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
Katarzyna Javaheri-Szpak
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
Future Processing
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
Katarzyna Javaheri-Szpak
 
Automatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacjiAutomatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacji
Radoslaw Smilgin
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
Bartosz Ratajczyk
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
allegro.tech
 
Edukacja testerska na Quality in IT
Edukacja testerska na Quality in ITEdukacja testerska na Quality in IT
Edukacja testerska na Quality in IT
Radoslaw Smilgin
 
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMHJDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
PROIDEA
 
SQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracjiSQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracji
SQLExpert.pl
 
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
SzymonSadlo
 
Wzorce projektowe w automatyzacji testów aplikacji webowych
Wzorce projektowe w automatyzacji testów aplikacji webowychWzorce projektowe w automatyzacji testów aplikacji webowych
Wzorce projektowe w automatyzacji testów aplikacji webowych
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Microsoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 rokuMicrosoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 roku
HighWheelSoftware
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
The Software House
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
Redge Technologies
 

Similar to [TestWarez 2017] Zen testów wydajnościowych (20)

MS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowychMS - Wprowadzenie do testów jednostkowych
MS - Wprowadzenie do testów jednostkowych
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
Perl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programistyPerl. Testowanie. Zapiski programisty
Perl. Testowanie. Zapiski programisty
 
Bezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowychBezstratna kompresja listy przypadków testowych
Bezstratna kompresja listy przypadków testowych
 
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
[Quality Meetup#12] P. Podsiadlik, R. Peroń - Testy regresji z perspektywy pi...
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
Automatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacjiAutomatyzacja w praktyce. Praktyka automatyzacji
Automatyzacja w praktyce. Praktyka automatyzacji
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Edukacja testerska na Quality in IT
Edukacja testerska na Quality in ITEdukacja testerska na Quality in IT
Edukacja testerska na Quality in IT
 
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMHJDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
JDD 2016 - Wojciech Oczkowski - Testowanie Wydajnosci Za Pomoca Narzedzia JMH
 
SQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracjiSQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracji
 
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
Optymalizacyjna magia, czyli jak wyciągać króliki z kapelusza
 
Wzorce projektowe w automatyzacji testów aplikacji webowych
Wzorce projektowe w automatyzacji testów aplikacji webowychWzorce projektowe w automatyzacji testów aplikacji webowych
Wzorce projektowe w automatyzacji testów aplikacji webowych
 
Microsoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 rokuMicrosoft Business Intelligence w 2017 roku
Microsoft Business Intelligence w 2017 roku
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Agile business analyst
Agile business analystAgile business analyst
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI) (20)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Star Trek: BDD Enterprise
 
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Model based testing as a BA tool
 
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Communication - Language of Leader
 
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Zagraj w zaangażowanie
 
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
 
Agile business analyst
Agile business analystAgile business analyst
Agile business analyst
 
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
7 Skills for highly effective teams
 
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
 
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
[TestWarez 2017] „Przypadek Testowy” a „Kliencki Przypadek Użycia”
 

[TestWarez 2017] Zen testów wydajnościowych

  • 2. O wykładowcy • Absolwent informatyki, doktor zarządzania • Od 25 lat w świecie software • Aktualnie – szef rozwoju w firmie EPAM Systems w projekcie dla klienta finansowego • Wcześniej – odpowiedzialny za testy, w tym wydajnościowe u dużego, międzynarodowego dostawcy technologii • Geek, publicysta, nieustający entuzjasta technologii
  • 3. Testy funkcjonalne a wydajnościowe Testy funkcjonalne Testy wydajnościowe • Istotne w każdym systemie • Odpowiada na pytanie „czy działa” • Binarny wynik: pass, fail • Jeden test, jeden wynik • Ręczne i automatyczne • Powszechnie dostępne platformy • Szeroko dostępne kompetencje • Istotne w systemach, gdzie wydajność ma istotne znaczenie • Odpowiada na pytanie „jak działa” • Wynikiem jest seria / serie danych • Jeden test, mnóstwo wyników • Właściwie wyłącznie automatyczne • Specjalistyczne platformy • Niszowe kompetencje
  • 4. Ensō testów wydajnościowych Cel testu Warunki testu Scenariusz testu Test Analiza Metadane System testujący i dane Monitoring platformy Zapis danych Wizualizacja i rekomendacja Co i po co testujemy?
  • 5. Przykład testu wydajnościowego Czy platforma sklepu internetowego wytrzyma 25 tys. równoległych użytkowników? Cel Warunki ScenariuszTest Analiza – klaster 4 serwerów webowych – 8 równoległych serwerów aplikacyjnych – Serwer bazodanych z gorącym backupem – Policzyć mediany i spany szeregów czasowych – Przenalizować 90 percentyl czasów odpowiedzi – Sprawdzić, czy obciążenie procesorówna platformach aplikacyjnych i bazodanych nie wyszło poza 70% Zapisać dane w bazie – Stworzyć skrypt zakupu w sklepie – Uruchomić 25 tys. równoległych klientów – Uruchmić nagios, top i netstat
  • 6. Konfiguracja środowiska testów wydajnościowych Testowane urządzenia / aplikacje Sterownik testów Baza danych
  • 7. Cele testu wydajnościowego Czego szukamy Jak to sprawdzić Jaki będzie czas odpowiedzi systemu Automat „klikający” po aplikacji, pomiar czasu; mediana + 90 percentyl Jaka jest optymalna konfiguracja sprzęt/system operacyjny Ten sam test dla różnych konfiguracji Jakie są granice wydajności urządzenia/aplikacji (stress test) Zaprojektować i uruchomić test, zwiększać liczbę równoległych klientów, monitorować platformę
  • 8. Metadane na temat testu wydajnościowgo • Data i godzina testu • Dokładny opis konfiguracji sprzętowej • Wersja systemu operacyjnego • Wersja testowanego urządzenia/oprogramowania • Testowane dane ...najlepiej zrzuty automatyczne
  • 9. Przykładowy log testu wydajnościowego { configuration : { hardware: { processors: [...], disks [...] } software: { OS: { version: ... } database: {...} } { test conditions: { parallel clients: ... sample size: ... delay: ... } { test results: { main result: data points: [ 0: {timestamp: ...} 1: {timestamp: ...}
  • 10. Zapisuj metadane z testów razem z ich wynikami, w znormalizowanej postaci
  • 11. Co ciekawego pokazują testy wydajnościowe (1/2) Przedmiot testowany: dysk SSD. Czas odczytu powininien dla 90% odczytów mieścić się poniżej 80 ns. Konfiguracja Niebieska Konfiguracja Zielona Konfiguracja Czarna Średnia 53,0 72,2 64,0 Mediana 53,0 71,2 62,6 Odch. St. 2,0 4,4 8,9 Odsetek powyżej 80 ns 100,0% 92,9% 92,9% „Sensei, którą konfigurację mam wybrać?”
  • 12. Co ciekawego pokazują testy wydajnościowe (2/2) Przedmiot testowany: dysk SSD. Czas odczytu powininien dla 90% odczytów mieścić się poniżej 80 ns.
  • 13. Demony mogą kryć się w danych nie wahaj się zajrzeć do środka Haiku o testach wydajnościowych
  • 14. Zadanie optymalizacyjne • Mamy platformę e-commerce • Nie wiemy, jaka jest optymalna konfiguracja programowa i sprzętowa – RedHat czy Fedora – 2 czy 4 serwery – Apache czy Glassfish – Ograniczenie 16, 32, czy 64 wątków? Łączna liczba permutacji: 24. Czy musimy sprawdzać wszystkie?
  • 15. Niekoniecznie! Start RedHat 2 serwery Apache 16 wątków 32 wątki 64 wątki Glassfish 16 wątków 32 wątki 64 wątki 4 serwery Apache 16 wątków 32 wątki 64 wątki Glassfish 16 wątków 32 wątki 64 wątki Fedora 2 serwery Apache 16 wątków 32 wątki 64 wątki Glassfish 16 wątków 32 wątki 64 wątki 4 serwery Apache 16 wątków 32 wątki 64 wątki Glassfish 16 wątków 32 wątki 64 wątki Test w 5 krokach i 4 dodakowych
  • 16. Kōan testów wydajnościowych: Idź szybko, ale wolnym krokiem Zmień wszystko, zmieniając tylko jedno
  • 17. Typowe błędy w testach wydajnościowych • Niesformułowanie celu testu • Warunki testu nieadekwatne do jego celu • Brak informacji o warunkach testu • Brak normalizacji danych • Brak walidacji systemu pomiarowego (błąd metody) • Niepowtórzenie testu • Zbieranie zbyt dużej liczby nieistotnych danych
  • 18. Opowiadanie historii za pomocą danych (1/6) Rozmiar pliku[MB] Czas przetwarzania [s] 3 12,044 5 24,137 7 29,175 2 29,004 1 4,383 5 24,068 8 34,129 5,5 23,146 1,5 6,747 6,1 24,853
  • 19. Opowiadanie historii za pomocą danych (2/6)
  • 20. Opowiadanie historii za pomocą danych (3/6)
  • 21. Opowiadanie historii za pomocą danych (4/6)
  • 22. Opowiadanie historii za pomocą danych (5/6) K1 K2 K3 K4 K5 K6 Liczba serwerów w klastrze 2 2 2 4 4 4 Wersja systemu operacyjnego RedHat Fed RedHat Fedora Fedora RedHat Wersja aplikacji Apache Apache Glassfish Glassfish Apache Glassfish Liczba wątków 64 32 32 32 16 16 Czas przetwarzania dobowego 04:04:41 02:04:23 03:48:12 01:01:00 01:14:22 01:08:59 Pobór mocy [kWh] 14,4 16,4 18,1 31 33 31 Koszt konfiguracji 32351 31523 34153 61234 63126 65125
  • 23. Opowiadanie historii za pomocą danych (6/6) Krótko trwają, dużo kosztują Są tanie, ale długo trwają Konfiguracja optymalna Wielkość bańki: koszt konfigruacji
  • 24. Gaman testów wydajnościowych • Sformułuj cel testu i dobierz do niego warunki • Zbieraj dane • Przechowuj metadane • Analizuj je, starając się dostrzec całą złożoność obrazu • Opowiedz historię