2025. 3. 12. 18:27ㆍ개발/개발 방법론
3.4 인수 테스트(Acceptance Testing) 단계
인수 테스트(Acceptance Testing)는 개발된 소프트웨어가 실제 사용자의 요구사항을 충족하는지 검증하는 최종 테스트 단계입니다.
이 단계에서는 사용자 시나리오 기반으로 테스트를 수행하며, 소프트웨어가 실제 운영 환경에서 문제없이 작동하는지를 확인합니다.
V-모델에서는 인수 테스트가 최종 검증 단계로, 이 테스트를 통과하면 시스템이 실제 배포(Deployment)될 수 있습니다.
📌 학습 목표
✔ 최종 사용자가 요구사항을 만족하는지를 확인하는 인수 테스트 방법을 학습한다.
✔ 사용자 시나리오 기반 테스트를 수행하는 방법을 익힌다.
✔ UAT(User Acceptance Testing) 절차를 이해하고, 필드 테스트(FAT, SAT) 개념을 학습한다.
✔ 요구사항 추적 매트릭스(Traceability Matrix)를 활용하여 요구사항 충족 여부를 평가한다.
📖 학습 내용
1. 사용자 시나리오 기반 테스트
📌 사용자 시나리오 기반 테스트란?
사용자 시나리오 기반 테스트는 실제 사용자의 관점에서 제품을 테스트하는 방법으로,
일반적인 테스트 케이스보다 사용자의 실제 사용 흐름을 반영하여 진행됩니다.
📌 사용자 시나리오 기반 테스트 절차
- 사용자 유형 정의 → 주요 사용자(관리자, 일반 사용자 등) 설정
- 테스트 시나리오 작성 → 사용자가 소프트웨어를 어떻게 사용할지를 문서화
- 테스트 수행 → 실제 사용 환경에서 시나리오 실행
- 결과 분석 및 피드백 반영 → 시나리오 실패 시 원인 분석 및 수정
📌 예제: 온라인 쇼핑몰 사용자 시나리오 테스트
- 사용자가 로그인하고 상품을 장바구니에 추가한 후 결제까지 진행하는 전체 흐름을 검증
- 주문 내역 확인 및 취소 기능이 정상 동작하는지 테스트
✔ 사용자 시나리오 기반 테스트를 수행하면 실사용자의 기대를 충족하는지 직접 확인할 수 있습니다.
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을 활용하면 모든 요구사항이 테스트되었는지 명확하게 확인할 수 있습니다.
🛠 실습: 특정 요구사항을 기반으로 인수 테스트 수행
📌 실습 목표
- 특정 요구사항을 기반으로 인수 테스트를 수행한다.
- 사용자 시나리오를 작성하고, 실제 사용 환경에서 테스트를 실행한다.
- 요구사항 추적 매트릭스를 활용하여 테스트 결과를 문서화한다.
📌 실습 과제
- 온라인 쇼핑몰 시스템 인수 테스트
- 사용자 로그인 → 상품 검색 → 장바구니 추가 → 결제 → 주문 확인까지의 흐름 검증
- 모바일 환경 및 웹 브라우저에서의 사용성 테스트
- 요구사항 추적 매트릭스(RTM) 작성
- 요구사항별 테스트 수행 여부 및 결과 정리
- FAT & SAT 테스트 실행
- 개발사 환경(FAT)과 실제 운영 환경(SAT)에서 테스트를 진행하고 차이점 분석
📌 예제 RTM 작성 예시
요구사항 ID | 기능 설명 | 테스트 수행 여부 | 테스트 결과 |
REQ-101 | 사용자는 상품을 검색할 수 있어야 한다. | ✅ | 성공 |
REQ-102 | 사용자는 장바구니에 상품을 추가할 수 있어야 한다. | ✅ | 성공 |
REQ-103 | 사용자는 결제를 완료할 수 있어야 한다. | ✅ | 성공 |
✔ 요구사항 추적 매트릭스를 활용하면 인수 테스트 결과를 체계적으로 정리할 수 있습니다.
✅ 결론
✔ 인수 테스트는 최종 사용자가 요구사항을 충족하는지를 확인하는 중요한 단계입니다.
✔ 사용자 시나리오 기반 테스트를 수행하면 실사용자의 기대를 충족하는지 평가할 수 있습니다.
✔ UAT(User Acceptance Testing) 및 필드 테스트(FAT, SAT)를 통해 시스템이 실제 환경에서도 정상적으로 동작하는지 확인할 수 있습니다.
✔ 요구사항 추적 매트릭스(RTM)를 활용하면 요구사항 충족 여부를 명확하게 검증할 수 있습니다. 🚀