Zpět na domů

Logy v testování: struktura a nástroje

Článek rozebírá strukturu logů, jejich roli v QA, typy (serverové, Kafka, mobilní, Docker) a nástroje analýzy. Fokus na lokalizaci bugů přes Kibana, Sentry, Grafana, Logcat.

Logy pro QA: Kibana, Sentry, Docker a Logcat
Advertisement 728x90

Práce s logy v testování: struktura, typy a nástroje

Log je textový záznam události v systému. Každý záznam obsahuje časovou známku (timestamp), úroveň protokolování (INFO, DEBUG, WARN, ERROR, FATAL), zdroj (služba nebo modul) a popis události. Při chybách se přidává stack trace – posloupnost volání funkcí, která ukazuje cestu provádění kódu do selhání.

Stack trace obsahuje soubory, třídy a metody zapojené do operace. To je klíčové pro lokalizaci chyb v backendu nebo mobilních aplikacích, kde uživatelské rozhraní nedává detaily.

Rol logů v QA procesu

Logy potvrzují existenci chyby, určují její úroveň (klient, server, integrace) a poskytují data pro vývojáře. Jsou užitečné při nestabilních chybách, kdy nástroje pro vývoj nebo sniffery nestačí, nebo při serverových chybách 500 bez popisu.

Google AdInline article slot

Testovač z logů extrahuje:

  • Parametry požadavků a odpovědí.
  • Stack trace pro opravu.
  • Frekvenci opakování chyby.

To zrychluje opakované testování a nasazení oprav.

Serverové logy: přístup a analýza

Serverové logy zaznamenávají požadavky, parametry, odpovědi a chyby. Přístup je možný přes SSH do /var/log/ (syslog, access_log) nebo prostřednictvím specializovaných systémů.

Google AdInline article slot

Přímý přístup přes SSH

Připojení přes SSH umožňuje číst surové logy na Linuxových serverech. Používají se příkazy pro filtrování: grep podle ERROR, tail -f pro reálný čas. Užitečné bez UI nástrojů.

Centrální systémy

  • Kibana: Hledání podle úrovně, času, služby. Filtry pro chyby 500/422, zobrazení požadavků/odpovědí.
  • Sentry: Detaily požadavku, stack trace, frekvence chyb. Předávání hlášení vývojářům.
  • Grafana: Dashboardy s metrikami chyb 4xx/5xx podle období a endpointů.
  • Loguru: Jednoduché textové logy s časovou značkou a úrovní pro základní analýzu.

| Nástroj | Hlavní funkce | Použití v QA |

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

Google AdInline article slot

| Kibana | Filtrování událostí | Lokalizace plovoucích chyb |

| Sentry | Stack trace | Předání vývojářům |

| Grafana | Metriky chyb | Monitorování systémových selhání |

| Loguru | Textové logy | Základní prohlížení |

Logy brokerů zpráv

V asynchronních systémech (Apache Kafka) logy zaznamenávají výměnu zpráv. Chyby: nedostatečná doručení, špatný formát, zpoždění. Analýza přes Kibana, Loggly, Datadog nebo Confluent Control Center.

Příklad: požadavek na historii bojů – logy spotřebitelů služeb odhalují selhání při zpracování.

Mobilní logy: ADB a Logcat

Pro Android: ADB připojuje zařízení/emulátor, Logcat zobrazuje žurnál událostí (obrazovky, akce, chyby). Filtry podle ERROR (E), hledání zaseknutí.

Logcat je nezbytný, když UI mlčí o chybách.

Logy kontejnerů Docker

Ve Dockeru jsou logy kontejnerů dostupné příkazem docker logs <container_id>. Zaznamenávají výstup stdout/stderr aplikací. Užitečné pro mikroslužby: kombinace s Kubernetes (kubectl logs) pro orchestraci.

Filtrování: --tail, --since pro aktuální záznamy. Integrace s ELK-stackem (Elasticsearch, Logstash, Kibana) pro škálování.

Důležité:

  • Logy jsou hlavním nástrojem lokalizace po UI nástrojích.
  • Úrovně: INFO/DEBUG pro trasování, ERROR/FATAL pro selhání.
  • Stack trace je povinný pro vývojáře.
  • Nástroje: Kibana/Sentry pro vyhledávání, Grafana pro metriky.
  • Mobilní: ADB Logcat, kontejnery: docker logs.

— Editorial Team

Advertisement 728x90

Číst dál