김민태 FE_DEV 소프트웨어 테스트 특강

Gin Song·2024년 9월 25일

E2E는 토이 프로젝트 때 해봤는데,
JEST를 실습으로 직접 해보면서 어떻게 적용할 수 있을지 배워보았다.
전혀 어떻게 해야하는지도 모르겠지만, 그래도 AI가 있으니까!

CI/CD는 원래 관심있던 DevOps 부분이라 쉬웠던 느낌.




테스트의 종류 : E2E Test < Integration Test < Unit Test

Unit Test (단위 테스트): Cypress , Playwright

  • 가장 작은 단위의 테스트
  • 개별 함수, 메소드, 클래스 등 코드의 최소 단위를 테스트
  • 다른 컴포넌트와의 의존성 없이 독립적으로 수행
  • 빠르고 간단하며, 버그를 조기에 발견하는 데 도움

Integration Test (통합 테스트):

  • 여러 단위를 결합하여 테스트
  • 컴포넌트 간의 상호작용과 인터페이스를 검증
  • 데이터베이스, 파일 시스템 등 외부 의존성을 포함할 수 있음
  • Unit Test보다 더 넓은 범위의 기능을 테스트

E2E Test (End-to-End 테스트):

  • 가장 큰 규모의 테스트
  • 실제 사용자 시나리오를 시뮬레이션하여 전체 시스템을 테스트
  • 사용자 인터페이스부터 백엔드 시스템까지 모든 계층을 포함
  • 실제 환경과 유사한 조건에서 수행되어 전체 시스템의 동작을 검증




CI/CD

CI (Continuous Integration, 지속적 통합):

  • 코드 변경사항을 주기적으로 중앙 저장소에 통합하는 프로세스
  • 자동화된 빌드와 테스트를 통해 통합 과정에서 발생할 수 있는 문제를 조기에 발견
  • 코드 품질 향상 및 버그 조기 발견에 도움

CD (Continuous Delivery, 지속적 전달):

  • 코드 변경사항을 자동으로 테스트하고 프로덕션 환경으로 릴리스할 준비를 하는 과정
  • 수동 승인 후 배포가 이루어짐
  • 언제든 안정적으로 배포할 수 있는 상태를 유지

CD (Continuous Deployment, 지속적 배포):

  • Continuous Delivery의 한 단계 더 나아간 형태
  • 코드 변경사항이 자동으로 프로덕션 환경에 배포됨
  • 수동 개입 없이 전체 프로세스가 자동화됨



Mock-up

  • 실제 객체나 프로세스를 시뮬레이션하는 가짜 객체
  • 복잡한 의존성을 단순화하고, 특정 동작을 시뮬레이션
  • 테스트 속도 향상, 의존성 제거, 특정 시나리오 테스트 용이성

MSW (Mock Service Worker) https://mswjs.io/

  • Industry standard API mocking for JavaScript.
    자바스크립트를 위한 산업 표준 API 모킹.
  • Mock Service Worker is an API mocking library that allows you to write client-agnostic mocks and reuse them across any frameworks, tools, and environments.
    MSW는 클라이언트에 구애받지 않는 목(mock)을 작성하고 이를 모든 프레임워크, 도구, 환경에서 재사용할 수 있게 해주는 API 모킹 라이브러리입니다.

0개의 댓글