jasonkang14 / wanted_preonboarding_frontend_august

15 stars 1 forks source link

[사전과제] 프리온보딩 프론트엔드 챌린지 #157

Open lsj0202 opened 1 year ago

lsj0202 commented 1 year ago

유닛테스트 vs 통합테스트 vs E2E테스트를 비교하여 설명해주세요

  1. 유닛 테스트: 독립적으로 진행되는 가장 작은 단위의 테스트, 주로 개별 함수나 메소드를 테스트 할 때 사용된다.
  2. 통합 테스트: 모듈을 통합하는 과정에서 모듈 간의 호환성을 확인하기 위해 수행되는 테스트, 통합된 모듈들이 올바르게 연계되어 동작하는지 검증 할때 사용한다.
  3. E2E테스트: 에플리케이션의 흐름을 처음부터 끝까지 테스트한다.

유닛 테스트와 통합 테스트는 모듈의 무결성을 증명할 수 있는 강력한 테스트이지만, 모듈의 무결성이 애플리케이션 동작의 무결성까지는 증명해 줄 수 없기 때문에 E2E테스트를 사용한다.

리액트 테스트에 사용되는 도구들을 비교하여 설명해주세요

Jest: Jest는 페이스북에서 개발한 JavaScript 테스트 프레임워크로, 리액트 애플리케이션을 위한 기본 테스트 도구이다. React Testing Library: React Testing Library는 사용자 중심 테스트를 위해 설계된 도구로, 실제 사용자가 애플리케이션을 사용하는 것처럼 테스트를 작성한다. Enzyme: Enzyme은 Airbnb에서 개발한 리액트 테스트 유틸리티 라이브러리로, 주로 컴포넌트 기능을 테스트하는 데 사용된다. Testing Library: React Testing Library는 사용자 중심 테스트를 위한 일부인데, 일반적인 Testing Library에는 사용자 인터페이스를 테스트하는 데 도움이 되는 여러 언어 및 프레임워크에 사용할 수 있는 테스트 도구가 포함되어 있다. Cypress: Cypress는 E2E(End-to-End) 테스트를 위한 도구로, 리액트 애플리케이션의 통합 테스트에 사용된다.

최적화 CDN(Content Distributed Network): CDN은 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드)의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 한다. Web Vitals: 웹 비탈은 사용자 경험 측정 지표로, 웹 페이지의 성능과 사용자 상호작용에 영향을 미치는 다양한 측정 요소들을 평가하는 지표이다.