Czym są testy skalowalności?
Testy skalowalności sprawdzają, czy aplikacja potrafi poprawnie działać przy rosnącym obciążeniu, np. większej liczbie użytkowników, zapytań HTTP, operacji na bazie danych lub większej ilości danych.
Ich celem nie jest sprawdzenie, czy aplikacja ma wszystkie funkcje ani czy jest dobrze opisana w dokumentacji. Testy skalowalności odpowiadają na pytanie: czy system nadal działa poprawnie, gdy obciążenie rośnie do zakładanego poziomu lub powyżej niego?
Co mierzy się podczas testów skalowalności?
Najczęściej analizuje się:
- czas odpowiedzi aplikacji,
- liczbę obsłużonych użytkowników jednocześnie,
- liczbę zapytań na sekundę,
- zużycie procesora, pamięci RAM i dysku,
- obciążenie bazy danych,
- liczbę błędów przy dużym ruchu.
Przykład
Sklep internetowy ma obsługiwać 500 użytkowników jednocześnie. W teście sprawdza się, czy aplikacja działa poprawnie przy 500 użytkownikach, a następnie np. przy 800 lub 1000 użytkownikach. Jeśli czas odpowiedzi gwałtownie rośnie albo pojawiają się błędy, aplikacja może mieć problem ze skalowalnością.
Testy skalowalności a inne testy
- Testy funkcjonalne sprawdzają, czy funkcje działają zgodnie z wymaganiami.
- Testy dokumentacji dotyczą jakości opisów i instrukcji.
- Testy bezpieczeństwa sprawdzają odporność na nieautoryzowany dostęp i ataki.
- Testy skalowalności dotyczą działania aplikacji przy zwiększonym obciążeniu.
W pytaniach egzaminacyjnych skalowalność należy kojarzyć przede wszystkim z obciążeniem, wydajnością i możliwością obsługi większej liczby użytkowników lub danych.