QA가 서버를 죽여본 이유 - Host Level 카오스 엔지니어링 테스트
QA가 DB·캐시·큐를 직접 끊어 고객 경험과 복구 후 정합성을 검증했다.
Host Level 카오스 엔지니어링은 애플리케이션 코드가 아니라 DB, 메시지 큐, 캐시, 검색 엔진 같은 인프라 자체에 장애를 주입해 복원력을 확인하는 실험이다.
올리브영 QA는 운영과 동일한 QA 환경에서 완전 차단 테스트와 Failover 테스트를 함께 수행했고, 고객 시나리오와 관리자 시나리오를 기준으로 실제 화면, 주문 내역, 데이터 정합성을 직접 검증했다.
고객 관점에서는 장바구니, 쿠폰, 주문, 결제 흐름을 따라가며 장애 시 어떤 화면이 느려지거나 무반응이 되는지 확인했다. 관리자 관점에서는 상품 수정, 증정 행사 등록, 쿠폰 생성, 배너 변경 이후 복구 뒤 데이터가 제대로 반영되는지를 봤다.
테스트 과정에서 9개 주요 버그를 찾았고, 그중 4개는 즉시 조치, 나머지 5개는 2026년 로드맵에 반영했다. 동시에 장애 감지 알림 체계를 구축해, 장애 발생 즉시 담당팀이 인지하고 대응할 수 있게 했다.
핵심 패턴은 세 가지였다.
- 시스템은 살아있지만 고객 경험은 무너질 수 있다: DB 장애 시 증정품이 빠진 채 결제가 완료되거나, 메시지 큐 장애 시 결제는 끝났는데 고객은 504 에러를 보는 사례가 나왔다.
- 캐시는 5분짜리 방어막이다: TTL 캐시 덕분에 잠시 버티더라도, 5분이 지나면 검색 불가, 카테고리/브랜드관 오류, 메인 화면 지연이 발생했다.
- 복구 후가 진짜 테스트다: 쿠폰은 자동 복구에 성공했지만, 증정품 재고는 이상하게 증가했고, 상품 정보는 수동 작업이 필요해 복구 후 정합성 작업 전용 API까지 만들었다.
이 결과를 바탕으로 즉시 조치 기준, 복구 기준, 우선순위 기준을 새로 세웠다. 특히 장애 감지부터 복구 또는 Failover 전환까지 5분 이내에 끝내야 고객이 체감하지 않는다는 기준을 확립했다.
첫 적용 사례는 상품 상세 시스템 MSA 전환 프로젝트였다. DB 다운 시 서킷브레이커가 정상 동작하는 듯 보였지만, 최대 혜택가 영역에 서킷브레이커가 빠져 있어 상품 상세 페이지가 통째로 렌더링되지 않는 문제가 QA 화면에서 드러났다.
결국 Host Level 테스트의 핵심은 서버가 버티는지보다, 어떻게 무너지고 무엇이 예상과 다르게 깨지는지를 먼저 발견하는 데 있다. QA는 시스템 로그가 정상으로 보여도 고객 화면은 이미 장애일 수 있다는 사실을 가장 먼저 확인하는 역할을 맡는다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.