Powrót do strony głównej

Logi w testowaniu: struktura i narzędzia

Artykuł omawia strukturę logów, ich rolę w QA, typy (serwerowe, Kafka, mobilne, Docker) i narzędzia analizy. Fokus na lokalizacji błędów za pomocą Kibana, Sentry, Grafana, Logcat.

Logi dla QA: Kibana, Sentry, Docker i Logcat
Advertisement 728x90

Praca z logami w testowaniu: struktura, typy i narzędzia

Log to tekstowa rejestracja zdarzenia w systemie. Każda pozycja zawiera znacznik czasu (timestamp), poziom logowania (INFO, DEBUG, WARN, ERROR, FATAL), źródło (usługa lub moduł) oraz opis zdarzenia. W przypadku błędów dołączany jest stack trace — sekwencja wywołań funkcji, która wskazuje ścieżkę wykonania kodu do momentu awarii.

Stack trace zawiera pliki, klasy i metody uczestniczące w operacji. Jest to krytyczne dla lokalizacji błędów w backendzie lub aplikacjach mobilnych, gdzie interfejs użytkownika nie ujawnia szczegółów.

Rola logów w procesie QA

Logi potwierdzają istnienie błędu, określają jego poziom (klient, serwer, integracja) i dostarczają dane dla programistów. Są szczególnie przydatne przy niestabilnych błędach, gdy narzędzia deweloperskie lub sniffery są niewystarczające, albo przy błędach serwerowych 500 bez opisu.

Google AdInline article slot

Testownik wydobywa z logów:

  • parametry żądań i odpowiedzi.
  • stack trace do naprawy.
  • częstotliwość powtarzania błędu.

To przyspiesza ponowne testowanie i wdrożenie poprawek.

Logi serwerowe: dostęp i analiza

Logi serwerowe rejestrują żądania, parametry, odpowiedzi i błędy. Dostępne są przez SSH do katalogu /var/log/ (syslog, access_log) lub za pomocą specjalistycznych systemów.

Google AdInline article slot

Bezpośredni dostęp przez SSH

Połączenie przez SSH umożliwia odczytanie surowych logów na serwerach Linux. Używane są polecenia do filtrowania: grep po ERROR, tail -f do monitorowania w czasie rzeczywistym. Bardzo przydatne bez narzędzi graficznych.

Systemy centralne

  • Kibana: wyszukiwanie po poziomie, czasie, usłudze. Filtry dla błędów 500/422, przeglądanie żądań i odpowiedzi.
  • Sentry: szczegółowe dane żądania, stack trace, częstotliwość błędów. Przesyłanie raportów do zespołu deweloperskiego.
  • Grafana: pulpit z metrykami błędów 4xx/5xx w różnych okresach i dla poszczególnych punktów końcowych.
  • Loguru: proste logi tekstowe z timestampem i poziomem do podstawowej analizy.

| Narzędzie | Główna funkcja | Zastosowanie w QA |

|------------|------------------|------------------|

Google AdInline article slot

| Kibana | Filtracja zdarzeń | Lokalizacja migawek błędów |

| Sentry | Stack trace | Przesyłanie do dev'ów |

| Grafana | Metryki błędów | Monitorowanie awarii systemowych |

| Loguru | Tekstowe logi | Podstawowy przegląd |

Logi brokerów komunikatów

W systemach asynchronicznych (Apache Kafka) logi rejestrują wymianę komunikatów. Błędy: brak dostawy, nieprawidłowy format, opóźnienia. Analiza możliwa przez Kibana, Loggly, Datadog lub Confluent Control Center.

Przykład: żądanie historii bitew — logi usług konsumentów wykrywają problemy w przetwarzaniu.

Logi mobilne: ADB i Logcat

Dla Androida: ADB łączy urządzenie/emulator, Logcat wyświetla dziennik zdarzeń (ekrany, działania, błędy). Filtry po ERROR (E), szukanie zawieszeń.

Logcat jest niezastąpiony, gdy interfejs nie informuje o awariach.

Logi kontenerów Docker

W Dockerze logi kontenerów dostępne są przez polecenie docker logs <container_id>. Rejestrują wyjście stdout/stderr aplikacji. Przydatne dla mikroserwisów: kombinacja z Kubernetes (kubectl logs) do orchestrowania.

Filtry: --tail, --since dla aktualnych wpisów. Integracja z ELK-stack (Elasticsearch, Logstash, Kibana) do skalowania.

Co ważne:

  • Logi to główny instrument lokalizacji po narzędziach UI.
  • Poziomy: INFO/DEBUG do śledzenia, ERROR/FATAL do awarii.
  • Stack trace jest obowiązkowy dla deweloperów.
  • Narzędzia: Kibana/Sentry do wyszukiwania, Grafana do metryk.
  • Mobilne: ADB + Logcat, kontenery: docker logs.

— Editorial Team

Advertisement 728x90

Czytaj dalej