TDD

전은평·2023년 4월 25일
0

TDD란?

Test Driven Development 의 약자로 직역하면 테스트 주도 개발이다.

반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 것을 말한다.

쉽게 이해를 돕자면 다음 한마디로 끝낼 수 있다.
테스트 코드를 먼저 만들고 그 테스트에 통과하도록 기능 만들래~!!

그럼 왜 굳이 TDD라는 말이 나왔을까?

실제로 기능을 다 구현한 뒤에는 여러 상황과 사람 심리상, 바쁘고 귀찮아서 테스트 코드를 안 만들게 되기 때문이다.

혹여나 테스트 코드를 만들게 되더라도 기존의 만들어 놓은 기능이 통과하게끔 일부러 쉽게 만들 수도 있어서, 이는 기존의 테스트 코드를 만들고 테스트하는 의미가 없어지게 된다.

그래서 테스트코드를 먼저 만드는 문화를 만들자! 라는 취지에서 나온 것 같다.

TDD 개발 과정은 다음과 같다. 코드를 작성할 때 작은 단위를 Testing인 Unit Testing을 진행하며 완성된 로직은 Integration Testing을 진행한다.

☝🏻Tip!
처음에 테스트 코드를 어느 정도까지 작성해야 할지 고민이 될 텐데,
처음부터 너무 많은 테스트 코드를 작성하려 애쓸 필요는 없고, 우선적으로 API 하나당 적어도 하나의 테스트 정도만 작성하고 넘어가기!

그러다 버그가 발견될 때마다 테스트 코드를 하나씩 하나씩 추가해 나가는 것을 추천!
(한번 발생한 버그는 또 발생할 수도 있다는 가정하에🙃)

또한 요즘 트렌드가 chatGPT를 통해 테스트코드나 swagger등 작성이 가능하기 때문에, 맨바닥부터 작성하지 말고, 이를 적극 이용해서 작성한다. 하지만 아직 chatGPT가 완벽하게 처리해주진 못하기 때문에, 추가적으로 수정 및 추가는 우리 개발자의 몫..!!

참고자료
: 코드캠프 수업자료

profile
`아는 만큼 보인다` 라는 명언을 좋아합니다. 많이 배워서 많은 걸 볼 수 있는 개발자가 되고 싶습니다.

0개의 댓글