프론트엔드 테스트코드에 대한 고찰 1
지금까지 프로젝트는 폭포수 개발 방식으로 이루어졌다. 일정에 맞추기 급급하여 항상 Test Code를 도입하자 도입하자 이야기만 나오고 여유가 생겨 도입을 해도 유지보수가 제대로 이루어지지 않아 원점으로 돌아가는 경우가 많았다. 또한, 테스트 코드에 강제성을 두지 않다보니, 흐지부지 넘어가는 경우가 자주 발생했다. 주니어 개발자들로만 이루어져 있는 회사 프로젝트는 이러한 문제점들이 스노우볼처럼 굴러가 항상 많은 문제를 야기하는것같다. 또한, 에자일이든 TDD든 체계가 잘 잡혀있는 환경에서 근무한 경험들이 다들 없다보니 이러한 문제를 해결해 나가기가 쉽지 않다. 팀장이란 직책을 달고 팀원들 뿐만 아니라 나조차도 발전하기 위해 이러한 환경을 구축하고 싶은데, 막상하려니 다음과 같은 어려움들이 발생했다.
1. E2E는 어디까지 해야하는가? 2. Unit Test는 어디까지 해야하는가? 3. 선택자는 무엇을 써야 효율적일까? (e.g. classname, tag, data-testid) 4. CI에서 어떻게 Testing 할까? 5. Local에서 어떻게 Testing 할까?
이렇게 적어놓고 생각해보니, 첫 단추부터 문제가 많았던것 같다. 테스트 케이스를 고려하지 않은 기획, 엇나가버린 디자인 시스템, 테스트 케이스에 대한 안일함 등등 하나하나 다 잡아가려기에 많은 부담이 되어가곤 한다.
앞으로 이러한 고민들을 팀원들과 같이 얘기하고 해결해 나가는게 목표이다. 잘 해낼수 있을지 모르지만, 열심히 고민하고 구축하여 우리 서비스를 더욱 견고하고 멋지게 만들고 해당 시리즈를 뿌듯하게 마무리하고 싶다.