- 버그 발견은 시간이 늦어짐에 따라 비용이 기하급수 적으로 커지게 된다.

단위 테스트
-. 단위테스트는 말그대로 작은 단위로 쪼개서 각 단위가 정확하게 기능하는지를 검사하는 테스트이다.
-. 단위테스트는 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인 할 수 있다는
장점이 있다.
-. 하나의 모듈이나 클래스에 대해 세밀한 부분까지 테스트 가능하나, 모듈간에 상호 작용 검증은 할 수 없다.
적용 상황
-. 개발 초기 단계 : 새로운 기능을 개발할 때, 단위 테스트는 코드가 올바르게 작동하는지 신속하게 확인해 주고, 버그를
조기에 발견하는데 도움을 준다.
-. 지속적 통합 : 개발중에 코드변경이 자주 발생할 때, 단위 테스트는 빠른 피드백을 제공해 변경사항이 기존 기능에 부정
적인 영향을 미치지 않도록 보장해 준다.
-. 리팩토링 : 코드 구조를 개선하거나 최적화할 때, 단위 테스트는 코드 변경으로 인한 예상치 못한 문제를 감지하는 데
유용하다.
통합 테스트
-. 두개 이상의 모듈이 연결된 상태를 테스트 할 수 있다.
-. 모듈간의 연결에서 발생하는 에러 검증이 가능하다.
Spring Boot를 이용한 통합 테스트
통합 테스트
- 여러 단위 테스트를 하나의 통합된 테스트로 수행.
- 단위 테스트 시 Spring은 동작되지 않는다.
"@SpringBootTest"
- 스프링이 동작되도록 해주는 애너테이션.
- 테스트 수행 시 스프링이 동작.
- Spring IoC/DI 기능을 사용 가능.
- Repository를 사용해 DB CRUD가 가능.
적용 상황
-. 기능 통합 : 여러 모듈이나 서비스가 통합될 때, 통합 테스트는 이들간의 상호작용이 제대로 이루어 지는지 확인.
-. 시스템 확장 : 애플리케이션이나 시스템에 새로운 기능이나 서비스를 추가할 때, 통합 테스트는 새로운 요소가 전체
시스템과 잘 호환되는지 검증해 준다.
-. 배포 전 검증 : 실제 사용 환경으로의 배포 전, 통합 테스트는 애플리케이션이 실제 운영 환경에서 예상대로 작동할 것
인지 확인하는데 중요함.
위의 설명대로 상황에 맞게 단위테스트와 통합테스트를 사용하면 된다.
다음에 실제 코드에 통합테스트와 단위테스트를 작성하여 어떤 차이점이 있는지 볼 수 있으면 좋을것 같다.
'java 배우기 > TIL' 카테고리의 다른 글
| Java Stream (0) | 2024.09.12 |
|---|---|
| Test Coverage (1) | 2024.09.11 |
| self Invocation (0) | 2024.09.06 |
| 팀프로젝트 like 기능 구현하기 (0) | 2024.09.05 |
| Spring 게시판 조회수 증가 코드 넣기 (0) | 2024.09.04 |