본문 바로가기
TIL

인수 테스트 (22.11.19 TIL)

by winteringg 2022. 11. 19.

이번 주 풀 스택 강의에서 인수 테스트라는 개념이 등장했다.

인수 테스트는 사용자 스토리(시나리오)에 맞춰 수행하는 테스트이다. 단위 테스트와 통합 테스트와 달리 비즈니스 쪽에 초점을 둔다. 프로젝트에 참여하는 사람들(ex. 기획자, 클라이언트 대표, 개발자 등)이 토의해서 시나리오를 만들고, 개발자는 이에 의거해서 코드를 작성한다. 개발자가 직접 시나리오를 제작할 수도 있지만, 다른 의사소통집단으로부터 시나리오를 받아(인수) 개발한다는 의미를 가지고 있다.


시나리오에서 요구하는 것은 '누가, 어떤 목적으로, 무엇을 하는가'이다. 소프트웨어를 인수하기 전에 명세한 요구사항 (인수 조건) 대로 잘 동작하는지 검증이 필요하다. 실제 사용자 관점에서 테스트할 때는 주로 E2E (전 구간 테스트, End-to-End Test) 형식을 이용해서 확인한다. 내부 기능들(클래스의 메서드들)까지 테스트할 필요는 없다.

강의에서는 CodeceptJS 를 이용해서 먼저 인수 테스트부터 작성 후 프론트엔드 테스트 코드에서 임의의 값을 넣어주어 인수 테스트를 통과시켰고, 그다음에 데이터를 백엔드 서버와 연결시켜서 완성한다. 그렇다고 무작정 테스트 코드 먼저 작성하는 것이 아닌, 문서로 시나리오를 먼저 상세하게 정리한 후 코딩 단계로 넘어간다.

인수 테스트는 시스템의 인수를 위해 기능적/비기능적인 요구사항을 직접 테스트하여 개발이 완료되었다는 것을 증명하는 테스트이기 때문에 완성도를 확인하여 확신을 얻을 수 있는 단계인 것 같다. 실제 프로젝트에 적용해본다면 하나의 기능이 완성될 때마다 인수 테스트를 하나씩 통과시키며 코드의 완성도를 확인하면 될 듯하다. 이 완성도를 위해서는 인수 테스트를 직접 코드로 짜기 전 최대한 상세하게 문서화시키는 작업이 매우 중요할 것 같다는 생각이 든다.


참고 :

 

단위 테스트 vs 통합 테스트 vs 인수 테스트

소프트웨어 테스트에는 여러 유형들이 있다. 각 테스트는 목적, 방법 등에 따라 차이점을 가진다. 이번 글에서는 그 중 단위 테스트, 통합 테스트, 인수 테스트에 대해 개념을 정리하려 한다.

tecoble.techcourse.co.kr

 

'TIL' 카테고리의 다른 글

Java - enum 타입 (22.11.21 TIL)  (0) 2022.11.21
Web Storage (22.11.20 TIL)  (0) 2022.11.20
리액트 - useRef (22.11.18 TIL)  (0) 2022.11.18
setTimeout 과 setInterval (22.11.17 TIL)  (0) 2022.11.17
리액트 컴포넌트 (22.11.16 TIL)  (0) 2022.11.16

댓글