고객이 확인하는, 인수 테스트(Acceptance Test)
- 정보처리기술사/소프트웨어공학
- 2020. 1. 1.
인수 테스트(Acceptance Testing)은 정보 시스템의 검사 중 하나로서, 해당 시스템이 실제 운영 환경에서 사용될 준비가 되었는지 최종적으로 확인하는 테스팅 단계이다. 개발자가 중심이 되어 수행하는 단위 테스트와 개발자 테스터가 같이 수행하는 통합 테스트 그리고 전문적인 테스터가 주축이 되어 수행하는 시스템 테스트와 달리 인수 테스트의 주축이 되는 테스터는 고객이나 실제 사용하는 사용자가 참여하며, 다른 이해관계자(Stakeholder)도 참여할 수는 있다.
앞에서 수행하는 테스트들은 결함을 찾고, 요구사항의 조건에 충족하는지를 보는 것이 목적이라면 인수 테스트의 목적은 이제 사용을 해도 되는 것인지 확신(Confidence)를 얻는 것이다.
시스템의 인수결정을 위한 확인 과정, 인수테스트
인수테스트(Acceptance Test)의 개념
- 시스템의 인수를 위해 기능적/비기능적 요구사항을 사용자가 직접 테스트하여 개발이 완료되었음을 증명하는 테스트
- 개발된 시스템이 고객의 요구사항과 일치하는지 확인하기 위해 고객의 입장에서 수행하는 테스트
※ 제품에 대한 확신을 얻는(결함을 찾기 보다는 제품에 기능을 테스트하며 완성도를 확인할 수 있는) 단계
인수테스트의 목적
- 확신(Confidence) : 시스템이나 시스템의 일부 또는 특정한 비기능적인 특성에 대해 확신을 얻는 것
- 배포가능성 평가 : 결함(Defect)을 찾는 것이 아니라 시스템을 배포하거나 사용할 준비가 되었는지 평가
- 준수성 확인 : 계약 또는 규정에 맞는 지 준수성을 확인
- 피드백(Feedback) : COTS(Commercial Off-the-Shelf, 상용 SW)는 기존 고객이나 잠재적인 고객으로부터 피드백을 받기 위해 실시
인수테스트의 프로세스
- 인수테스트의 프로세스는 정의, 계획, 도출, 수행, 협상, 인수의 과정을 거친다
단계 |
활동 |
산출물 |
준비 |
- 테스트 계획 수립 - 테스트 환경 구축 - 테스트 케이스 및 데이터개발 - 테스트 케이스별 절차 정의 |
- 테스트 시나리오 |
수행 |
- 테스트 수행 - 오류 수정 및 테스트 |
- 테스트 수행 계획서 |
평가 |
- 테스트 결과요약 - 테스트 결과검토 및 협상, 승인 |
- 테스트 결과 보고서 |
시스템 모니터링 |
- 시스템 데이터수집 및 검토 - 시스템 자원사용량 분석 - 시스템 성능분석 - 시설 보안위반 상태 분석 |
- 시스템 테스트 보고서 |
인수테스트의 주요 인수기준
기능성
- 단계 내 또는 단계간의 문서 및 코드 일관성, 기능의 추적성, 논리의 적합성 검증
- 기능 평가 및 시험, 운용환경에서 기능 유지
성능
- 성능요구의 타당성 조사, 정확한 모의실험 및 구현도구, 운용 환경에서 성능분석
인터페이스 품질
- I/F 문서화/복잡도/통합시험계획, 운용환경에서 I/F 시험
소프트웨어 품질
- 품질측정의 정량화, 소프트웨어 산출물의 인수기준, 문서화 및 소프트웨어 개발표준의 적합성, 운용시험의 품질기준
보안성
- 보안 요구 확인, 보안 시험 계획, 보안의 공식 검증
소프트웨어 안전성
- 안전 요구사항 확인
- 안전성 요구되는 시스템에서 부적절한 개발기법 및 기술의 삭제
- 안전위험을 방지하고 복구 할 수 있는 안전장치 및 안전코드 도입
인수테스트의 유형
공식적 테스트
- 사용자 인수테스트 : 사용자가 시스템 사용의 적절성을 직접 확인
- 운영상 인수테스트 : 시스템 관리자에 의해 수행, 백업 및 복원 테스팅, 재난복구, 사용자 관리, 유지보수 작업, 보안 취약성에 대한 정기적인 점검
- 계약 인수테스트 : 맞춤식 개발(Custom Developed) 소프트웨어가 계약상의 인수조건을 준수하는지 확인
- 규정 인수테스트 : 정부의 지침, 법률 또는 안정규정과 같은 정해진 규정을 준수하는지 확인
비공식적 테스트
- 알파 테스트 : 개발 조직내의 테스트로 실제 환경과 동일한 환경으로 테스트
- 베타 테스트 : 사용자 환경에서 진행하며 사용자가 모든 문제를 보고, COTS가 상업적으로 판매되기 전 목표시장의 기존 고객과 잠재고객의 피드백을 받을 목적으로 활용
참고자료
(도서) 개발자도 알아야할 소프트웨어 테스팅 실무
연관자료
'정보처리기술사 > 소프트웨어공학' 카테고리의 다른 글
테스트 주도 개발 방법, TDD(Test-Driven Development) (0) | 2020.01.01 |
---|---|
설치 테스트(Installation Test) (0) | 2020.01.01 |
요구사항의 통합적인 테스트, 시스템 테스트(System Test) (0) | 2019.12.31 |
통합테스트(Integration Test) (0) | 2019.12.30 |
단위 테스트(Unit Test, Component Test) (0) | 2019.12.30 |