[전통적인 방법론] V-모델(Verification & Validation) - 3. V-모델의 테스트 단계 (3.4 인수 테스트(Acceptance Testing) 단계)

2025. 3. 12. 18:27개발/개발 방법론

3.4 인수 테스트(Acceptance Testing) 단계

인수 테스트(Acceptance Testing)는 개발된 소프트웨어가 실제 사용자의 요구사항을 충족하는지 검증하는 최종 테스트 단계입니다.
이 단계에서는 사용자 시나리오 기반으로 테스트를 수행하며, 소프트웨어가 실제 운영 환경에서 문제없이 작동하는지를 확인합니다.

V-모델에서는 인수 테스트가 최종 검증 단계로, 이 테스트를 통과하면 시스템이 실제 배포(Deployment)될 수 있습니다.


📌 학습 목표

최종 사용자가 요구사항을 만족하는지를 확인하는 인수 테스트 방법을 학습한다.
사용자 시나리오 기반 테스트를 수행하는 방법을 익힌다.
UAT(User Acceptance Testing) 절차를 이해하고, 필드 테스트(FAT, SAT) 개념을 학습한다.
요구사항 추적 매트릭스(Traceability Matrix)를 활용하여 요구사항 충족 여부를 평가한다.


📖 학습 내용

1. 사용자 시나리오 기반 테스트

📌 사용자 시나리오 기반 테스트란?

사용자 시나리오 기반 테스트는 실제 사용자의 관점에서 제품을 테스트하는 방법으로,
일반적인 테스트 케이스보다 사용자의 실제 사용 흐름을 반영하여 진행됩니다.

📌 사용자 시나리오 기반 테스트 절차

  1. 사용자 유형 정의 → 주요 사용자(관리자, 일반 사용자 등) 설정
  2. 테스트 시나리오 작성 → 사용자가 소프트웨어를 어떻게 사용할지를 문서화
  3. 테스트 수행 → 실제 사용 환경에서 시나리오 실행
  4. 결과 분석 및 피드백 반영 → 시나리오 실패 시 원인 분석 및 수정

📌 예제: 온라인 쇼핑몰 사용자 시나리오 테스트

  • 사용자가 로그인하고 상품을 장바구니에 추가한 후 결제까지 진행하는 전체 흐름을 검증
  • 주문 내역 확인 및 취소 기능이 정상 동작하는지 테스트

사용자 시나리오 기반 테스트를 수행하면 실사용자의 기대를 충족하는지 직접 확인할 수 있습니다.


2. UAT(User Acceptance Testing) 절차

📌 UAT(User Acceptance Testing)란?

사용자 인수 테스트(UAT)는 최종 사용자가 직접 소프트웨어를 테스트하여, 실제 운영 환경에서 문제없이 사용할 수 있는지를 검증하는 과정입니다.

📌 UAT(User Acceptance Testing) 주요 절차

단계  설명
1. 테스트 계획 수립 UAT 범위, 테스트 환경, 사용자를 정의
2. 사용자 교육 사용자에게 테스트 절차 및 목표를 설명
3. 테스트 시나리오 실행 실제 사용자가 시스템을 사용하며 주요 기능을 테스트
4. 피드백 수집 및 수정 사용자 피드백을 반영하여 개선
5. 최종 승인 및 배포 UAT 통과 시 시스템을 실제 운영 환경에 배포

📌 UAT 테스트 사례

  • ERP 시스템 도입 시 실제 사용자가 시스템을 사용하며 업무 프로세스를 검증
  • 은행의 온라인 뱅킹 서비스가 사용자의 거래 요구를 충족하는지 평가

UAT를 성공적으로 수행하면 시스템이 실제 운영 환경에서도 정상적으로 동작할 수 있습니다.


3. 필드 테스트(FAT, SAT) 개념

📌 필드 테스트(Field Testing)란?

필드 테스트는 실제 운영 환경에서 소프트웨어가 정상적으로 동작하는지를 검증하는 테스트입니다.
이는 FAT(Factory Acceptance Testing)과 SAT(Site Acceptance Testing)으로 나뉩니다.

📌 FAT(Factory Acceptance Testing) vs. SAT(Site Acceptance Testing)

테스트 유형 설명  수행 장소
FAT (공장 인수 테스트) 개발사가 자체적으로 사내 환경에서 수행하는 테스트 개발사 테스트 환경
SAT (현장 인수 테스트) 고객사(사용자) 환경에서 수행하는 실제 운영 테스트 사용자 실제 운영 환경

📌 FAT & SAT 예제

  • FAT: 소프트웨어가 내부 테스트 서버에서 요구사항을 충족하는지 검증
  • SAT: 실제 사용자 환경(네트워크, 데이터베이스 등)에서 정상적으로 동작하는지 확인

FAT와 SAT를 수행하면 개발 환경과 실제 운영 환경 간의 차이를 조정할 수 있습니다.


4. 요구사항 추적 매트릭스(Traceability Matrix) 활용

📌 요구사항 추적 매트릭스란?

요구사항 추적 매트릭스(RTM, Requirements Traceability Matrix)는 소프트웨어의 모든 요구사항이 개발 및 테스트에서 충족되었는지를 추적하는 문서입니다.

📌 RTM(Requirements Traceability Matrix) 주요 항목

요구사항 ID 요구사항 설명 테스트 케이스 테스트 결과
REQ-001 사용자는 로그인할 수 있어야 한다. TC-001: 로그인 기능 테스트 ✅ 성공
REQ-002 사용자는 비밀번호를 재설정할 수 있어야 한다. TC-002: 비밀번호 재설정 테스트 ❌ 실패

RTM을 활용하면 모든 요구사항이 테스트되었는지 명확하게 확인할 수 있습니다.


🛠 실습: 특정 요구사항을 기반으로 인수 테스트 수행

📌 실습 목표

  • 특정 요구사항을 기반으로 인수 테스트를 수행한다.
  • 사용자 시나리오를 작성하고, 실제 사용 환경에서 테스트를 실행한다.
  • 요구사항 추적 매트릭스를 활용하여 테스트 결과를 문서화한다.

📌 실습 과제

  1. 온라인 쇼핑몰 시스템 인수 테스트
    • 사용자 로그인 → 상품 검색 → 장바구니 추가 → 결제 → 주문 확인까지의 흐름 검증
    • 모바일 환경 및 웹 브라우저에서의 사용성 테스트
  2. 요구사항 추적 매트릭스(RTM) 작성
    • 요구사항별 테스트 수행 여부 및 결과 정리
  3. FAT & SAT 테스트 실행
    • 개발사 환경(FAT)과 실제 운영 환경(SAT)에서 테스트를 진행하고 차이점 분석

📌 예제 RTM 작성 예시

요구사항 ID 기능 설명 테스트 수행 여부 테스트 결과
REQ-101 사용자는 상품을 검색할 수 있어야 한다. 성공
REQ-102 사용자는 장바구니에 상품을 추가할 수 있어야 한다. 성공
REQ-103 사용자는 결제를 완료할 수 있어야 한다. 성공

요구사항 추적 매트릭스를 활용하면 인수 테스트 결과를 체계적으로 정리할 수 있습니다.


✅ 결론

인수 테스트는 최종 사용자가 요구사항을 충족하는지를 확인하는 중요한 단계입니다.
사용자 시나리오 기반 테스트를 수행하면 실사용자의 기대를 충족하는지 평가할 수 있습니다.
UAT(User Acceptance Testing) 및 필드 테스트(FAT, SAT)를 통해 시스템이 실제 환경에서도 정상적으로 동작하는지 확인할 수 있습니다.
요구사항 추적 매트릭스(RTM)를 활용하면 요구사항 충족 여부를 명확하게 검증할 수 있습니다. 🚀