August 01, 2021
처음 2명으로 시작했지만, 현재 인원이 6명까지 늘었다. 다들 비슷한 경력의 개발자들끼리 모여서 있다보니, 누군가가 일 배분이나 대외 소통(CS, 기획 등)의 창구가 필요했고, 이를 극복하고자 처음에는 2주씩 돌아가면서 하다가 얼마 뒤 임시로 내가 맡아서 하고있었다. 우려스러운점은 내가 쉬거나 회의에 참석해 들어와서 자리에 없을 경우에 대응이 부족했고, 이러한 점을 내부 논의를 통해 다른 부 담당자를 한명 더 두는 것으로 결정했다. 사실 다들 한번씩 경험도 해볼겸 돌아가면서 하는것을 좀 더 원했지만, 한사람이 전담해서 하는게 조금 더 효율성이 높을것 같아 그냥 내가 하기로 되어버렸다.
현재 프론트 인력이 많아져서 여유로운 만큼, 백엔드의 부하를 덜어주기 위해 CRM쪽을 우리가 가져오기로 했다. 다행히 백엔드에서 코틀린 대신에 NestJS + ejs로 구축되어있어서 새로운 언어를 익힐 필요는 없고, 기본 API들을 이미 있어서 프론트 작업만 한 뒤 나중에 추가 기능 개발을 해도 되는 상황이었다.
기획쪽에서 요구한 테스트 케이스에 맞춰서 Cypress 테스트를 짜는 작업을 조금씩 하고 있다. E2E테스트다 보니 DOM부터 API까지 거의 모든것을 조작할 수 있어서 요구사항에 맞는 테스트를 하기 편했다. 테스트를 짜보는 것이 그리 흔한 경험은 아닌 만큼 이번 기회에 이것저것 많이 시도해봐야겠다.
특정 Node를 찾는 방법이 다양한데, 이것도 어떻게 쓰느냐에 따라 테스트 측정에 영향을 미칠 것 같다. 예를 들면
cy.get('nav > li > span')
cy.get('[data-testid="span-text"]')이렇게 중첩도가 높은 DOM에서 찾게된다면, data-testid를 삽입해서 처리하는게 더 깔끔할 것 같다.
또한, id네임도 중복되지 않게, 또는 찾기 쉽도록 이름을 의미있게 잘 짓거나 근처에 있는 className등을 활용하는 방법도 있겠다.