Testy dotyczące skalowalności oprogramowania mają za zadanie sprawdzić, czy aplikacja
A. jest odpowiednio udokumentowana.
Źle. Dokumentację ocenia się w przeglądzie dokumentacji, nie w testach skalowalności.
B. jest zdolna do pracy przy zakładanym i większym obciążeniu.
Dobrze. Skalowalność to zdolność do pracy przy zakładanym i rosnącym obciążeniu.
C. jest odporna na nieautoryzowane działania, takie jak dzielenie przez zero.
Źle. Odporność na nieautoryzowane działania badają testy bezpieczeństwa, a dzielenie przez zero - testy jednostkowe.
D. ma odpowiednią funkcjonalność.
Źle. Zgodność funkcji z wymaganiami sprawdzają testy funkcjonalne.
Pytanie z egzaminu CKE, styczeń 2020 (arkusz EE.09-SG-20.01).
Testy skalowalności sprawdzają, czy aplikacja poradzi sobie przy zakładanym i większym obciążeniu. Mierzy się, jak zmienia się czas odpowiedzi, zużycie procesora i pamięci, gdy rośnie liczba użytkowników, żądań albo ilość danych. Aplikacja skalowalna zwiększa wydajność po dodaniu zasobów: mocniejszego serwera (skalowanie pionowe) albo kolejnych serwerów (skalowanie poziome). Do zapamiętania: skalowalność to zdolność do obsługi rosnącego obciążenia. Pokrewne są testy obciążeniowe, sprawdzające pracę przy przewidywanym ruchu, i przeciążeniowe, szukające punktu awarii. Wykonuje się je narzędziami takimi jak Apache JMeter czy k6, na przykład przed startem sklepu internetowego w okresie wyprzedaży. Wynikiem testu jest zwykle wykres czasu odpowiedzi od liczby jednoczesnych użytkowników.
Każdy z błędnych opisów pasuje do innego rodzaju testów. Sprawdzanie, czy aplikacja ma właściwe funkcje, to testy funkcjonalne - porównują działanie programu z wymaganiami, niezależnie od liczby użytkowników. Ocena dokumentacji to przegląd dokumentacji, a nie test wydajności. Odporność na nieautoryzowane działania należy do testów bezpieczeństwa, a reakcję na dzielenie przez zero sprawdza się testami jednostkowymi i obsługą wyjątków. Słowo „skalowalność” odnosi się wyłącznie do zachowania przy rosnącej skali: większej liczbie użytkowników, żądań czy danych. Dlatego testy skalowalności badają, czy aplikacja pracuje przy zakładanym i większym obciążeniu. Pomaga skojarzenie z angielskim scale, czyli skala - test sprawdza, co się dzieje, gdy skala rośnie. Na egzaminie łatwo rozpoznać rodzaj testu po słowie kluczowym w pytaniu: funkcjonalność, bezpieczeństwo, wydajność, skalowalność - każde wskazuje inną grupę testów.