Post View

단위 테스트의 부재로 인한 문제점...

회사에서 개발을 하다보면 여러가지 문제점을 느끼는 경우가 있었다.
그 중에 단위테스트에 관한 내용이다.

여기서는 프로그램 배포가 있을 때 마다 영향이 있을 법한 곳을 테스트 하고  주요로직도 이상이 없는지 테스트를 한다.
문제는 이 작업을 프로그램이 아닌 사람 손으로 한다는 점이다.
직접 하나하나 테스트를 하다 보니 ‘왜 여기서는 이 반복 작업을 직접 손으로 하고 있는 걸까…?’라는 의문이 들었는데,
생각을 해보니 단위 테스트만 잘 만들어두면 해결되지 않을까? 라는 생각이 들었다.

나 또한 이전에는 단위 테스트는 귀찮고 시간만 아깝다고 생각했지만 업무를 하다보니 로직이 커져서 모든 로직에 대해 기억할 수도 없었고,
심지어는 다른 사람에게 인수인계를 받은 경우 로직에 대한 문서나 주석이 부족한 경우도 많이 발생해서 의도치 않은 문제가 발생하곤 했다.
그런데 이와같은 상황에서 손으로 직접 하나하나 테스트를 하다보니 당연히 배포 시 마다 오류가 많고 그에 따른 불안함에 스트레스가 많아졌다.

그런데 이런 문제들도 내가 테스트케이스를 작성하고 단위 테스트를 돌린 후에 배포가 되었다면 불안함이 줄어들지 않았을까...?
물론 완벽한 테스트케이스를 만들 수는 없겠지만 테스트케이스를 만들어 둔다면 배포 후 문제가 발생할 때 점점 100%에 다가가는 테스트케이스가 될 것이라는 생각이 든다.
또한 프로그램 빌드 전에 작성되어있는 단위테스트가 모두 통과되어야 배포가 될 수 있게 시스템을 구성하는 경우 개발자의 실수로 인해 발생할 문제도 배포 이전에 발견이 가능해질 것이다.

그러나 여기서는 누구도 단위테스트를 만들 생각이 없는 것 같아 보인다.
내 경우에는 이미 엎질러진 물(문서의 부재로 업무프로세스 파악이 어려운 상태)이므로 기존 코드에 대해서는 작성하지 못하고 있지만,
직접 프로그램을 개발하거나 기존 기능의 프로세스를 파악할 일이 생길 때 마다 단위테스트를 작성하려고 노력하고 있다.

Comments