2026-01-03

1일 1아티클

강남언니

테스트 대역

배경

  • MSA 구조, 여러 컴포넌트 간 동기 방식의 HTTP 통신 및 Message Broker 활용, MongoDB 활용
  • 복잡한 비즈니스 요구사항과 시스템 제약사항 만족을 위한 다양한 의존 관계 형성
  • 모든 인프라 계층에 강결합된 상황에서, Docker 등의 컨테이너 서비스를 활용해 모든 프로세스 실행 후 테스팅 진행 필요

테스트 대역

  • 테스트 환경에서 실제 객체를 대신해 사용하는 객체
  • 테스트 독립성 유지, 외부 의존성 제어 → 다양한 시나리오 검증 유리

테스트 대역 종류

  1. Fake
    • 의존하는 구성 요소를 대체해 동일 기능을 간단 구현한 객체
    • DoC와 동일한 논리
    • 검증 목적이나 제어점, 관찰점으로 사용 X
  2. Stub
    • 미리 정의된 응답이나 동작 제공하는 객체
    • 특정 조건 및 상황에서 어떻게 동작하는지 테스트를 위한 사용
    • 내부 동작 및 호출된 메서드 기록 X
  3. Spy
    • DoC 대체, 호출된 메서드 및 전달된 인자 기록하는 객체
    • 상호작용 검증, Stub처럼 미리 정의된 동작 제공 가능

테스트 대역의 한계점

  • 테스트 대역은 가정에 기반
    • 외부 의존성 제거 → 독립적이고 빠른 피드백 제공 가능
    • 가정에 기반하므로, 운영 환경과의 차이에서 한계 존재 (테스트는 성공하지만 운영에서 버그 발생 → 거짓 음성(False-Negative) 상황)
  • 무분별한 테스트 대역 사용 지양
    • 명확한 트레이드 오프를 가진 개념
    • 외부 서비스의 속도나 네트워크에 민감하게 동작 → 원격 서비스 호출 시 DoC 사용
    • 검증 논리가 본인이 담당하는 서비스 논리 복잡성 → 대역 활용으로 외부 의존성에 대한 정확한 출력 및 빠른 테스트 속도 보장

오늘 배운 것

  1. PJ 초기 아이디어 고민

내일 할 일

  1. PJ 초기 아이디어 고민 (con.)

참고자료

results matching ""

    No results matching ""