오랜만에 코드스쿼드 교육 과정에서 나온 TDD 관련 글을 공유해 본다.
이 글은 2018년 1월 15일 TIL에서 발췌한 내용이다. 프로그래밍을 시작한지 1년도 되지 않은 친구가 TDD 기반으로 개발하면서 느낀 점을 학습일지에 쓴 내용이다.
잘하는 부분에 대해서도 좋지만, 못하는 부분일수록 TDD가 더욱 중요하다는 걸 느꼈다. 잘하는 부분에 대해서는 내가 구현한 코드가 잘 작동할 것이라는 확신을 느낀다.(거기에 제대로 된 테스트 코드까지 있다면 느낌이 아닌 사실이 되며, 테스트를 통해 검증을 한다) 하지만 못하는 부분에 대해서는 구현을 하고 나서도 잘 된 건지 아닌지 알 수가 없다. 그렇게 계속 구현하다가 운이 좋다면 아무 문제없이 완성이 되겠지만 어느 순간 문제가 생겼을 때 무엇이 문제인지 알 수 없는 총체적 난국인 상황이 온다. 게다가 작업이 진행될수록 잘 진행이 되고 있는 것인가에 대한 불안감이 점점 커진다.
하지만 TDD로 구현을 하게 되면 내가 못하는 부분이라도 초록불이 뜨는 걸 보는 것으로 한고비를 넘겼다는 확신을 가질 수 있다. 그렇게 다음 작업으로 넘어가서 현재 진행해야 할 작업에만 집중을 할 수 있게 된다. 다만, TDD에 익숙해지는 것이 쉽지 않은 게 사실이다. 게다가 좋은(혹은 제대로 된) 테스트 코드를 짠 게 맞나 의문이 들 때가 있긴 하다. 잘못된 테스트 코드는 구현한 기능에 구멍을 만들 테니 말이다. "좋은 테스트 코드 짜기" 이건 앞으로도 내 스스로 성장해 나가야 할 과제인 것 같다.
초보 개발자가 TDD를 연습하는데 어려움이 있겠지만 조금만 숙달된다면 잘 모르는 부분을 학습하는데 많은 도움이 될 것이라 생각한다. 물론 포기하고 싶은 순간도 많지만 꾸준히 연습해 보면 좋겠다.
0개의 의견 from FB
0개의 의견 from SLiPP
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.