개발자

프론트엔드 테스트에서 단위,통합,E2E 중 하나만 해야한다면 무엇을 해야할까요

2024년 04월 04일조회 234

안녕하세요. Nextjs를 사용하는 프론트엔드 신입 개발자입니다. 새 플젝을 시작하면서 테스트를 도입하려고 하는데 단위->통합->E2E 전체를 다 하기엔 시간적, 인력적 여유가 없을거같아 셋 중 하나만 채택하기로 결정되었습니다. 이런 경우 어떤 테스트를 진행해야 할까요? 현재 동료와 의견이 갈리고 있습니다. (컴포넌트 UI 테스트는 스토리북을 도입할 예정입니다) 동료의견 : 테스트에 많은 시간 할애할 수 없으니까 통합테스트를 하자. 단위는 작성할 코드가 많아서 시간이 오래걸릴거같다. E2E는 단위,통합 이후 부가적으로 진행되어야 하는거지 'E2E만' 하는건 제대로된 테스트가 안될거같다. 이런측면을 고려했을 땐 '통합테스트'만 하는게 좋을거같다 제 의견 : E2E에 대한 의견은 공감한다. 그런데 테스트에 들어가는 노동력을 최소화 하려면 오히려 단위테스트를 진행해야 할거같다. 통합테스트는 여러 기능이 유기적으로 얽혀있는 테스트 코드를 작성해야하니 오히려 테스트코드 작성에 시간이 더 오래 걸릴수도 있을거같다. 그리고 테스트 과정에서 문제가 발생하더라도 어느 기능이 문제인건지 추적하려면 단위테스트보다 훨씬 시간이 걸릴거같다. 사실 회사마다, 개발자마다 의견이 다른건 알고 있습니다! 하지만 저희가 시니어나 중간급 개발자가 없는 입장이라 조언을 구할곳이 없어 여기에 질문해봅니다. 감사합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

포크코딩님의 프로필 사진

'실패하면 안되는 코드'만 테스트 하세요. 유닛 테스트건 E2E 테스트건 단계는 상관 없습니다. 실패하면 안되는 코드는 말 그대로 실패하면 시스템의 기능이 망가지는 코드입니다. 두 가지로 판가름합니다. 첫째, 설계상 의존성 화살표 제일 끝에 있는 부분. 둘째, 다른 곳에서 호출이 잦은 부분. 시간이 없을 때는 성공이 보장되어야 하는 코드만 테스트 하시길 권장 드립니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!