10. Spring Boot Test
- Testing 이란?
- 테스팅의 종류
- Spring Boot Testing
11. 로깅
10. Spring Boot Test
Testing 이란?
- Java로 작성된 SW의 각 부분이 제대로 동작하는지 확인하는 과정.
- 일바적으로 SW가 동작하길 기대하는 방식을 Given/When/Then 패턴으로 작성.
- Given: 어떠한 데이터가 주어질때.
- When: 어떠한 기능을 실행하면.
- Then: 어떠한 결과를 기대한다.
테스팅의 종류
- 단위 테스트 (Unit Testing)
- 함수나 메소드의 기능을 검증하는 테스트이다.
- 각 기능이 독립적으로 올바르게 동작하는지 확인하기 위해 사용.
- 통합 테스트 (Integration Testing)
- 단위 테스트를 통과한 개별 Component나 Class가 서로 올바르게 협력하는지를 검증한다.
- 다양한 Module이나 서비스가 통합될 때 발생할 수 있는 interface의 결함을 찾아낸다.
- 시스템 테스트 (System Testing)
- 완성된 SW 시스템이 전체적으로 요구사항을 만족하는지 검증한다.
- SW와 HW가 포함된 전체 시스템이 사용자의 의도대로 작동하는지 평가한다.
- 인수 테스트 (Acceptance Testing)
- 실제 사용 환경에서 SW가 사용자의 요구 사항을 만족하는지 확인하는 테스트이다.
- 보통 최종 사용자나 고객이 참여하여 SW가 '수용 가능한' 수준인지 결정한다.
- 회귀 테스트 (Regression Testing)
- SW에 변경이 이루어진 후에도 기존 기능들이 여전히 올바르게 작동하는지 확인하기 위한 테스트이다.
- 코드를 수정하거나 업데이트 할 때 발생할 수 있는 새로운 버그나 오류를 찾아내는 데 유용하다.
Spring Boot Testing
pom.xml에 의존성 추가.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
spring-boot-starter-test 로 제공하는 라이브러리.
구분 | 설명 |
JUnit5 | Java 애플리케이션 단위 테스트의 산업계 표준(de-facto standard) |
Spring Test & Spring Boot Test | Spring Boot 애플리케이션 테스트 지원용 유틸리티와 통합 테스트 지원 도구 |
AssertJ | Assertion 라이브러리 |
Hamcrest | Matcher 객체용 라이브러리 |
Mockito | Mocking framework |
JSONassert | JSON Assertion 용 라이브러리 |
11. 로깅
'Spring' 카테고리의 다른 글
[Spring Error] Error creating bean with name 'jpaAuditingHandler': (0) | 2025.05.01 |
---|---|
[Spring Boot] DB 연결하기 - MySQL, H2, Redis (0) | 2024.11.30 |
[Spring Boot] JDK Proxy vs CGLIB Proxy (0) | 2024.11.24 |
[Spring Boot] 서비스 추상화 (Portable Service Abstraction) (1) | 2024.11.09 |
[Spring Boot] 01. Spring Boot Core (3) - AOP(관점 지향 프로그래밍) * (0) | 2024.11.08 |