Testy wydajnościowe
Testy wydajności zapewniają, że wytwarzana aplikacja będzie szybka, stabilna i skalowalna dla użytkowników. Pozwalają nam zasymulować ruch dzięki któremu możemy zobaczyć, jak zareaguje aplikacja. Pozwala nam zidentyfikować wąskie gardła zarówno w kodzie, jak i infrastrukturze a następnie wprowadzić niezbędne poprawki, zanim kod trafi na produkcję.
Takie testy wydajnościowe możemy włączyć do ciągłej integrację i weryfikować jak aplikacja zachowa się w przypadku dołożenia nowych funkcjonalności.
Co to są testy obciążeniowe i przeciążeniowe?
Mamy wiele rodzajów testów wydajnościowych, ale w tym wpisie skupimy się na testach przeciążeniowych i testach obciążeniowych.
Load testing (testy obciążeniowe) – pozwalają nam zweryfikować jak system zachowa się przy oczekiwanym obciążeniu i ukażą nam jak takie obciążenie aplikacji przekłada się na czas odpowiedzi naszej aplikacji. Czyli ogólnie mówiąc celem testów obciążeniowych nie jest popsucie aplikacji np. generując takie obciążenie przy którym aplikacja nie będzie działała.
Stress testing (testy przeciążeniowe) – Testy przeciążeniowe mają jeden główny cel. A jest nim uzyskanie odpowiedzi na pytanie jaka jest maksymalna liczba użytkowników, których może obsłużyć aplikacja. Dodatkowo będziemy w stanie zobaczyć co się dalej stanie jak ten próg maksymalnych użytkowników zostanie przekroczony. Czy aplikacja zachowa się w oczekiwany sposób np. zostanie dołożona nowa instancja.
Dobre praktyki testowania wydajności
- Ustal priorytety testów wydajności. Niemożliwe jest objęcie każdego przepływu pracy użytkownika testami wydajności – zwłaszcza przy tak wielu różnych typach. Najpierw skoncentruj się na najważniejszych aspektach.
- Dodaj testy wydajności do procesu CI/CD. Testy wydajności powinny być przeprowadzane w ramach procesu ciągłej integracji i wdrażania, aby zapewnić ich konsekwentne wykonywanie zgodnie z harmonogramem.
- Czas na rozwiązanie wszelkich problemów z wydajnością. Jeśli uruchamiasz testy wydajności wystarczająco wcześnie w procesie tworzenia, zostawiasz czas na wprowadzenie poprawek przed wdrożeniem produkcyjnym. Często oznacza to przesunięcie wysiłków testowych w lewo (z ang. shift left).
Praktyczny kurs testowania oprogramowania
Jesteś na początku swojej drogi jako tester oprogramowania? W takim razie ten kurs jest przeznaczony dla Ciebie.
Automatyzacja z Typescript + WebdriverIO
Zostań testerem automatyzującym. W tym kursie nauczysz się automatyzować oprogramowanie za pomocą Typescript oraz WebdriverIO.
Jira od podstaw - zarządzanie projektami
Kurs związany z narzędziem Jira. Jeśli poszukujesz swojej pierwszej pracy jako tester oprogramowania to ten kurs będzie dla Ciebie idealny!
Postman od podstaw - testowanie REST API
Naucz się od podstaw aplikacji Postman i dowiedz się jak wygląda w praktyce testowanie REST API. Dedykowany kurs postman dla testerów.
Cypress od podstaw - Automatyzacja testów
Naucz się automatyzacji aplikacji webowych w najbardziej popularnym narzędziu do automatyzacji Cypress. W kursie wszystkiego nauczysz się od podstaw.
JavaScript od podstaw
Poznaj podstawy najpopularniejszego języka JavaScript. Kurs jest dedykowany dla osób, które chcą zostać webdeweloperem bądź testerem automatyzującym.