본문 바로가기

카테고리 없음

Test Case의 중요성

반응형
Test라고 하면 보통 수동으로 눌러 보는 Test를 떠올립니다.

하지만 JUnit을 이용한 TestCase 작성은 프로그래밍 시에 꼭 필요한 존재 입니다.
오늘도 다음과 같은 사항이 발생했습니다.

프로그램 작성 완료 후 Window 기반에서 Test 한 프로그램을 Unix 기반으로 구동하려고 했습니다.
Unix 기반에서 구동되게 하기 위해 코드의 몇가지 내용을 수정하였습니다.

그리고 Unix 적용 완료 했습니다.
그런데 window에서 돌려보고 싶은 겁니다.

그래서 window와 Unix라는 Operating System 을 Parameter로 받도록 프로그램을 수정했습니다.
그리고 프로그램을 실행 시켰습니다.

음.. 잘 돌아 가는 듯 하였습니다.

하지만 숨겨진 버그를 발견했습니다.

특정 메소드가 정상 작동을 하지 않았던 것입니다.
외부 호출을 하는 메소드 였는데 특정 호출의 Error Code가 Window 일 경우는 -9 Unix 일 경우는 247을 return 하게 되어 있습니다.

그런데 Unix 기반으로 Coding 되어 있다보니..
-9가 return 된 것을 감지 하지 못하고 정상 종료 된 것입니다.

만일 제가 TestCase를 작성 해놓았더라면 이러한 수동적인 Test 이전에 코드의 Error를 감지 하여 시간 낭비를 줄일 수 있었을 것입니다.

Mock에 대한 공부도 필요하네요.

그리고 하나더..

TestCase가 없으니.. Refactoring도 쉽지 않네요.
Code 수정에 대한 부담감 때문에 쉽사리 수동 Test 된 자원에 대해 손대기가 어렵습니다.
하지만 맘에 들지 않는 저 Code 들을 그냥 보자니.. 내 맘이 아프네요..

하지만 손대자니.. 다시 수동 Test를 해야 하는 부담감이 있고...
TestCase를 꼭 만들어야 겠습니다.
만들어 놓는다면 부담없이 Refactoring을 할텐데 하는 아쉬움이 남네요.
반응형