posts
FE
05-test
Test

Test

테스트 : 애플리케이션이 기대한 결과대로 동작하는지 검증하는 일련의 모든 행위

테스트의 목표 : 애플리케이션의 안정성과 유지 보수성 향상 (100%의 테스트 커버리지가 목표가 아니다!)


프론트엔드 테스트 시 고려 사항

  1. 내부 코드의 다양한 연산

  2. 클라이언트 영역에서 사용자의 인터랙션(마우스 클릭, 키보드 입력 등)

  3. DOM 요소들이 원하는 위치에 지정한 크기나 여백을 가지고 적절하게 배치 되는지 시각적인 검증


좋은 테스트의 조건

1. 모든 테스트는 독립적으로 실행되어야 한다

2. 테스트의 결과는 일관성이 있어야 한다

3. 내부 구현에 종속된 테스트는 지양해야 한다

4. 테스트는 단순하고 이해하기 쉬워야 한다

5. 유지보수가 가능한 테스트를 작성해야 한다


테스트의 종류

1. 단위 테스트

  • 단일 함수의 결괏값 또는 클래스나 컴포넌트의 상태나 행위 검증
  • 각 요소의 동작을 독립적으로 검증하는 테스트

2. 통합 테스트

  • 개별 요소들의 조합으로 올바르게 동작하는 지 테스트

  • 여러 요소들의 상호 작용을 검증하는 테스트

3. E2E 테스트

  • 사용자의 관점에서 시나리오를 작성하여 검증하는 테스트
  • 애플리케이션 자체를 구동하여 테스트

4. 스냅숏(Snapshot) 테스트

  • 순간적으로 자료, 정보를 기록하는 것
  • UI 구성 요소를 직렬화된 DOM 요소나 이미지 형태의 스냅숏으로 기록해 비교하는 테스트