인수 테스트

인수 테스트(Acceptance Testing)는 고객 또는 최종 사용자가 시스템이 요구사항을 충족하는지 확인하고, 그 결과로 시스템을 인수할지 결정하는 최종 단계의 테스트다. “기능이 맞게 동작하는가”를 넘어 *“이 시스템을 받아들일 만한가”*를 묻는다.

다른 테스트와의 차이

단계관점
단위 테스트함수·클래스가 맞는가
통합 테스트모듈 간 연결이 맞는가
시스템 테스트전체 시스템이 명세대로 동작하는가
인수 테스트사용자가 받을 수 있는가

인수 테스트는 개발자가 아닌 쪽이 검증하는 데에 의미가 있다.

인수 테스트의 종류

1. 사용자 인수 테스트(UAT)

최종 사용자가 실제 업무 시나리오로 검증한다. 기능 적합성과 사용성을 본다.

2. 운영상의 인수 테스트(OAT)

운영팀이 배포·백업·복구·모니터링 같은 운영 관점에서 검증한다.

3. 계약 인수 테스트

계약서에 명시된 기준에 따른 검증. SI 프로젝트에서 흔하다.

4. 규정 인수 테스트

법·규제·산업 표준 준수 여부를 검증. 금융·의료 등 규제 산업에서 필수.

5. 알파 테스트

개발 조직 내부에서, 그러나 개발자가 아닌 사용자가 수행하는 비공개 테스트.

6. 베타 테스트

실제 사용자 표본이 실제 환경에서 사용하며 검증한다. 공개 전 최종 필터 역할.

참여자

  • 업무 이해관계자: 요구사항을 정의한 주체
  • 최종 사용자: 실제로 쓰게 될 사람
  • QA/테스트 팀: 시나리오 준비와 결과 기록
  • 개발팀: 결함 발생 시 대응

좋은 인수 기준

  • 사전 합의: 개발 시작 전 *인수 기준(AC)*을 문서화 — 행위 주도 개발(BDD) 관점
  • 측정 가능: “빠르다”가 아닌 “3초 이내 응답”
  • 비즈니스 가치 중심: 기능 단위가 아니라 사용자 이익 기준
  • 재현 가능: 같은 절차로 같은 결과

실무 포인트

  • 환경의 근접성: 운영과 동일한 데이터·설정에서 테스트
  • 시나리오 우선: 기능 체크리스트보다 사용자 여정
  • 사인오프: 결과에 대한 공식 서명/승인으로 인수 확정

관련 노트