[테스트 코드] TDD: Test Driven Development

말하는 감자·2024년 11월 9일
1
post-thumbnail

[Practical Testing: 실용적인 테스트 가이드]

섹션 4. TDD: Test Driven Development

📌 TDD (Test Driven Development)

: 프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 방법론

📍 Red Green Refactoring

  • TDD에서 이야기하는 가장 핵심 방법
  • Red - 실패하는 테스트 작성
  • Green - 빠른 시간 내에 테스트를 통과하도록 구현부 작성 / 테스트가 통과할 수 있도록 최소한의 코딩
  • Refactor - 구현 코드 개선, 테스트 통과 유지

📍 TDD의 핵심 가치 : 피드백

TDD를 한다는 것은 내가 작성하는 구현 코드, 프로덕션 코드에 대해서 자주 그리고 빠르게 피드백을 받을 수 있다는 의미다.

1. 선 기능 구현, 후 테스트 작성

  • 테스트 자체의 누락 가능성
  • 특정 테스트 케이스(해피 케이스)만 검증할 가능성
  • 잘못된 구현을 다소 늦게 발견할 가능성

2. 선 테스트 작성, 후 기능 구현

  • 복잡도가 낮고 테스트 가능한 코드로 구현할 수 있게 함.
  • 복잡도가 낮다 ➡ 유연하고 유지 보수가 쉽다.

📍 TDD : 관점의 변화

테스트는 구현부 검증을 위한 보조 수단 ➡ 테스트와 상호 작용하며 발전하는 구현부
TDD에서는 프로덕션 코드와 테스트 코드가 상호작용하면서 기능 구현을 하게 되는 형태가 된다.
클라이언트 관점에서의 피드백을 주는 Test Driven


📑 출처

profile
나는 말하는 감자다

0개의 댓글