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등을 활용하는 방법도 있겠다.