Co to jest testowanie porównawcze?

⚡ Inteligentne podsumowanie

Testy porównawcze ustanawiają powtarzalny, mierzalny standard wydajności aplikacji, dzięki czemu można porównywać z nim każdą przyszłą wersję. Bez punktu odniesienia wynik wydajności jest jedynie liczbą, na podstawie której nie ma żadnych podstaw.

  • 📏 Główny cel: Utwórz pomiar referencyjny, z którym będą porównywane późniejsze wersje.
  • 🔁 Zasada powtarzalności: Zawsze ten sam sprzęt, dane i konfiguracja, w przeciwnym razie porównanie nie ma sensu.
  • 📐 Cztery fazy: Planowanie, analiza, integracja i działanie – każde z określonymi wynikami.
  • 🧪 Izolacja: Należy zmieniać jedną zmienną na przebieg, w przeciwnym razie nie będzie można stwierdzić różnicy.
  • 📊 Podstawa porównania: Testy porównawcze porównują produkty z poprzednimi wersjami, produktami konkurencji lub standardami branżowymi.
  • ⚠️ Częsty błąd: Analiza porównawcza w środowisku współdzielonym lub wirtualnym generuje większy szum niż mierzony efekt.

Czym jest testowanie porównawcze

Zanim nauczymy się testowania porównawczego, zrozummy:

Punkt odniesienia w testowaniu wydajności

A Punkt odniesienia w testowaniu wydajności to metryka lub punkt odniesienia, względem którego można porównać oprogramowanie lub usługi w celu oceny miar jakości. Innymi słowy, Benchmark oznacza ustalony standard, który pomaga określić jakość oprogramowania lub usługi. Możemy przeprowadzić test porównawczy oprogramowania lub usługi, aby ocenić ich jakość.

Na przykład drużyna piłkarska ma punkt odniesienia dla gracza, który może zakwalifikować się jako zawodnik zawodnik pierwszej ligi. Zestaw umiejętności, który należy wziąć pod uwagę, może obejmować liczbę bramek strzelonych w ostatnich pięciu sezonach, posiadanie piłki w pierwszej połowie lub minimalną liczbę rozegranych meczów w lokalnym turnieju itd.

Co to jest testowanie porównawcze?

Testowanie porównawcze mierzy powtarzalny zestaw wymiernych wyników, który służy jako punkt odniesienia, z którym można porównać produkty/usługi. Celem wyników testów porównawczych jest porównanie obecnych i przyszłych wersji oprogramowania z odpowiednimi testami porównawczymi.

Punkt odniesienia musi być powtarzalne. Na przykład, jeśli czasy odpowiedzi zbytnio się różnią, przy każdej iteracji testu obciążenia należy przeprowadzić test porównawczy wydajności systemu. Czas reakcji musi być stabilny w różnych warunkach obciążenia.

Punkt odniesienia musi być kwantyfikowalneNa przykład, doświadczenia użytkownika nie da się wyrazić liczbami, ale czas, jaki użytkownik spędza na stronie internetowej dzięki dobremu interfejsowi użytkownika, można wyrazić liczbowo.

Testowanie porównawcze nie jest terminem odnoszącym się tylko do testowania oprogramowania, ale dotyczy także testowania sprzętu i jest uważany za jedno z najważniejszych zadań w świecie biznesu.

W tym samouczku omówimy testy porównawcze dla aplikacji klient-serwer lub, innymi słowy, aplikacji internetowej. Testy porównawcze można wykonać dla następujących usług,

  • Zgodność przeglądarki
  • Broken Links
  • Zgodność z HTML
  • Czas ładowania
  • Accessibility
  • Popularność linku

Dlaczego testy porównawcze są ważne

Na poziomie biznesowym pomocne w ustaleniu mogą być testy porównawcze

  • Jak dobrze aplikacja internetowa radzi sobie z konkurencją
  • Jak różni klienci postrzegają czas reakcji i dostępność witryny
  • Dba o to, aby strony internetowe były zgodne ze standardami i najlepszymi praktykami
  • Umożliwia ocenę zewnętrznych dostawców usług przed podjęciem decyzji o zakupie.tracdecyzja
  • Pozwala dowiedzieć się, jakich błędów należy unikać

Tworzenie planu testów porównawczych

Plan testów jest najważniejszym elementem procesu testów porównawczych. Plan testów porównawczych obejmuje kroki podane poniżej:

  1. Skalowanie i wywoływanie obciążenia
  2. Zbieraj i przechowuj miary do testów porównawczych
  3. Zdefiniuj wymagany okres czasu i punkt końcowy procesu testowego
  4. Przygotuj plan tworzenia kopii zapasowych, aby przezwyciężyć każdą nową awarię przypadku testowego
  5. Zdecyduj, kto ma wywołać zakończenie procesu końcowego

Jak przeprowadzić testy porównawcze

Testowanie porównawcze składa się z 4 etapów:

Testowanie porównawcze

Krok 1) Faza planowania

  • Identyfikacja i ustalanie priorytetów standardów i wymagań
  • Zdecyduj o kryteriach odniesienia
  • Zdefiniuj proces testów porównawczych

Krok 2) Faza analizy

  • Zidentyfikuj pierwotną przyczynę błędu, aby poprawić jakość
  • Wyznaczanie celów procesu testowego

Krok 3) Faza integracji

  • Podziel się wynikami z zainteresowaną osobą i uzyskaj zgodę
  • Ustal cele funkcjonalne

Krok 4) Faza Akcji

  • Opracuj plan testów i dokumentację
  • Wdrażaj działania określone w poprzednich fazach i monitoruj postęp
  • Uruchamiaj proces w sposób ciągły

Składniki testów porównawczych

Różne systemy charakteryzują się różnym stopniem złożoności i wymagają różnych technik testowania aplikacji.

Testowanie porównawcze składa się z 3 głównych elementów. Oni są

  1. Specyfikacje obciążenia: Określenie rodzaju i częstotliwości żądań przesyłanych do testowanego systemu.
  2. Specyfikacje metryk: Określ, który element ma być mierzony, np.; Prędkość pobierania
  3. Specyfikacja pomiaru: Ustalenie sposobu pomiaru określonych elementów w celu znalezienia odpowiednich wartości

Rzeczy do rozważenia podczas testów porównawczych

Aby przeprowadzić udane testy porównawcze, należy wziąć pod uwagę następujące fakty.

  • Spójność i kontrola są ważnymi środkami do przeprowadzania testów porównawczych.
  • Zrozumieć architekturę systemu, aby zaprojektować kryteria testowe i dane testowe
  • Sprawdź początkowe dane statyczne i zaktualizuj je w zależności od liczby użytkowników
  • Sprawdź, czy jest dostępna funkcja „Resetuj” tam, gdzie jest to wymagane i zdefiniuj stawkę transakcyjną na sekundę (dotyczy to w szczególności transakcji użytkowników w bazie danych)
  • Podziel elementy systemu według jego funkcjonalności
  • Każdy system ma inną architekturę i projekt, które należy wziąć pod uwagę podczas przeprowadzania testów porównawczych
  • Upewnij się, że wszystkie składniki oprogramowania są w dobrym stanie
  • System operacyjny i sterowniki pomocnicze powinny działać prawidłowo
  • Przed uruchomieniem testu porównawczego usuń z systemu pliki pobierania wstępnego i pliki tymczasowe
  • Zamknij wszystkie procesy i aplikacje działające w tle
  • Sprawdź aktualizacje systemów operacyjnych i konfiguracje rzeczywiste

Ramy testów porównawczych

Ramy testów porównawczych pomagają w wykonywaniu podstawowych zadań związanych z kontrolą wydajności. Do tych podstawowych zadań należą:

  1. Dostęp do bazy danych
  2. Skład po stronie serwera
  3. Serializacja JSON
  4. Konfiguracja

Struktura testów porównawczych 2.0 & TechEmpower są najczęściej używanymi frameworkami do testów porównawczych.

Rzućmy okiem na TechEmpower. Rzućmy okiem na jego najważniejsze cechy.

  • Jest to platforma typu open source do wykonywania zadań porównawczych
  • Wymaga odpowiedniej konfiguracji środowiska benchmarkingowego
  • Istnieją głównie dwa tryby, takie jak Tryb testu porównawczego do porównywania wyników i Tryb weryfikacji dla tych, którzy nie są ekspertami
  • Wymaganych jest kilka plików, które są unikalne i mogą się różnić w zależności od systemu
  • Zawiera „plik konfiguracyjny testu porównawczego”, który definiuje zestaw instrukcji testowych i metadanych dla programu testowego
  • Opiera się na kilku językach, takich jak Java, Python, Rubinowy, PHP, JavaSkrypt, Perl, C, Groovy, Haskell, Scala itp.
  • Obiekt – Relational Mapper (ORM) służy do wykonywania testów na bazach danych, serializacji JSON itp.

Narzędzia do testów porównawczych

Narzędzia do testowania porównawczego są odpowiednio kategoryzowane. Będziemy się zaciągać jeden po drugim.

Narzędzia do testowania Windows Komputery:

  1. Prime95
  2. Novabench
  3. 3DMark
  4. SiSoftware Sandra

Narzędzia do testowania wydajności procesora:

  1. Cinebench
  2. Geekbench

Narzędzia do testowania szybkości systemu i baterii urządzeń mobilnych:

  1. Phoronix (Linux)
  2. CPU UserBenchmark (Test porównawczy procesora)
  3. Vellamo (wydajność przeglądania Internetu)

Można również przeprowadzić testy porównawcze Android telefony i tablety. Wśród wszystkich Przepustka jest dobrze znanym i szeroko stosowanym narzędziem do testów porównawczych.

Jak ten test pasuje do rodziny testów wydajnościowych

Testowanie wydajności to termin ogólny. Poniższe warianty różnią się jedynie kształtem przyłożonego obciążenia i czasem jego utrzymywania, dlatego tak często są ze sobą mylone.

Rodzaj testu Wzór obciążenia Pytanie, na które odpowiada
Testowanie obciążenia Oczekiwane obciążenie szczytowe, krótki czas trwania Czy system spełnia swoje cele przy normalnym, szczytowym natężeniu ruchu?
Test naprężeń Zwiększony ponad pojemność aż do awarii Gdzie następuje przerwa i czy awaria przebiega gładko?
Testowanie Spike'a Nagły, ekstremalny wzrost, a następnie wycofanie Czy przeżywa i dochodzi do siebie po szoku komunikacyjnym?
Testy wytrzymałościowe Normalne obciążenie utrzymywane przez wiele godzin Czy wydajność pogarsza się z czasem?
Testowanie zanurzeniowe Długotrwałe obciążenie przez dłuższy okres Czy występują wycieki pamięci lub wyczerpanie zasobów?
Testy stabilności Zmienne obciążenie w różnych warunkach Czy system pozostaje niezawodny w zmieniających się warunkach?
Testowanie głośności Zwykli użytkownicy, bardzo duża ilość danych Czy system radzi sobie ze wzrostem bazy danych?

Test wytrzymałościowy i test zanurzeniowy są często traktowane jako synonimy. W powszechnym użyciu są to: oba utrzymują stałe obciążenie przez długi czas. Tam, gdzie zespoły je rozróżniają, testy wytrzymałościowe koncentrują się na tym, czy czasy reakcji rosną, podczas gdy testy nasączenia koncentrują się na zużyciu zasobów, takich jak pamięć, uchwyty plików i pule połączeń. Uruchomienie takiego testu zazwyczaj dostarcza dowodów na oba te zjawiska.

Testowanie porównawcze: najważniejsze wnioski

  • W inżynierii oprogramowania testy porównawcze dają powtarzalny zestaw wymiernych wyników dotyczących wydajności systemu.
  • Przydatne przy sprawdzaniu warunków obciążenia i określaniu zachowania systemu w obliczu ataków DDoS.
  • Specyfikacje obciążenia, metryki i specyfikacje pomiarów są głównymi składnikami testów porównawczych.
  • Do szybkiego i wydajnego przeprowadzania testów porównawczych wykorzystuje się kilka narzędzi i struktur.
  • Testy porównawcze są również przydatne w przypadku urządzeń mobilnych.

FAQ

Testy wydajności mierzą zachowanie systemu pod obciążeniem. Testy porównawcze rejestrują ten pomiar jako stały standard odniesienia, dzięki czemu późniejsze wersje można porównywać z nim w identycznych warunkach.

Ponieważ każda zmiana sprzętu, wolumenu danych lub konfiguracji zmienia wynik. Test porównawczy z innym środowiskiem mierzy środowisko, a nie oprogramowanie.

Zawsze, gdy środowisko, wolumen danych lub architektura ulegną istotnej zmianie. W przeciwnym razie należy zachować ten sam poziom bazowy, ponieważ jego wartość wynika ze stabilności w kolejnych wersjach.

Narzędzia AI wykrywają statystycznie istotne regresje pomiędzy przebiegami i oddzielają je od normalnej wariancji, co eliminuje konieczność zgadywania przy podejmowaniu decyzji, czy niewielkie spowolnienie ma znaczenie.

Tak. Modele wyprowadzają progi na podstawie historycznych rozkładów przebiegów, a nie stałych procentów, dostosowując się do rozwoju aplikacji. Revsprawdź wyprowadzone limity przed ich wyegzekwowaniem w potoku.

Podsumuj ten post następująco: