프리 정보 컨텐츠

TDD(Test-Driven-Development) 개념과 소개 본문

TDD

TDD(Test-Driven-Development) 개념과 소개

쏜스 2021. 5. 12. 21:10
반응형

최근 대부분의 회사는 TDD(Test-Driven Development)에 관해 요구하고 있습니다. 개인 프로젝트에서 TDD를 이용했던 경험이 없기 때문에 기본 개념과 방법에 대해서 작성해보고자 합니다.

 

TDD 소개

가장 먼저 이해해야 할 것은 TDD와 단위 테스트는 다른 개념이라는 것입니다. TDD는 테스트가 주도하는 개발을 이야기하며 테스트 코드를 먼저 작성하는 것부터 시작합니다.

 

TDD 레드 그린 사이클

Red : 항상 실패하는 테스트를 먼저 작성
Green : 테스트가 통과하는 프로덕션 코드를 작성
Refactor : 테스트가 통과하면 프로덕션 코드를 리팩토링

위의 TDD와 달리 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 말합니다.

TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 것도 아니며, 리팩토링도 포함되지 않습니다.

순수하게 테스트 코드만 작성하는 것을 이야기합니다.

 

하는 방법을 배우기 전에 앞서 테스트 코드는 왜 작성해야 하는지?? 에 대해서 먼저 알아보겠습니다.

 

1. 개발단계 초기에 문제를 발견하도록 도와줌
2. 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 올바르게 작동하는지 확인 가능
3. 기능에 대한 불확실성 감소
4. 시스템에 대한 실제 문서 제공 

단위 테스트 개발 방식 전 진행한 개발 방식

1. 코드 작성

2. 프로그램(Tomcat) 실행

3. Postman과 같은 API 도구로 HTTP 요청

4. 요청 결과를 System.out.println()으로 검증

5. 결과가 다를 시 다시 프로그램을 중지하고 코드 수정

 

2~5번을 코드를 수정할 때마다 반복해야 하고 톰캣을 재시작하는 것을 방지하기 위해 테스트 코드를 작성합니다.

후에 테스트 코드를 작성하는 자세한 방법에 대해서 알아보겠습니다.

테스트 코드 작성 방법

반응형
Comments