
개요TDD(Test-Driven Development)는 보통 Red(실패하는 테스트 작성) → Green(통과하는 최소 구현) → Blue(리팩터링)이라는 사이클로 설명됩니다. 이 설명이 틀리지 않지만 제가 개발을 하며 체감한 TDD는 단순한 반복 루틴 이상의 의미를 가집니다.짧은 경력이지만 저는 TDD가 요구사항을 탐색하고, 설계를 정제해가는 데 도움을 주는 사고 중심의 개발 방식이라는 점을 더 크게 느꼈습니다. 이 글에서는 제가 고민했던 좋은 테스트란 무엇인가, 그리고 왜 TDD인가에 대한 개인적인 생각을 정리해보고자 합니다. 좋은 테스트란제가 생각하는 좋은 테스트는 코드 변경 이후에도 기존 기능이 망가지지 않았다는 신뢰를 줄 수 있는 테스트입니다. 또한 가능하다면 내부 구현에 의존(화이트박스 테..