inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

통합테스트와 단위테스트 그리고 TDD

service
0

이번 3주차 발자국을 작성하기에 앞서서, 저는 다른 스터디원분들이 작성해준 테스트 시 사용되는 애노테이션의 사용법과 각 차이점 보다는 통합 테스트와 단위테스트 그리고 TDD를 수행해야하는 근본적인 이유에 대해서 작성하였으며 이를 통해 얻고자 하는 것은 궁극적으로 무엇인가에 대해서 작성하였습니다.



통합 테스트란??

메서드가 어떠한 상황에서 어떻게 작동해야된다.라는 것을 보장하는 것이 단위테스트라면 통합테스트는 A객체와 B.객체가 만나서 협력 시 어떻게 동작한다라는 것을 보장하기 위해서 수행하는 것이다.


통합 테스트는 왜 해야하는가?

“불안감”때문이다. 정확히 말하면 시스템 전체가 의도한 대로 작동하는지 확인하고 신뢰할 수 있는 상태로 배포하기 위해서이다. 통합 테스트를 해야하는 근본적인 이유는 아래와 같다.


통합 테스트의 본질적인 목적


단위 테스트란?

하나의 함수, 메서드, 클래스와 같은 가장 작은 코드 조각이 예상한 대로 작동하는지 검증하는 테스트이다.


단위 테스트는 왜 해야하는가?

위와 같은 사유로 단위테스트는 작성되어 팀 전체의 심리적 불안 요소를 제거하거하고, 코드를 “검증된 사실”“프로젝트를 설명하는 문서”와 같은 존재가 되어야 한다.

단위 테스트는 “이 코드가 나의 의도대로 동작한다” 라는 것을 기계적으로, 반복 가능하게 자동으로 입증하는 절차이며 리팩토링 시 언제든지 업데이트가 가능한 살아있는 문서가 된다.


TDD란?

“테스트 코드를 먼저 작성(문서를 먼저 작성)하고, 해당 테스트를 통과시키기 위한 실제 코드를 작성하는” 개발 방식이다.

TDD는 3단계의 사이클이 존재하는데 Red, Green, Refactor단계로 나뉘게 된다.

백엔드 워밍업클럽3기BE 클린코드&테스트코드

답변 0