전체 목록
테스트Hard#251

성능 테스트에서 부하 테스트와 스트레스 테스트는 어떻게 다른가요?

#테스트#PerformanceTest#LoadTest#StressTest

답변 포인트

정상 부하 검증과 한계 초과 검증를 기준으로 정의, 장점, 한계, 예시를 함께 설명해보세요.

정답 및 해설

빠른 요약

부하 테스트는 예상 트래픽에서 목표 성능을 검증하고, 스트레스 테스트는 한계를 넘겨 실패 지점과 복구 동작을 확인합니다. 실무 예시: 테스트는 구현 방식보다 사용자가 기대하는 동작과 비즈니스 규칙을 검증할수록 오래 살아남습니다.

부하 테스트는 예상 트래픽에서 목표 성능을 검증하고, 스트레스 테스트는 한계를 넘겨 실패 지점과 복구 동작을 확인합니다.

핵심 개념

핵심 기준은 정상 부하 검증과 한계 초과 검증입니다.

부하 테스트는 예상 피크 트래픽에서 p95 응답 시간, 처리량, 오류율 같은 목표를 만족하는지 확인합니다. 스트레스 테스트는 목표치를 넘어 부하를 올리며 CPU, DB 커넥션, 큐, 외부 API 중 어디서 먼저 병목이 생기는지 찾습니다. 따라서 전자는 출시 가능성 판단에, 후자는 한계와 복구 전략 검증에 가깝습니다.

동작 흐름

  1. 검증하려는 위험을 먼저 정의합니다.
  2. 입력 데이터, 실행 조건, 기대 결과를 명확히 둡니다.
  3. 자동화 비용과 실행 빈도에 맞게 테스트 범위를 조정합니다.
  4. 실패 시 로그와 지표로 원인을 추적할 수 있게 만듭니다.

실제 예시

Text
Load Test: 1,000 VU 30 , p95 < 300ms, error rate < 0.1%
Stress Test: 1,000  2,000  5,000 VU ,    

예시는 핵심 흐름을 단순화한 것입니다. 실무에서는 팀의 배포 방식, 데이터 크기, 장애 영향도, 유지보수 비용까지 함께 고려해야 합니다.

실무에서 주의할 점

  • 구현 세부사항에 과하게 묶인 테스트는 리팩터링 때 쉽게 깨집니다.
  • 느리고 불안정한 테스트를 방치하면 팀이 테스트 결과를 믿지 않게 됩니다.
  • 커버리지 숫자보다 중요한 시나리오와 경계값을 검증하는지가 더 중요합니다.

함께 연결해서 보면 좋은 키워드

PerformanceTest, LoadTest, StressTest, SLO

정리

한 줄로 정리하면, 부하 테스트는 예상 트래픽에서 목표 성능을 검증하고, 스트레스 테스트는 한계를 넘겨 실패 지점과 복구 동작을 확인합니다. 개념의 정의뿐 아니라 적용 조건과 실패했을 때의 증상까지 함께 이해하는 것이 중요합니다.

관련 질문

같은 카테고리/태그 기준