TDD란 실제 동작하는 코드를 작성하기 전에 테스트를 먼저 작성함으로 개발의 흐름을 테스트로 끌고 가는 개발 방법이다. 개발자는 먼저 자신이 구현할 기능에 대해서 테스트를 작성하고 테스트를 통과하는 코드를 작성함으로 수행 결과가 보증된 소프트웨어를 개발해 간다.
TDD는 일반적으로 다음 세 단계를 반복 하면서 진행된다.
테스트 주도 개발은 프로그래머의 복식 부기라고 할 수 있다. 구현해야 하는 동작을 두 번씩 입력한다. 한 번은 테스트로, 그리고 한 번은 이 테스트를 통과하게 만드는 제품 코드로 말이다.
위의 내용은 클린 애자일에서 기술 실천 방법에서 나오는 말이다. 이 글을 읽고 수능 시험 때 마킹 확인을 두번 씩 했던 일이 생각났다. 마킹을 두 번씩 확인하면 첫 번째 마킹 때 실수했던 답을 찾아서 고칠 수 있다. 또 애매한 답에 대해서는 한 번 더 생각해 볼 수 있게 한다. 나는 테스트 코드를 작성하는 일도 마찬가지라고 생각한다.
테스트는 매우 중요하다.⭐️ 실제로 나는 과거 경험으로 인해 테스트 코드 없이 앱이 배포되는 것이 얼마나 끔찍한지 안다. 그러기에 테스트 코드는 매우 중요하다. 매우매우🤪
테스트는 사용자에게 애플리케이션의 안전성을 보장할 수 있도록 하는 최소한의 장치다. (테스트가 100%안정성을 보장하지는 않는다.) 다음은 안드로이드 문서에 있는 테스트를 작성했을 때 얻을 수 있는 이점들이다.
테스트 코드는 이와 같은 이점들을 제공하면서 애플리케이션 개발에 들어가는 비용을 줄여준다.