Integracja klienta API JMeter z potokami CI/CD

Ten przewodnik wyjasnia, jak zintegrowac klienta API JMeter LoadFocus z popularnymi platformami CI/CD, takimi jak CircleCI, Azure DevOps i GitHub Actions, w celu automatycznego testowania wydajnosci jako czesci potoku wdrozeniowego.

Spis tresci

Ogolne podejscie

Niezaleznie od platformy CI/CD, istnieja wspolne kroki integracji klienta API JMeter LoadFocus:

  1. Zainstaluj klienta: Zainstaluj @loadfocus/loadfocus-api-client na poczatku workflow
  2. Skonfiguruj dane uwierzytelniajace: Skonfiguruj klucz API i ID zespolu w bezpieczny sposob
  3. Wykonaj testy: Uruchom testy jako czesc potoku
  4. Przetwarzaj wyniki: Zbieraj i analizuj wyniki testow
  5. Podejmuj decyzje: Na podstawie wynikow testow okresl, czy kontynuowac wdrozenie

Najlepsze praktyki

Podczas integracji klienta API JMeter LoadFocus z potokiem CI/CD rozwaลผ nastepujace najlepsze praktyki:

Bezpieczenstwo

  • Nigdy nie koduj na stale klucza API ani ID zespolu w konfiguracji potoku
  • Uzyj systemu zarzadzania sekretami platformy CI/CD
  • Ogranicz dostep do wynikow testow wydajnosci do upowaznionego personelu

Konfiguracja testow wydajnosci

  • Uzyj opisowych nazw testow zawierajacych galaz/srodowisko testowane
  • Ustaw odpowiednie progi na podstawie wymagan wydajnosciowych aplikacji
  • Rozwaลผ uruchamianie roznych profili testowych dla roznych srodowisk (np. lzejsze testy dla dev, pelne testy dla staging)

Integracja z potokiem

  • Uruchamiaj testy wydajnosci po pomyslnym przejsciu testow funkcjonalnych
  • Rozwaลผ uruchamianie testow wydajnosci rownolegle z innymi nieblokujacymi zadaniami
  • Skonfiguruj powiadomienia o niepowodzeniach testow wydajnosci

Analiza wynikow

  • Przechowuj wyniki testow wydajnosci jako artefakty do porownania historycznego
  • Rozwaลผ implementacje analizy trendow do wykrywania degradacji wydajnosci w czasie
  • Dokumentuj bazowe metryki wydajnosci do porownania

Rozwiazywanie problemow

Typowe problemy

Wykonanie testu nie powiodlo sie

  • Zweryfikuj, ze klucz API i ID zespolu sa prawidlowo skonfigurowane
  • Sprawdz, czy nie osiagnales limitu rownoczesnych testow konta
  • Zweryfikuj, ze nazwa testu istnieje na Twoim koncie LoadFocus

Progi nie dzialaja zgodnie z oczekiwaniami

  • Upewnij sie, ze skladnia progow jest poprawna (np. avgresponse<=200,errors==0)
  • Sprawdz, czy ewaluowane metryki sa istotne dla Twojego testu
  • Zweryfikuj, ze test generuje wystarczajace obciazenie, aby produkowac znaczace wyniki

Timeout potoku

  • Dostosuj ustawienia timeout w konfiguracji CI/CD
  • Rozwaลผ uzycie parametru --waitTimeout do ograniczenia czasu wykonania testu
  • Dla dlugo trwajacych testow zaimplementuj mechanizm odpytywania zamiast oczekiwania w potoku

Aby uzyskac szczegoly integracji specyficzne dla platformy, zapoznaj sie z dedykowanymi przewodnikami dla CircleCI, Azure DevOps, GitHub Actions, Jenkins i GitLab CI/CD.