Junit 는 java로 개발하시는 분들은 익히 들어보셨을 단어입니다.
테스트 프레임워크 인 Junit 테스트 주도 개발을 도와주는 자동화 툴입니다.
처음 테스트주도개발 방법론을 들었을때는
"어떻게 테스트를 하면서 프로그램을 개발한다는거지? 그러면 개발기간이 엄청나게 늘어날텐데?"
라고 생각했었지만 꼭 그렇지만은 않습니다.
1. 테스트기간은 길어지지만 프로그램 완성의 기간은 더욱 짧아질수 있습니다.
- 소단위 프로세서의 경우 개발자가 데이터를 확인해가면서 넘어가지만 많은 프로세서들이 통합된 클래스의 경우 오류가 날수 있는 확률이 커집니다. 만일 100% 오류가 난다고 가정했을때 단위테스트를 거친 프로세서들이라면 어느 부분에서 오류가 났는지를 효과적으로 찾아낼수 있습니다.
2. 효과적인 패턴적용 및 리펙토링을 할수 있습니다.
- 클래스별/ 프로세스 별로 테스트를 마치고 다음 단계로 넘어가기 때문에 해당 클래스/프로세서의 버그,에러가 줄어든다기 보다는 불필요한 메소드(중복메소드)감소, 메소드의 명확화 가 확실해 집니다.
3. 사용자/개발자의 원하는 바를 정확하게 집고 넘어 갈수 있습니다.
- 사용자/개발자가 제시한 input에 따른 output을 확실하게 확인하고 지나갈수 있습니다. 계속적으로 input에 대한 테스트를 거치고 다음 프로세서로 넘어가기 때문입니다.
위의 열거한 이외의 다양한 이익을 얻어낼수 있습니다.
괜히 방법론이란게 나오는게 아니니까요. (분명히 기존의 방법보다 좋기 때문에 존재하니까요.)
강요는 아니더라도 한번쯤은 해볼법한, 상당히 매력있는 코딩방법이긴 합니다.
아마 한번만 해보시면 TDD의 매력에 빠질수도 있습니다.(근데 습관은 잘 않고쳐지더군요;;)
다음엔 이클립스에서의 Junit 설정입니다.
테스트 프레임워크 인 Junit 테스트 주도 개발을 도와주는 자동화 툴입니다.
처음 테스트주도개발 방법론을 들었을때는
"어떻게 테스트를 하면서 프로그램을 개발한다는거지? 그러면 개발기간이 엄청나게 늘어날텐데?"
라고 생각했었지만 꼭 그렇지만은 않습니다.
1. 테스트기간은 길어지지만 프로그램 완성의 기간은 더욱 짧아질수 있습니다.
- 소단위 프로세서의 경우 개발자가 데이터를 확인해가면서 넘어가지만 많은 프로세서들이 통합된 클래스의 경우 오류가 날수 있는 확률이 커집니다. 만일 100% 오류가 난다고 가정했을때 단위테스트를 거친 프로세서들이라면 어느 부분에서 오류가 났는지를 효과적으로 찾아낼수 있습니다.
2. 효과적인 패턴적용 및 리펙토링을 할수 있습니다.
- 클래스별/ 프로세스 별로 테스트를 마치고 다음 단계로 넘어가기 때문에 해당 클래스/프로세서의 버그,에러가 줄어든다기 보다는 불필요한 메소드(중복메소드)감소, 메소드의 명확화 가 확실해 집니다.
3. 사용자/개발자의 원하는 바를 정확하게 집고 넘어 갈수 있습니다.
- 사용자/개발자가 제시한 input에 따른 output을 확실하게 확인하고 지나갈수 있습니다. 계속적으로 input에 대한 테스트를 거치고 다음 프로세서로 넘어가기 때문입니다.
위의 열거한 이외의 다양한 이익을 얻어낼수 있습니다.
괜히 방법론이란게 나오는게 아니니까요. (분명히 기존의 방법보다 좋기 때문에 존재하니까요.)
강요는 아니더라도 한번쯤은 해볼법한, 상당히 매력있는 코딩방법이긴 합니다.
아마 한번만 해보시면 TDD의 매력에 빠질수도 있습니다.(근데 습관은 잘 않고쳐지더군요;;)
다음엔 이클립스에서의 Junit 설정입니다.
'web > Junit' 카테고리의 다른 글
이클립스 Junit 설정 (2) | 2012.02.22 |
---|