sayu.day
Backend

Locust 기반 환경별 E2E 테스트 자동화

Locust로 환경별 E2E/부하 테스트를 자동화할 때 필요한 구조와 운영 규칙을 정리합니다.

발행 2025년 12월 30일1142

목적

Locust를 쓰는 이유는 "큰 부하"보다 "재현 가능한 시나리오"입니다. 환경별로 같은 시나리오를 돌려 회귀를 빨리 찾는 데 초점을 둡니다.

권장 분리

  • smoke: 배포 직후 핵심 기능 확인
  • functional: CRUD/비즈니스 흐름 검증
  • performance: 목표 TPS/latency 검증
  • stress: 한계점 탐색

최소 구조

e2e/
  config/{local,int,stage,prod}.yaml
  suites/{smoke,functional,performance,stress}.py
  locustfile.py

실행 예시

locust -f suites/smoke.py --headless -u 20 -r 5 -t 2m --host https://api-int.example.com

운영 규칙

  • 시나리오 데이터는 테스트마다 독립 생성
  • 테스트 종료 시 정리(cleanup) 보장
  • CI에서 환경별 실행 시간 상한 설정

자주 하는 실수

  • smoke와 performance를 구분하지 않아 CI가 느려짐
  • 테스트 데이터 충돌로 flaky 발생
  • 성공 기준(p95, 에러율) 없이 수치만 출력

요약

Locust 자동화의 핵심은 도구가 아니라 테스트 계층화입니다. smoke/functional/performance를 분리하면 빠른 검증과 깊은 검증을 동시에 가져갈 수 있습니다.

다음 읽기

이 생각이 이어지는 방향

Backend 더 보기
공유

읽은 뒤의 대화

읽은 뒤의 생각을 이어갑니다

질문, 반론, 조용한 후속 메모를 이 글 아래에 남길 수 있습니다.

sayu.day는 생각과 작업의 흔적을 천천히 정리하는 개인 출판물입니다.
직접 겪고 검토한 내용, 다시 읽을 만한 아이디어, 작업하며 남긴 메모를 모읍니다.
시간이 지난 글은 현재의 판단과 다를 수 있어 업데이트 맥락을 함께 남깁니다.

© 2026 sayu.day