오늘 읽은 범위

2장 테스트 방법과 테스트 전략

책에서 기억하고 싶은 내용을 써보세요.

테스트 범위

  • 정적 분석 : 타입스크립트, eslint
  • 단위 테스트 : 한 가지 모듈에 한정하여 기능을 검증. 어떤 상황에서 예외를 발생시켜야 할지 판단할 때 도움이 된다.
  • 통합 테스트 : 모듈 조합으로 제공되는 기능을 검증
  • E2E 테스트 : 실제 애플리케이션을 사용할 때와 가장 유사한 테스트. 외부 기능이 정상적으로 작동하는지 검증 가능.

테스트 목적

  • 기능 테스트 : 인터랙션 관련
  • 비기능 테스트 : 접근성 테스트
  • 회귀 테스트 : 특정 시점을 기준으로 전후 차이를 비교

테스트 전략 모델

  • 아이스크림 콘 : 안티 패턴으로, 운용 비용이 높고 외부 모듈의 의존성 때문에 불안정한 테스트가 비교적 많다.
  • 테스트 피라미드 : 하층부 테스트의 비중이 높을 수록 더욱 안정적이고 가성비 높은 테스트가 가능하다 (p. 22)
  • 테스팅 트로피 : 통합 테스트 비중이 가장 높아야한다. (p. 22)

테스트 전략 계획

  • 테스트가 없어 리팩토링이 불안한 경우 : 먼저 릴리스된 기능을 목록으로 정리하고, 회귀 테스트를 작성한다.
  • 반응형으로 제작된 프로젝트 : 시각적 회귀 테스트
  • 데이터베이스를 포함한 E2E테스트가 필요한 경우 : 테스트용 스테이징 환경을 사용

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

테스트의 종류는 기존에도 알고 있었지만 프론트엔드는 어떤 테스트를 해야할지 좀 감이 안왔다. 어디서는 단위 테스트를 하라고하고, 어디서는 통합테스트를 하라고 하고… 그런데 이 책에서는 UI가 단일한 컴포넌트로 된 경우는 없기 때문에 통합테스트에 중점을 두어야한다고 말하고 있다. 책에서 딱 정해주었으니 이대로 실습해보면서 현업에서도 적용을 해보고 싶다.