소프트웨어 테스트 종류 - 부하, 스트레스, 침투, DDoS 시뮬레이션

한 문장 요약

“무엇을 검증하느냐” 에 따라 테스트가 나뉜다. 성능 테스트는 서버의 한계를, 보안 테스트는 방어 계층의 신뢰성을 측정한다.


1. 테스트 종류 전체 지도

                   테스트 전체 지도

          ┌──────────────┴──────────────┐
          │                             │
   성능/안정성 테스트                   보안 테스트
          │                             │
   ┌──────┴──────┐             ┌────────┴────────┐
   │             │             │                 │
정상 범위      극한/장애         취약점 탐색         실전 검증
   │             │             │                 │
부하 테스트  스트레스 테스트      취약점 평가           침투 테스트
성능 테스트  스파이크 테스트      SAST / DAST      DDoS 시뮬레이션
용량 계획    지속 부하 테스트    퍼징(Fuzzing)     Red/Blue Team
           카오스 엔지니어링

두 계열은 목적, 측정 대상, 성공 기준이 완전히 다르다.

구분성능/안정성보안
핵심 질문서버가 얼마나 버티나?공격을 막아낼 수 있나?
측정 대상Origin 서버 (응답 시간, 처리량)방어 계층 (WAF, CDN, 방화벽)
성공 기준목표 rps에서 정상 응답공격이 Origin에 도달하지 못함
수행 주체개발/운영팀보안팀, 전문 업체

2. 성능/안정성 테스트 계열

전체 트래픽 패턴 비교

트래픽

  │                                      💥 한계점
  │                         스트레스 ───────────→ ×
  │              스파이크 ──→ ↑↓ ↑↓
  │  부하 ──────→ ──────────

  └──────────────────────────────────→ 시간
       지속(Soak): 낮은 부하 × 장시간 ─────────────────→
테스트보는 포인트
부하 테스트목표 구간에서의 응답시간, 오류율, 처리량
스트레스 테스트Breaking Point, 장애 발생 시점, 복구 동작
스파이크 테스트순간 폭증 대응력, 복구 시간
지속 부하 테스트메모리 누수, 커넥션 고갈, 디스크 포화

부하 테스트 (Load Testing)

“예상 트래픽에서 정상 동작하는가?”

흐름: 0 → 목표 rps 도달 → 일정 시간 유지 → 지표 측정

기준점은 실제 운영에서 예상하는 트래픽 범위다.

항목내용
목표응답 시간, 오류율, 처리량 측정
특징정상 운영 범위 내에서 수행
도구k6, JMeter, Locust, Gatling

스트레스 테스트 (Stress Testing)

“서버가 무너지는 한계점은 어디인가?”

예시 흐름: 0 → 100rps → 500rps → 1000rps → 서버 장애

이 과정에서 장애가 시작되는 지점이 Breaking Point다.

항목내용
목표한계점 파악, 한계 초과 후 복구 동작 확인
특징정상 범위를 의도적으로 초과
부하 테스트와 차이부하 테스트는 기준 수립, 스트레스 테스트는 한계 탐색

스파이크 테스트 (Spike Testing)

“갑작스러운 폭증에 어떻게 반응하는가?”

패턴: 평소 수준을 유지하다가 짧은 시간 동안 트래픽이 급증하고, 다시 정상 수준으로 복귀하는 상황을 반복한다.

항목내용
목표급격한 트래픽 변화에 대한 시스템 반응 측정
사례쇼핑몰 타임세일, 인기 방송 직후 트래픽 폭증
확인 포인트폭증 시 오류 여부, 정상 복귀까지 소요 시간

지속 부하 테스트 (Soak / Endurance Testing)

“낮은 부하를 오래 유지하면 문제가 생기는가?”

흐름: 낮은 부하 유지 → 24~72시간 이상 관찰

탐지 대상:

문제 유형증상
메모리 누수시간이 지날수록 메모리 사용량 지속 증가
커넥션 풀 고갈일정 시간 후 DB 연결 실패
디스크 포화로그 누적으로 디스크 가득 참

카오스 엔지니어링 (Chaos Engineering)

“장애가 발생해도 시스템이 살아남는가?”

부하를 올리는 게 아니라 구성 요소를 고장내는 것이 핵심이다.

주입하는 장애검증 목적
서버 1대 강제 종료자동 페일오버 동작 확인
네트워크 지연 주입 (200ms)타임아웃 처리 확인
DB 연결 차단캐시/폴백 동작 확인
디스크 포화 시뮬레이션로그/임시파일 처리 확인

대표 도구: Netflix Chaos Monkey, AWS Fault Injection Simulator


3. 보안 테스트 계열

취약점 평가 (Vulnerability Assessment)

“알려진 취약점이 존재하는가? (실제 침투 없음)”

흐름: 스캐너 실행 → 시스템 스캔 → 취약점 목록(CVE 등) 출력

문이 잠겼는지 확인만 하고, 실제로 열지는 않는다.


침투 테스트 (Penetration Testing)

“실제로 침투할 수 있는가? 얼마나 깊이 들어갈 수 있나?”

단계행동
1. 정찰공격 대상 정보 수집
2. 스캔열린 포트, 서비스 탐지
3. 침투 시도취약점 실제 공격
4. 권한 상승관리자 권한 탈취 시도
5. 보고서침투 경로, 영향 범위 문서화

취약점 평가는 “문이 잠겼나?” 확인, 침투 테스트는 “문을 실제로 열어봄”


DDoS 시뮬레이션 (DDoS Simulation)

“방어 계층이 공격 트래픽을 Origin 도달 전에 차단하는가?”

[공격 시뮬레이션 도구]


  Cloudflare / WAF  ← 여기서 차단되면 성공

        × (Origin에 도달하면 실패)

   Origin 서버
  • 클라우드 제공사(Cloudflare, AWS Shield) 사전 승인 필수
  • 무단 시뮬레이션은 서비스 약관 위반

퍼징 (Fuzzing)

“비정상 입력을 넣으면 어떻게 반응하는가?”

API 엔드포인트에 자동으로 이상한 값을 전송한다.

입력 유형탐지 목표
매우 긴 문자열버퍼 오버플로
SQL 구문, 스크립트 태그SQL Injection, XSS
null, 음수, 최대 정수값예외 처리 누락
잘못된 타입 (문자 대신 숫자)타입 검증 누락

Red Team / Blue Team

“실제 공격과 방어를 팀으로 나눠 실전 훈련”

Red Team (공격팀)Blue Team (방어팀)
역할침투 시도탐지, 차단, 대응
수단해킹, 사회공학로그 분석, 알림 체계
목표방어망 뚫기공격 탐지 및 차단

대기업, 금융권, 공공기관에서 주기적으로 수행한다.


4. 헷갈리기 쉬운 쌍

취약점 평가 vs 침투 테스트

취약점 평가침투 테스트
행동스캔 후 목록화스캔 후 실제 공격
결과물취약점 목록침투 경로 + 증거
비유”문이 잠겼나 확인""문을 실제로 열어봄”
위험도낮음높음 (통제된 환경 필요)

부하 vs 스트레스 vs 스파이크 테스트

부하 테스트스트레스 테스트스파이크 테스트
트래픽 패턴점진적 증가 후 유지한계까지 계속 증가급격한 폭증과 복귀 반복
목적운영 기준 수립한계점 파악폭증 대응력 확인
정상 범위범위 내범위 초과범위 초과 (일시적)

5. 스트레스 테스트 vs DDoS 시뮬레이션

공통점

  • 서버에 대량의 트래픽을 보낸다
  • 고부하 상황을 인위적으로 만든다
  • 사전 계획과 승인이 필요하다
  • 패킷만 보면 구별이 어렵다

차이점

스트레스 테스트DDoS 시뮬레이션
목적한계점 측정방어 차단 검증
관심 위치Origin 서버CDN / WAF / 방화벽
트래픽 패턴정상 요청 패턴비정상 패턴 (IP 위조 등)
성공 기준서버가 X rps 처리Origin에 도달하기 전 차단
실패 기준서버 다운, 응답 지연차단 실패, 오탐 발생
수행 주체개발/운영팀보안팀, 전문 업체
승인내부 승인클라우드 제공사 승인 필수

결정적 차이: 트래픽이 어디서 끝나야 하는가

스트레스 테스트 성공:
  트래픽 ──→ [방어 계층 통과] ──→ Origin 서버 도달 ← 여기서 측정
 
DDoS 시뮬레이션 성공:
  트래픽 ──→ [방어 계층에서 차단] ──×── Origin 서버 미도달 ← 성공

스트레스 테스트는 Origin에 도달해야 의미 있고, DDoS 시뮬레이션은 Origin에 도달하면 실패다.


정리 한 눈에 보기

테스트 종류계열핵심 질문성공 기준
부하 테스트성능목표 rps에서 정상 응답?응답시간 < 기준치
스트레스 테스트성능한계점이 어디인가?Breaking Point 파악
스파이크 테스트성능폭증에 어떻게 반응?복구 시간 측정
지속 부하 테스트성능장시간 유지 시 문제?메모리 누수 없음
카오스 엔지니어링안정성구성 요소 고장 시 생존?자동 복구 확인
취약점 평가보안알려진 취약점 존재?CVE 목록 도출
침투 테스트보안실제 침투 가능?침투 경로 실증
DDoS 시뮬레이션보안방어 계층이 차단하는가?Origin 미도달
퍼징보안비정상 입력에 크래시?오류 없음
Red/Blue Team보안실전 공방에서 방어 성공?탐지/대응 확인

관련 글