기본 콘텐츠로 건너뛰기

라벨이 테스트 전략인 게시물 표시

단위 테스트와 통합 테스트, 무엇을 어디까지 검증해야 할까

단위 테스트와 통합 테스트, 무엇을 어디까지 검증해야 할까 빠른 답 단위 테스트는 한 함수, 클래스, 정책 객체처럼 작은 책임을 빠르게 검증하고 외부 의존성은 보통 테스트 대역으로 분리한다. 통합 테스트는 DB, HTTP API, 파일 시스템, 메시지 브로커처럼 실제 연결 지점이 함께 동작하는지 확인한다. 슬라이스 테스트는 웹 계층이나 저장소 계층처럼 일부 구성만 로드해 단위 테스트보다 현실적이고 전체 통합 테스트보다 가볍게 검증한다. CI에서는 빠른 테스트를 먼저 실행하고, 통합·E2E·스모크 테스트는 변경 위험과 배포 단계에 맞춰 품질 게이트로 나누는 편이 관리하기 쉽다. 목차 한눈에 비교 왜 경계가 헷갈리기 쉬운가 선택 기준 매트릭스 테스트 범위 정하는 흐름 스택 중립 예시로 보는 테스트 경계 슬라이스 테스트를 둘 위치 CI 품질 게이트 나누기 실패 출력으로 원인 좁히기 테스트 대역과 실제 환경의 균형 운영 검증까지 이어지는 테스트 전략 한눈에 비교 검증 범위 단위 테스트는 작은 책임 단위, 슬라이스 테스트는 특정 계층, 통합 테스트는 여러 구성 요소의 연결을 본다. 실행 비용 단위 테스트는 빠르고 자주 돌리기 좋으며, 통합 테스트는 환경 준비와 I/O 때문에 상대적으로 느리다. 실패 원인 단위 테스트는 실패 지점이 좁고, 통합 테스트는 설정, 데이터, 네트워크, 트랜잭션까지 원인 후보가 넓어진다. 의존성 처리 단위 테스트는 대역 객체를 자주 쓰고, 통합 테스트는 실제 DB나 컨테이너, 테스트용 외부 API 서버를 사용한다. 신뢰도 성격 단위 테스트는 로직 회귀를 빠르게 잡고, 통합 테스트는 배포 후 연결 문제를 줄이는 데 도움이 된다. 왜 경계가 헷갈리기 쉬운가 테스트 이름은 단순하지만 실제 코드에서는 경계가 자주 흐려진다. 예를 들어 OrderService 하나만 테스트한다고 해도 그 안에서 재고 조회, 결제 요청, 주문 저장이 모두 일어나면 클래스 하나를 테스트한다는 사실만으로 단위 테스트라고 부르기 어렵다. 테스트가 묻는 질문...

프론트엔드 E2E 테스트란 무엇이고, 어떤 사용자 흐름부터 검증해야 할까

프론트엔드 E2E 테스트란 무엇이고, 어떤 사용자 흐름부터 검증해야 할까 빠른 답 E2E 테스트는 브라우저에서 사용자의 주요 흐름이 끝까지 완료되는지 확인하는 마지막 품질 기준선이다. 모든 화면을 자동화하기보다 로그인, 결제, 신청, 권한 확인처럼 실패 비용이 큰 여정부터 잡는 편이 유지 비용이 낮다. 도구 선택보다 더 자주 발목을 잡는 것은 불안정한 셀렉터, 고정 대기, 재현되지 않는 테스트 데이터다. 실패를 빨리 좁히려면 스크린샷만 남기지 말고 trace , 콘솔 로그, 네트워크 기록, 요청 ID를 함께 남겨야 한다. E2E 테스트는 브라우저를 얼마나 많이 조작했는가를 보는 작업이 아니라, 배포 전후에 사용자가 중요한 일을 실제로 끝낼 수 있는지를 확인하는 작업에 가깝다. 단위 테스트와 통합 테스트가 코드 단위의 정확도를 높여 준다면, E2E 테스트는 라우팅, 인증, 렌더링, 네트워크, 권한이 연결된 최종 경로를 확인한다. 목차 시간 흐름으로 이해하기 흐름으로 보기 왜 이 기준을 기본 품질로 볼까 핵심 흐름 선정 실제로 막히는 지점 테스트 환경 준비 브라우저 시나리오 실행 실패 증거 수집 CI 품질 게이트 무엇을 E2E로 두고 무엇은 단위·통합 테스트에 맡길까 시간 흐름으로 이해하기 설계 시점 실패 비용이 큰 사용자 여정 2~5개를 먼저 고른다. → 준비 시점 계정, 시드 데이터, 외부 의존성을 반복 가능한 상태로 맞춘다. → 실행 시점 입력과 클릭보다 최종 화면, 세션 유지, 응답 결과를 기준으로 본다. → 실패 시점 스크린샷, 콘솔, 네트워크, trace 를 함께 저장해 원인을 좁힌다. → 배포 시점 PR 스모크, 배포 전 회귀, 스테이징 검증을 분리해 운영 흐름에 붙인다. 시간축으로 보면 E2E는 테스트 코드 한 파일의 문제가 아니라, 설계와 운영을 잇는 품질 장치에 가깝다. 앞단에서 범위를 잘 고르고, 중간에서 증거를 잘 남기고, 뒷단에서 품질 게이트를 분리해야 유지가 쉬워진다. 흐름으로 보기 흐름 다이어그램 이 순서를 거꾸...