단위 테스트(Unit Test)
가장 작은 단위의 코드를 독립적으로 테스트 하는 것
테스트 대상 : 개별 함수, 메소드, 클래스
목적 : 각 코드 조각이 의도한 대로 동작하는지 확인
특징 :
다른 코드와 분리하여 테스트
빠르게 실행됨
문제 발생 시 정확한 위치 파악 가능
예시
java
// 계산기 클래스의 덧셈 함수만 테스트
@Test
public void testAdd() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2,3)); // 2+3 = 5 인지 확인
}
통합테스트(Integration Test)
여러 모듈이나 컴포넌트를 결합하여 함께 동작하는지 테스트하는 것
테스트 대상 : 모듈 간의 상호작용, 데이터 흐름
목적 : 각 부분이 연결되었을 때 제대로 협력하는지 확인
특징:
실제 환경과 유사하게 테스트
단위 테스트보다 실행 시간이 김
DB, API, 외부 서비스 연동 포함
예시:
java
// 사용자 서비스 + 데이터베이스 통합 테스트
@Test
public void testUserRegistration() {
UserService service = new UserService();
User user = service.register("test@email.com","password");
// DB에 실제로 저장되었는지 확인
User savedUser = datebase.findUser(user.getId());
assertNotNull(savedUser);
실무에서의 적용 예시
Redis 성능 테스트 예시로 보면 :
단위 테스트: Redis의 set() 메소드만 테스트, get() 메소드만 테스트
통합 테스트: 실제 애플리케이션에서 Redis에 데이터 저장 -> 조회 -> 삭제하는 전체 흐름 테스트
'알게된것,복습한것,헷갈렸던것 정리' 카테고리의 다른 글
| API 테스트란? (0) | 2025.11.27 |
|---|---|
| JWT를 이용한 인증/인가 란? (0) | 2025.11.26 |
| RESTful API 란? (0) | 2025.11.26 |
| LIKE와 =(등호) 차이 (0) | 2025.10.03 |
| 오버로딩(Overloading) 이란? (0) | 2025.09.27 |