테스트 / 자동화
통합 테스트(Integration Test)
통합 테스트는 여러 코드나 시스템 구성 요소를 연결했을 때 함께 올바르게 동작하는지 확인하는 테스트입니다.
쉬운 설명
신청 내용을 검사하는 코드와 저장하는 코드가 각각 맞아도 연결 과정에서 문제가 생길 수 있어요. 통합 테스트는 이런 부분을 함께 실행해 정보가 제대로 전달되는지 확인해요. 예를 들어 신청 요청을 처리한 뒤 테스트용 데이터베이스에 기록이 생겼는지 살펴볼 수 있어요. 어디까지 실제로 연결했는지는 테스트마다 달라요.
이런 상황에서 만나요
신청 요청에는 성공 응답이 오는데 명단에는 아무것도 없어요. 요청 처리와 저장 과정을 함께 검사해 실제 기록이 만들어지는지 확인하려는 상황이에요.
성공 응답과 저장된 기록을 함께 확인해요
POST /applications 신청 번호: DEMO-101
테스트 데이터베이스 조회
DEMO-101 기록 1건 존재
메일 발송: 테스트용 응답 사용
실제 받은편지함: 이번 검사에 미포함
- 1테스트용 서버에 가상 신청을 보내는 예시예요.
- 2응답 문구뿐 아니라 요청이 만든 결과를 확인해요.
- 3연결을 대체한 기능은 실제 동작 검증과 구분해요.
AI에게 “신청 API를 호출한 뒤 테스트용 데이터베이스에서 같은 신청 번호를 조회해 확인해 줘”처럼 연결 범위를 알려 주세요. 외부 이메일 발송을 가짜 응답으로 대체했다면 메일 도착은 이번 검증 범위에서 빠졌다고 구분해요.
헷갈리기 쉬운 점
통합 테스트는 실제 사이트를 클릭하는 검사인가요?
반드시 그렇지는 않아요. 브라우저 없이 서버의 요청 처리와 데이터베이스 연결만 검사할 수도 있어요. 사용자가 화면에서 신청하는 전체 경로를 확인하려면 E2E 테스트로 따로 구성할 수 있어요.
테스트 데이터가 운영 데이터와 섞이지 않도록 전용 환경을 사용하세요. 테스트가 남긴 기록 때문에 다음 검사의 결과가 달라지지 않도록 준비와 정리 과정도 확인해요.
왜 알아야 할까요?
각 부분은 맞는데 연결하면 실패하는 문제를 찾을 수 있어요. 저장 필드의 이름이나 응답 형식이 바뀌었을 때 다른 부분에 미치는 영향도 확인할 수 있어요.
조금 더 자세히
검사 범위에 실제 데이터베이스를 포함할 수도 있고 테스트용 대체 구현을 사용할 수도 있습니다. 무엇을 실제로 연결하고 무엇을 대체했는지 기록해야 결과를 정확히 해석할 수 있습니다.
통합 테스트는 연결 준비와 데이터 상태의 영향을 받습니다. 필요한 서비스를 준비하고 초기 상태를 일정하게 만든 뒤, 요청의 응답과 실제로 발생한 변경을 함께 확인합니다.
직접 사용할 때 확인해 보세요
- 실제로 연결한 구성 요소를 확인한다
- 운영 환경과 테스트 환경을 구분한다
- 응답뿐 아니라 저장 결과 등 실제 변경을 확인한다