난 처음에 인수 테스트 = API 테스트 인 줄 알았다. 근데, 사수님이 인수테스트는 다양하게 쓰인다고, 실제 유저가 하는 테스트가 인수테스트에 가깝고 내가 알고 있던 인수 테스트는 시스템 테스트에 가깝다고 말씀 주셨다.
의미가 궁금해져서 이를 찾아보게 되었다.
소프트웨어 개발 단계
소프트웨어 개발 단계에 따른 테스트는 소프트웨어 개발 단계의 순서와 짝을 이루어 테스트를 진행해나가는 방법이다.
여기서 생각했던 시스템 테스트가 내가 RestAssured로 개발했던 테스트이고, 인수 테스트는 실제 유저가 원하는 대로 잘 동작하는지 보는 테스트이다.
- 시스템 테스트
시스템 전체가 정상적으로 작동하는 지를 체크하는 시스템 테스트이다. 모듈이 모두 통합된 후 사용자의 요구 사항들을 만족하는지 테스트하는 것이다. 즉 사용자에게 개발된 시스템을 전달하기 전에 개발자가 진행하는 마지막 테스트이다.
- 인수 테스트
시스템이 예상대로 동작 하는지 확인하고, 요구 사항에 맞는지 확신하기 위해 하는 테스트이다. 그래서 시스템을 인수하기 전 요구 분석 명세서에 명시된 대로 모두 충족시키는지를 사용자가 테스트한다. 인수 테스트가 끝나면 사용자는 인수를 승낙한 것이다.
- 알파 테스트, 베타 테스트
알파 테스트는 내부 필드 테스트이며, 베타 테스트 전에 회사 내의 다른 직원에게 개발자 환경에서 사용해보도록 하고, 오류와 사용상의 문제점들을 파악하는 것이다.
베타 테스트는 개발 완료되어 알파 테스트를 거친 소프트웨어를 시장에 상품으로 내놓기 전에 시장의 피드백을 얻기 위한 목적으로 한다. 특정 사용자에게 미리 사용해보도록 배포하는데, 베타 버전을 받은 사용자들이 사용자 입장에서 사용해본 다음 문제점이나 오류를 발견하면 개발자에게 알려주는 방식으로 테스트한다.
즉, 알파는 내부 사람들이 검증, 그리고 베타는 출시 전 다른 사람들에게 배포해서 문제점을 반영한다고 생각하면 된다.
참고 자료
https://terms.naver.com/entry.naver?docId=3533036&cid=58528&categoryId=58528
https://terms.naver.com/entry.naver?docId=3533039&cid=58528&categoryId=58528