본문 바로가기
TIL

TIL_테스트 TDD

by floraj 2023. 4. 20.

테스트 주도 개발(Test Driven Development, TDD)

테스트가 기능의 디자인을 주도하는 반복적인 개발 방법론

 

 

기존 VS TDD 프로세스

 

  • 설계 → 개발 → 테스트로 이어지던 기존의 개발 프로세스를
    설계 → 테스트 → 개발의 프로세스로 변경
  • 버그 조기 발견 및 해결 가능, 변경 점에 따라 테스트를 진행해야 하는 상황에 대한 부담 축소

 

테스트의 종류

 

단위 테스트

검증이 필요한 코드에 대해 테스트 케이스를 작성하는 절차 혹은 프로세스

하나의 메서드가 잘 작동함은 보장할 수 있지만 그들이 결합하는 시점에서도 잘 작동하는지에 대해서는 보장할 수 없음

 

통합 테스트

모듈을 통합하는 과정에서 모듈 간 호환성의 문제를 찾아내기 위해 수행되는 테스트

단위 테스트에서 찾지 못하는 통합 시 발생하는 버그 등을 찾을 수 있음

 

 

 

E2E 테스트 (End To End Test)

전체 시스템이 제대로 동작하는지 확인하기 위한 테스트

사용자의 입장에서 사용자가 사용하는 상황을 가정하고 시뮬레이션을 진행

 

특징

  • 실제 상황에서 발생할 수 있는 에러를 사전에 발견할 수 있음
  • 테스트 작성 시 들어가는 비용이 큼
  • 수행 속도가 느림
  • "실패했다"라는 결과만 있기 때문에 피드백의 질이 낮음

E2E 테스트 시 사용하는 도구

  • Cypress
  • Nightwatch
  • TestCafe

 

'TIL' 카테고리의 다른 글

Infrastructure as Code [Terraform]  (0) 2023.05.16
TIL_GitHub Action  (0) 2023.04.20
TIL_빌드 Build 프레임워크 Framework  (0) 2023.04.20
0420_TIL_CI/CD  (0) 2023.04.20
ifconfig  (0) 2023.04.07