(TIL) 20220725/ 테스트 주도 개발

2022. 7. 25. 16:46TIL(Today I learned)

반응형

🏴󠁩󠁤󠁪󠁷󠁿Facts(한 것) & Findings(배운 것)


테스트 주도 개발의 목적은 무엇일까?

 

<테스트 주도 개발: by example> 에서는 그 목적을 다음과 같이 소개한다.

 

 

작동하는 깔끔한 코드. 론 제프리즈의 핵심을 찌르는 이 한마디가 바로 테스트 주도 개발의 궁극적인 목표다. 

 

책에서 TDD의 목표를 위와 같이 설명해주는 데는 여러가지 이유가 있는데, 나는 그중에서 이 예시에 가장 마음이 와닿았다.

 

코드가 가르쳐주는 모든 교훈을 학습할 기회를 갖게 된다. 처음 생각나는 대로 후딱 완료해 버리면 두 번째 것, 더 나은 것에 대해 생각할 기회를 잃게 된다.

 

 

 

맞다. 나는 TDD를 해오면서 '또 어떤 경우가 있지?'라는 생각을 가지고 테스트를 작성했다.

물론 시간이 없어서 테스트 케이스를 기본적인 것만 작성할 때도 많았지만.

 

 

간단한 예로, id로 조회를 할 때, 

 

DB에 id를 가진 객체가 있는지, 없는지, id가 올바른 id인지, 올바르지 않은지 등등 여러개의 케이스를 고려할 수 있게 됐다.

 

 

 

무엇보다 테스트 주도 개발을 통해서 얻게 된것이 있다면,

 

더는 메인 코드를 열심히 고쳐가며 오류를 수정하지 않는 것이다.

 

 

테스트 코드를 수정하고, 수정한 테스트 코드를 바탕으로 메인 코드를 수정한다.

 

 

이렇게 되면서 나는 아주 중요한 사실을 깨달았다.

 

 

"차근차근 제대로 가는 것이 가장 빠른 길이다."

🏴󠁩󠁤󠁪󠁷󠁿Affirmation(자기선언)


 

🏴󠁩󠁤󠁪󠁷󠁿여담


 
Github

 

반응형