TDD란?

WOOK JONG KIM·2022년 10월 31일
0
post-thumbnail
post-custom-banner

TDD란?

TDD(Test-Driven Development)란 반복 테스트를 이용한 소프트웨어 개발 방법론으로서 테스트 코드를 먼저 작성한 후 테스트를 통과하는 코드를 작성하는 과정을 반복하는 소프트웨어 방식

에자일 방법론 중 하나인 익스트림 프로그래밍의 Test-First 개념에 기반을 둔, 개발 주기가 짧은 개발 프로세스로 단순한 설계를 중시

Agile : 신속한 개발 프로세스를 통해 수시로 변하는 고객의 요구사항에 대응해서 제공하는 서비스의 가치 극대화

출처: https://teamdable.github.io/techblog/TDD-and-wallaby

TDD 개발주기

일반적인 개발주기

TDD 개발 주기

요구사항 분석 → 자세한 설계 → 테스트 작성 → 코드 작성 → 리팩토링 이런 형태로 이루어짐

  • 실패 테스트 작성 : 실패하는 경우의 테스트 코드를 먼저 작성
  • 테스트를 통과하는 코드 작성 : 테스트 코드를 성공 시키기 위한 실제 코드 작성
  • 리팩토링 : 중복 코드를 제거하거나 일반화하는 리팩토링 수행

장점

  1. 디버깅 시간 단축 : 테스트 코드를 기반으로 개발이 진행되기에 문제 발생 시 어디에서 잘못됐는지 확인하기 쉬움

  2. 생산성 향상 : 테스트 코드를 통해 지속적으로 애플리케이션 코드의 불안정성에 대해 피드백을 받기에 리팩토링 횟수가 줄고 생산성이 높아짐

  3. 재설계 시간 단축 : 작성돼 있는 테스트 코드를 기반으로 코드를 작성하기에 재설계가 필요한 경우 테스트 코드를 조정하는 것으로 재설계 시간 단축 가능

  4. 기능 추가와 같은 추가 구현 용이 : 테스트 코드를 통해 의도한 기능을 미리 설계하고 코드를 작성하기에 목적에 맞는 코드 작성 용이

profile
Journey for Backend Developer
post-custom-banner

0개의 댓글