java 배우기/TIL

단위테스트 : 통합테스트

checkuu 2024. 9. 9. 23:06
  •  버그 발견은 시간이 늦어짐에 따라 비용이 기하급수 적으로 커지게 된다.

 

단위 테스트

 -. 단위테스트는 말그대로 작은 단위로 쪼개서 각 단위가 정확하게 기능하는지를 검사하는 테스트이다.

 -. 단위테스트는 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인 할 수 있다는

    장점이 있다.

 -. 하나의 모듈이나 클래스에 대해 세밀한 부분까지 테스트 가능하나, 모듈간에 상호 작용 검증은 할 수 없다.

 

적용 상황

 -. 개발 초기 단계 : 새로운 기능을 개발할 때, 단위 테스트는 코드가 올바르게 작동하는지 신속하게 확인해 주고, 버그를

     조기에 발견하는데 도움을 준다.

 -. 지속적 통합 : 개발중에 코드변경이 자주 발생할 때, 단위 테스트는 빠른 피드백을 제공해 변경사항이 기존 기능에 부정

     적인 영향을 미치지 않도록 보장해 준다.

 -. 리팩토링 : 코드 구조를 개선하거나 최적화할 때, 단위 테스트는 코드 변경으로 인한 예상치 못한 문제를 감지하는 데

     유용하다.

 

통합 테스트

 -. 두개 이상의 모듈이 연결된 상태를 테스트 할 수 있다.

 -. 모듈간의 연결에서 발생하는 에러 검증이 가능하다.

 

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