728x90
테스트 코드를 사용하지 않았을 경우
실제로 다음과 같은 테스트 방식을 많이 이용한다.
서버 실행 → 테스트 할 API 요청 → 결과 값을 확인 및 검증
일단 서버를 실행을 하는데에 많은 자원을 소모하고.
API와 결과값을 검증하는데에 시간을 소모하게 된다.
이것이 테스트 코드를 작성해야하는 이유이다.
테스트 코드를 작성해야 하는 이유
- 테스트에 대한 시간 및 비용 감소
- 테스트 코드를 통한 빠른 피드백, 빠른 검증
- 서버를 실제로 실행하기 전에 버그 발견 가능
- (검증으로 인한) 안정성 확보 → 비교적 안전한 리팩터링 가능
- (비용 감소로 인하여) 장기적으로는 더 빠른 코드 작성 가능
테스트 종류
- Unit test : 단위테스트
- Integration test : 통합테스트
- E2E test : End To End 테스트
Unit Test (단위 테스트)
테스트의 가장 작은 단위로 함수로 생각하면 편하다.(비지니스 로직의 flow에 대한 검증)
입력값 -> 테스트 -> 결과값.
F.I.R.S.T 속성
- Fast : 유닛 테스트는 빨라야 한다.
- Isolated : 다른 테스트에 종속적인 테스트 금지
- Repeatable : 매번 같은 결과
- Self-validating : 테스트는 스스로 결과를 검증
- Timely : 테스트는 적시에 작성
Integration test (통합 테스트)
- real + infra (+ mock)
- integration test는 환경(Library, Framework)에 대한 검증
- flow 자체는 각각 괜찮았을 수도 있지만 통합을 해보니 문제가 발생할 수있다.
E2E test
- 일반적으로 시스템 전체의 모든 것을 테스트( 애플리케이션의 무결성을 검증할 수 있다)
- 대부분의 전체 시스템이 구축이 완료되고 배포도 문제없이 진행되었을 때,
- 실제 유저 입장에서 시스템을 검증하는 단계로 UI부터 검증을 시작함
728x90
'3.4. 프로그래밍 개념 및 도구 > 클린코드 & 좋은코드습관' 카테고리의 다른 글
클린코드란 뭘까 (0) | 2024.12.24 |
---|
댓글