TDD에 대해서 다시 정리 해본다. - 서론-
지난번에는 junit4을 이용하여 spring-test에 대한 아주 기초적인 예제를 설명했다.
요번 시간에는 TDD에 대한 개념을 더욱 상세히 들어가 보려고 한다.
이 내용은 https://repo.yona.io/doortts/blog/issue/1
"TDD 실천법과 도구" 책 전체를 PDF 공개합니다.
2010년 6월에 출간되었던 "TDD 실천법과 도구" 책 전체를 PDF로 공개합니다. 책소개: http://naver.me/GaYZCDjD Updated --- - [1장 - 테스트주도개발 Test Driven Development](https://repo.yona.io/doortts/blog/issue/2) - 18.07.18 - [2장 - doortts/blog
repo.yona.io
의 글을 보며 작성하였다.
이 책을 읽으면서 TDD에 대한 무서움과 궁금증이 많이 해소되었다.
이제 앞으로 있을 회사 프로젝트에 TDD에 대해서 항상 작성, 추후 개인적인 프로젝트를 만들 시 꼭 TDD에 대한 클래스는 꼭 만들어야겠다는 다짐을 하였다.
이제 써보도록 하겠다.
TDD는 테스트 주도 개발이라고 한다. 요즘 대기업이라던지, 중소기업이라든지, 스타트업이라든지, 많은 회사들 중에 몇몇 회사들은 경력직을 뽑든, 신입을 뽑든
'TDD에 두려움이 없는 사람', 'TDD를 사랑하시는 분', 'TDD를 선호하는 사람'이라는 키워드로 우리를 반겨준다.
나는 왜!! 와이!! 왜 필요한 거야!!라는 생각을 항상 가졌다.
왜냐면 내가 코딩을 배우고, 처음으로 spring을 접하였고, 그 spring으로 웹사이트를 만들었을 때,
무척이나 단순한 웹사이트만 만들었고, 항상 서버를 켯다 껐다 재가동만 했다. 지금도 생각나는 건데 그때의 서버는 너무 가벼워서 키는 시간과 끄는 시간이 눈 깜짝할 사이였다.
하지만.. 이것도.. 회사를 들어오니 끝이였다. 회사에서 첫 프로젝트를 했을 때, 그리고 회사 코드를 받았을 때, 서버를 키는 순간 엄청난 로그가 내 눈앞을 덮었고, 이 로그가 끝나는 시간이 내가 보기에는 10~20초 이상 걸렸던 것 같았다.
그리고 프론트에서 서버에게 응답받고 요청받는 과정이 번거로울 정도였고, 결국 내가 만든 기능을 테스트하는 시간이 1분에서 2분가량 걸렸다.
이때 내 기억속에서 누군가의 가르침이 스윽! 하면서 지나갔다.
바로 내가 나왔던 대전의 D개발원의 선생님의 말이었다.
'아니 왜?? 너는 TDD를 안 만드니??? 왜..?'였다.
그때는 나도 모르게 '으.. 음... 어떻게 하다 보니..'라는 변명을 하였다.
아마 그때 기억상, spring에 대한 이해도도 떨어졌고, TDD를 배웠어도 이해를 못했고, 또한 그때 만든 모듈을 빠른 시일 내에 만들어야 했기 때문에... 변명 변명 변명...
이렇다..
암튼, 가르침이 스윽 지나간 경험을 하고 TDD에 대해서 관심을 가지고 TDD에 대해서 찾아보고 결국은 내가 만들어 놓은 기능에 TEST까지 해보고 TDD가 얼마나 좋은지 깨달았다.
아직 스프링을 이용해 TDD만 해본 상태지만, 서버 키고 기능 실행해보고 서버 끄고 수정하고 라는 방식보다는 TDD를 이용하여 그 부분의 기능만 실행시켜 테스트해보는 것이 더욱더 안정적이었고, 시나리오 짜는 시간이 오래걸릴 뿐이였지, 매우 안정적이였고, 서버 가동과 웹페이지 이동에 대한 번거로움이 줄어들었다.
자.. 진짜로 한번 시작해보자.
다음 편은 진짜로 TDD개념부터 알아볼 것이다.