Co to jest testowanie skalowalności? Ucz się na przykładzie
Testowanie skalowalności
Testowanie skalowalności jest niefunkcjonalną metodą testowania, która mierzy wydajność systemu lub sieci, gdy liczba żądań użytkowników jest skalowana w górę lub w dół. Celem testowania skalowalności jest upewnienie się, że system może obsłużyć prognozowany wzrost ruchu użytkowników, wolumenu danych, częstotliwości liczenia transakcji itp. Testuje zdolność systemu do zaspokojenia rosnących potrzeb.
Jest to również określane jako testowanie wydajności, jako takie, koncentruje się na zachowaniu aplikacji, gdy jest wdrażana w większym systemie lub testowana przy nadmiernym obciążeniu. Inżynieria oprogramowaniaTestowanie skalowalności polega na zmierzeniu momentu, w którym aplikacja przestaje się skalować i zidentyfikowaniu przyczyny tego zjawiska.
Dlaczego warto testować skalowalność
- Testowanie skalowalności pozwala określić, w jaki sposób aplikacja skaluje się wraz ze wzrostem obciążenia.
- Określ limit użytkowników dla aplikacji internetowej.
- 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 testować w testach skalowalności
Oto kilka atrybutów testowania skalowalności:
- Czas odpowiedzi
- Przejście ekranu
- Wydajność
- Czas (czas sesji, czas ponownego uruchomienia, czas drukowania, czas transakcji, czas wykonania zadania)
- Pomiar wydajności z wieloma użytkownikami
- Żądanie na sekundę, transakcja na sekundę, trafienia na sekundę
- Pomiar wydajności z wieloma użytkownikami
- Wykorzystanie sieci
- Użycie procesora/pamięci
- Serwer WWW (żądanie i odpowiedź na sekundę)
- Pomiar wydajności pod obciążeniem
Strategia testowa do testowania skalowalności
Strategie testowe w przypadku testów skalowalności różnią się pod względem rodzaju testowanej aplikacji. Jeśli aplikacja uzyskuje dostęp do bazy danych, parametry testowe będą testować rozmiar bazy danych w stosunku 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 kontrolowanie go z centralnego punktu.
- Operasystem tingowy- Sprawdź co system operacyjny uruchom agentów generowania obciążenia i główny test obciążenia
- Procesor– Sprawdź, jaki typ procesora jest wymagany dla wirtualnego agenta użytkownika i wzorca testu obciążenia
- Pamięć– Sprawdź, ile pamięci wystarczy dla wirtualnego agenta użytkownika i wzorca testu obciążenia
Jak przeprowadzić testy skalowalności
- Zdefiniuj proces, który będzie powtarzalny w celu wykonywania testów skalowalności w całym cyklu życia aplikacji
- Określ kryteria skalowalności
- Lista narzędzi programowych wymaganych do przeprowadzenia testu obciążenia
- Ustaw środowisko testowe i skonfiguruj sprzęt wymagany do wykonania testów skalowalności
- Zaplanuj scenariusze testowe i testy skalowalności
- Utwórz i zweryfikuj skrypt wizualny
- Utwórz i zweryfikuj scenariusze testów obciążeniowych
- Wykonaj testy
- Oceń wyniki
- Generuj wymagane raporty
Plan testów skalowalności
Zanim faktycznie utworzysz testy, opracuj szczegółowy plan testów. Jest to ważny krok zapewniający zgodność testu z wymaganiami aplikacji.
Poniżej przedstawiono atrybuty służące do tworzenia dobrze zdefiniowanego Plan testów do testowania skalowalności.
- Kroki dla skryptów: Skrypt testowy powinien zawierać szczegółowy krok określający dokładne działania, które wykona użytkownik.
- Dane czasu wykonania: Plan testów powinien określać wszelkie dane wykonawcze 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 polega na sprawdzeniu możliwości systemu, sieci lub procesu w sytuacji, gdy rozmiar/objętość systemu ulega zmianie w celu zaspokojenia rosnących potrzeb.
- Ideą testów skalowalności jest zmierzenie, w którym momencie aplikacja przestaje się skalować i identyfikacja przyczyny
- Strategie testowe w przypadku testów skalowalności różnią się pod względem rodzaju testowanej aplikacji.