Woongjae Lee
Daangn - Frontend Core Team ex) NHN Dooray - Frontend Team Leader ex) ProtoPie - Studio Team
3/12/2025
Timothy @ Daangn Frontend Core
Software Engineer, Frontend @Daangn Frontend Core Team
ex) Senior Lead Software Engineer @NHN Dooray (2021 ~ 2023)
ex) Lead Software Engineer @ProtoPie (2016 ~ 2021)
ex) Microsoft MVP
이 웅재
논리적 복잡도 : 순환 복잡도, 도구 이용해서 측정 가능
의존성 수준 : 외부 요소
우선순위 : 프로젝트 내에서의 중요도
초기 테스트 작성이 훨씬 빠르고 수월
시간이 지날수록 점점 더 테스트하기 어려운 컴포넌트만 남는다.
제품 출시를 앞두고 있어서 스트레스 받는다
팀이 단위 테스트에 익숙하지 않다면 간단한 것부터 하는 것이 좋다.
팀원들이 이미 단위 테스트 경험이 있다면 이 방식을 선택하는 것에도 장점이 있다.
가장 간단한 테스트를 작성하는 데만 하루 이상 걸릴 수 있다.
하지만 시간이 급격히 줄어드는 시기가 온다.
더 테스트하기 쉽게 리팩터링할 때마다 그 컴포넌트가 사용하는 의존성이나 다른 컴포넌트의 테스트 관련 문제도 해결할 수 있다.
원래 시스템이 정상 작동하는지 확인하기 위해 통합 테스트(목이나 스텁 없이)를 추가 한다.
시스템에 추가하려는 기능에 대해 실패하는 테스트를 작성하거나 리팩터링을 시작한다.
시스템을 작은 단위로 리팩터링하고 통합 테스트를 자주 실행해서 무언가 잘못된 부분은 없는지 확인한다.
로컬 환경에서 통합 테스트를 실행하려면 시스템에 필요한 모든 요소를 준비해야 하므로 과정이 번거럽고 시간이 오래 걸린다.
핵심은 수정하거나 기능을 추가해야 할 부분에만 집중하는 것이다.
테스트를 계속 추가하면서 시스템을 리팩터링하고 더 많은 단위 테스트를 작성하다 보면, 시스템이 점점 더 유지 보수하기 쉽고 테스트가 용이한 구조로 바뀐다. 시간이 오래 걸리기는 하지만 충분히 그럴 만한 가치가 있다.
By Woongjae Lee
Daangn - Frontend Core Team ex) NHN Dooray - Frontend Team Leader ex) ProtoPie - Studio Team