테트전략은 테스트 작성 및 운영에 들어가는 비용과 속도를 기준으로 어떤 테스트의 비중을 높여야 할지에 대한 설계
더 많은 비용이 든다는 것은 테스트를 실행하는 비용뿐아니라 각 테스트를 작성하고 유지관리하는데 걸리는 시간이 오래 걸림을 의미. 비용이 클수록 실패 포인트가 많아지므로 테스트가 중단될 가능성이 높아져 테스트를 분석하고 수정하는데 더 많은 비용이 듦
더 상위 계층의 테스트일수록 테스트를 실행하는 코드가 많기 때문에 실행속도가 느려짐.
단위 테스트는 일반적으로 의존성이 없거나 해당 의존성을 모킹할 수 있는 작은 단위의 기능을 테스트해 수천 라인의 코드를 효과적으로 대체함
위의 두 기준을 가지고 가장 유명하고 많이 언급되는 테스트 전략으로 테스트 피라미드 와 테스트 트로피가 있다.


결국 제일 중요한것은 내가 작성한 코드, 프로젝트의 신뢰성을 높이는것.
각 테스트의 장점과 한계점을 명확하게 이해하고 가장 효율적이고 장기적으로 운영 가능한 방식으로 테스트 설계 필요.
공통 컴포넌트나 리액트 훅과 같은 UI kit을 만드는 프로젝트일경우 통합테스트나 E2E보다는 단위 테스트를 사용하는게 적합.
일반적인 서비스 앱을 만들고 있는 상황에서 비지니스 로직을 검증할때는 단위테스트보다는 통합 테스트를 통해 검증하는 것이 효율적.
대상을 어떠한 범주에서 검증하는것이 효과적인지 계속 따져보고 고민하는게 프론트엔드 테스트에서는 중요.