명세 등 요구 사항이 충족되는지 확인하기 위해 비즈니스 측면에 초점을 맞춘 테스트라고 생각할 수 있다. 보통 마지막 단계에서 작업(기능)이 완전히 완료되었는지 검사하는데 수행된다.
요구사항(인수 조건)이 만족하는지 확인하는 과정에서, 시나리오에 맞춰 테스트가 수행된다.
이때, 인수 조건 Acceptance Criteria
이 사용자 스토리를 시나리오 형식으로 표현되며 시나리오는 프로젝트에 참여하는 사람들(개발자, 기획자 등)의 토의를 통해 나온다.
시나리오의 중점은 누가
, 어떤 목적으로
, 무엇을 하는가
이다.
단위 테스트
JUnit
으로 테스트한다.통합 테스트
@SpringBootTest
어노테이션을 붙여 통합 테스트를 수행할 수 있다.인수 테스트
RestAssured
, MockMvc
같은 도구를 활용하여 인수 테스트를 작성할 수 있다.인수 테스트 주도 개발
인수 테스트를 먼저 작성한 다음 기능 개발을 하는 방법
사용자(고객)-개발자-테스터간의 커뮤니케이션을 기반한 개발 방법
애자일의 프로그밍 방법론 중 하나로 사용자 스토리를 기반으로 인수 조건을 도출하여 기능 개발을 진행하는 방법론이다.
ATDD 를 통해 요구사항과, 작업의 순서와 범위를 명확하게 파악할 수 있다.
TDD
ATDD
[참고]
https://edu.nextstep.camp/s/13RXWHcB/lt/RlhrKTbI
https://tecoble.techcourse.co.kr/post/2021-05-25-unit-test-vs-integration-test-vs-acceptance-test/
https://boorownie.github.io/1
https://tecoble.techcourse.co.kr/post/2020-08-19-rest-assured-vs-mock-mvc/