홈으로 돌아가기

테스팅 로그: 구조와 도구

이 기사는 로그 구조, QA에서의 역할, 유형 (서버, Kafka, 모바일, Docker) 및 분석 도구를 분석합니다. Kibana, Sentry, Grafana, Logcat을 통한 버그 위치 특정에 중점.

QA 로그: Kibana, Sentry, Docker 및 Logcat
Advertisement 728x90

테스트에서 로그 활용하기: 구조, 유형 및 도구

로그는 시스템 내 이벤트의 텍스트 기록입니다. 각 항목에는 타임스탬프, 로깅 레벨(INFO, DEBUG, WARN, ERROR, FATAL), 소스(서비스 또는 모듈), 그리고 이벤트 설명이 포함됩니다. 오류가 발생하면 실패로 이어진 함수 호출 목록을 포함하는 스택 트레이스가 추가되며, 코드 내 실행 경로를 명확히 보여줍니다.

스택 트레이스는 작업에 관여한 파일, 클래스, 메서드를 드러냅니다. 이는 UI가 내부 세부 정보를 노출하지 않는 백엔드 시스템이나 모바일 앱에서 버그를 정확히 파악하는 데 필수적입니다.

테스트 품질보증(QA)에서 로그의 역할

로그는 버그 존재 여부를 확인하고, 실패의 심각도(클라이언트, 서버, 통합)를 판단하며 개발자에게 핵심 데이터를 제공합니다. 일시적인 버그의 경우 DevTools나 패킷 스니핑 도구가 부족할 때, 혹은 설명되지 않은 500 서버 에러를 마주했을 때 특히 유용합니다.

Google AdInline article slot

테스터는 로그에서 다음을 추출합니다:

  • 요청 및 응답 매개변수
  • 디버깅용 스택 트레이스
  • 오류 재발 빈도

이를 통해 수정 검증과 배포 속도가 크게 향상됩니다.

서버 로그: 접근과 분석

서버 로그는 요청, 매개변수, 응답, 오류를 기록합니다. SSH를 통해 /var/log/ (syslog, access_log)에 직접 접속하거나 전용 모니터링 플랫폼을 이용해 접근할 수 있습니다.

Google AdInline article slot

직접 SSH 접근

SSH 연결을 통해 리눅스 서버의 원시 로그를 읽을 수 있습니다. grep으로 ERROR 항목을 검색하고, tail -f로 실시간 모니터링이 가능합니다. UI 도구가 없는 상황에서 이상적입니다.

중앙집중식 시스템

  • Kibana: 레벨, 시간, 서비스별로 검색 가능. 500/422 오류 필터 적용, 전체 요청/응답 확인 가능.
  • Sentry: 요청 세부 정보, 스택 트레이스, 오류 발생 빈도 제공. 개발자 자동 알림.
  • Grafana: 시간대별 및 엔드포인트별 4xx/5xx 오류 추적 대시보드 제공.
  • Loguru: 간단한 타임스탬프 텍스트 로그로 기본 분석에 적합.

| 도구 | 주요 기능 | QA에서의 활용 |

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

Google AdInline article slot

| Kibana | 이벤트 필터링 | 불안정한 버그 진단 |

| Sentry | 스택 트레이스 | 개발자 보고 |

| Grafana | 오류 지표 | 시스템 장애 모니터링 |

| Loguru | 텍스트 로그 | 기본 로그 검토 |

메시지 브로커 로그

비동기 시스템(예: Apache Kafka)에서는 로그가 메시지 교환을 추적합니다. 흔한 문제: 메시지 손실, 형식 오류, 지연. Kibana, Loggly, Datadog, Confluent Control Center 등을 통해 분석 가능.

예시: 전투 기록 요청 — 컨슈머 서비스 로그에서 처리 실패 확인 가능.

모바일 로그: ADB와 Logcat

안드로이드: ADB로 디바이스/에뮬레이터 연결; Logcat은 화면, 동작, 오류 등의 이벤트 로그 표시. ERROR(E)로 필터링하여 멈춤 현상 탐지 가능.

UI가 크래시 시에도 작동하지 않을 때 Logcat은 필수입니다.

도커 컨테이너 로그

도커 컨테이너 로그는 docker logs <container_id> 명령어로 접근합니다. 애플리케이션의 stdout/stderr 출력을 캡처합니다. 마이크로서비스 환경에서는 특히 중요하며, Kubernetes(kubectl logs)와 함께 사용해 오케스트레이션 가능합니다.

필터: --tail, --since로 최근 항목만 확인. ELK 스택(Elasticsearch, Logstash, Kibana)과 연동해 대규모 분석 가능.

핵심 요약:

  • UI 기반 진단 후 루트 케이스 분석의 핵심 도구는 로그입니다.
  • 레벨: INFO/DEBUG는 추적용, ERROR/FATAL은 실패용.
  • 개발자에게는 스택 트레이스가 필수입니다.
  • 도구: Kibana/Sentry는 검색용, Grafana는 지표용.
  • 모바일: ADB + Logcat; 컨테이너: docker logs.

— Editorial Team

Advertisement 728x90

다음 읽기