Testowanie skalowalności
Testowanie skalowalności to niefunkcjonalna metoda testowania, która mierzy wydajność systemu lub sieci, gdy liczba żądań użytkowników jest skalowana w górę lub w dół. Celem testów skalowalności jest zapewnienie, że system poradzi sobie z przewidywanym wzrostem ruchu użytkowników, wolumenu danych, częstotliwości zliczania transakcji itp. Testuje zdolność systemu do sprostania rosnącym potrzebom.
Nazywa się to również testowaniem wydajności, ponieważ koncentruje się na zachowaniu aplikacji po wdrożeniu w większym systemie lub przetestowaniu pod nadmiernym obciążeniem. W inżynierii oprogramowania testowanie skalowalności polega na pomiarze, w jakim momencie aplikacja przestaje skalować i zidentyfikowaniu przyczyny takiego stanu rzeczy.
Dlaczego testowanie skalowalności
- Testowanie skalowalności pozwala określić, jak aplikacja skaluje się wraz ze wzrostem obciążenia.
- Określ limit użytkowników dla aplikacji sieci Web.
- Określ degradację po stronie klienta i wrażenia użytkownika końcowego pod obciążeniem.
- Określ niezawodność i degradację po stronie serwera.
Co przetestować w testowaniu skalowalności
Oto kilka atrybutów testowania skalowalności:
- Czas odpowiedzi
- Zmiana ekranu
- Wydajność
- Czas (czas sesji, czas ponownego uruchomienia, czas drukowania, czas transakcji, czas wykonania zadania)
- Pomiar wydajności dla wielu użytkowników
- Żądanie na sekundę, transakcja na sekundę, trafienia na sekundę
- Pomiar wydajności dla wielu użytkowników
- Wykorzystanie sieci
- Wykorzystanie procesora / pamięci
- Serwer WWW (żądanie i odpowiedź na sekundę)
- Pomiar wydajności pod obciążeniem
Strategia testów do testowania skalowalności
Strategia testów dla skalowalności Testowanie różni się pod względem typu testowanej aplikacji. Jeśli aplikacja uzyskuje dostęp do bazy danych, parametry testowe będą testować rozmiar bazy danych w odniesieniu do liczby użytkowników i tak dalej.
Wymagania wstępne dotyczące testowania skalowalności
- Możliwość dystrybucji obciążenia - sprawdź, czy narzędzie do testowania obciążenia umożliwia generowanie obciążenia z wielu maszyn i sterowanie z centralnego punktu.
- System operacyjny - sprawdź, w jakich systemach operacyjnych działają agenty generowania obciążenia i główny test obciążenia
- Procesor - sprawdź, jaki typ procesora jest wymagany dla wirtualnego agenta użytkownika i załaduj test główny
- Pamięć - sprawdź, ile pamięci wystarczyłoby dla wirtualnego agenta użytkownika i załaduj wzorzec testu
Jak przeprowadzić testy skalowalności
- Zdefiniuj proces, który jest powtarzalny w celu wykonywania testów skalowalności w całym cyklu życia aplikacji
- Określ kryteria skalowalności
- Lista narzędzi oprogramowania wymaganych do uruchomienia testu obciążenia
- Ustaw środowisko testowe i skonfiguruj sprzęt wymagany do wykonywania testów skalowalności
- Zaplanuj scenariusze testów, a także testy skalowalności
- Stwórz i zweryfikuj skrypt wizualny
- Utwórz i zweryfikuj scenariusze testów obciążenia
- Wykonaj testy
- Oceń wyniki
- Wygeneruj wymagane raporty
Plan testów skalowalności
Zanim faktycznie utworzysz testy, opracuj szczegółowy plan testów. Jest to ważny krok, aby upewnić się, że test jest zgodny z wymaganiami aplikacji.
Poniżej przedstawiono atrybuty tworzenia dobrze zdefiniowanego planu testów do testowania skalowalności.
- Kroki dla skryptów : skrypt testowy powinien zawierać szczegółowy krok, który określa dokładne działania, które użytkownik mógłby wykonać.
- Dane czasu wykonywania : Plan testów powinien określać wszelkie dane czasu wykonywania, które są wymagane do interakcji z aplikacją
- Testy oparte na danych : jeśli skrypty wymagają różnych danych w czasie wykonywania, musisz znać wszystkie pola, które wymagają tych danych.
Testowanie skalowalności a testowanie obciążenia
Testowanie skalowalności | Testowanie obciążenia |
---|---|
|
|
Podsumowanie:
- Jest to rodzaj testowania oprogramowania, który sprawdza zdolność systemu, sieci lub procesu, gdy rozmiar / objętość systemu jest zmieniana w celu zaspokojenia rosnącej potrzeby.
- Ideą testowania skalowalności jest zmierzenie, w którym momencie aplikacja przestaje skalować i zidentyfikowanie przyczyny takiego działania
- Strategia testów dla skalowalności Testowanie różni się pod względem typu testowanej aplikacji.