2026-01-03
1일 1아티클
강남언니
테스트 대역
배경
- MSA 구조, 여러 컴포넌트 간 동기 방식의 HTTP 통신 및 Message Broker 활용, MongoDB 활용
- 복잡한 비즈니스 요구사항과 시스템 제약사항 만족을 위한 다양한 의존 관계 형성
- 모든 인프라 계층에 강결합된 상황에서, Docker 등의 컨테이너 서비스를 활용해 모든 프로세스 실행 후 테스팅 진행 필요
테스트 대역
- 테스트 환경에서 실제 객체를 대신해 사용하는 객체
- 테스트 독립성 유지, 외부 의존성 제어 → 다양한 시나리오 검증 유리
테스트 대역 종류
Fake- 의존하는 구성 요소를 대체해 동일 기능을 간단 구현한 객체
DoC와 동일한 논리- 검증 목적이나 제어점, 관찰점으로 사용 X
Stub- 미리 정의된 응답이나 동작 제공하는 객체
- 특정 조건 및 상황에서 어떻게 동작하는지 테스트를 위한 사용
- 내부 동작 및 호출된 메서드 기록 X
Spy- DoC 대체, 호출된 메서드 및 전달된 인자 기록하는 객체
- 상호작용 검증,
Stub처럼 미리 정의된 동작 제공 가능
테스트 대역의 한계점
- 테스트 대역은 가정에 기반
- 외부 의존성 제거 → 독립적이고 빠른 피드백 제공 가능
- 가정에 기반하므로, 운영 환경과의 차이에서 한계 존재 (테스트는 성공하지만 운영에서 버그 발생 →
거짓 음성(False-Negative)상황)
- 무분별한 테스트 대역 사용 지양
- 명확한 트레이드 오프를 가진 개념
- 외부 서비스의 속도나 네트워크에 민감하게 동작 → 원격 서비스 호출 시 DoC 사용
- 검증 논리가 본인이 담당하는 서비스 논리 복잡성 → 대역 활용으로 외부 의존성에 대한 정확한 출력 및 빠른 테스트 속도 보장
오늘 배운 것
- PJ 초기 아이디어 고민
내일 할 일
- PJ 초기 아이디어 고민 (con.)