Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- JVM
- Java
- BFS
- @Transactional
- Spring Security
- AOP
- effective java
- collapse
- 클린아키텍처
- Transactional
- interceptor
- cache
- 알고리즘
- 동시성처리
- EffectiveJava
- Garbage Collection
- TDD
- 타임리프
- 이펙티브자바
- EntityGraph
- 코딩테스트
- thymeleaf
- 멱등성
- 배낭문제
- 자바
- 캐시
- 파이썬
- spring
- lombok
- JPA
Archives
- Today
- Total
Jinnie devlog
WIL - 1주차 (TDD) 본문
TDD(Test-Driven Development)
예전에 NEXTSTEP 교육으로 TDD 강의를 들었었는데, 몇 주차 듣다가 진도를 따라가기가 벅차 포기했던 기억이 있다.
실무에서도 사용해보지 못해서 너무 생소하고 어려웠다... 이번 수업은 꼭 완강을 목표로 열심히 해보려 한다 !
TDD의 가장 큰 장점은 테스트 코드를 먼저 작성하면서 요구사항을 명확히 정리할 수 있고, 추후 코드 변경에 대한 부담을 줄일 수 있다. 이 외에도 코드 품질 향상, 리팩토링 안전성 확보 등 많은 이점이 있다.
1주차 과제는 회원가입, 포인트 관리와 관련하여 단위, 통합, E2E 테스트코드를 작성하고 그에 따른 기능을 구현해야 했다.
테스트의 종류
- 단위 테스트
- 대상: 가장 작은 단위(클래스, 메서드, 함수)
- 목적: 개별 컴포넌트가 의도한 동작을 하는지 검증
- 기술: JUnit, Kotest, AssertJ 등
- 통합 테스트
- 대상: 여러 모듈이나 시스템 간의 상호작용
- 목적: 컴포넌트들이 잘 연동되는지 확인
- 기술: SpringBootTest + H2 + TestContrainers 등
- E2E 테스트
- 대상: 애플리케이션 전체 플로우
- 목적: 실제 사용 시나리오처럼 시스템 전반의 흐름 검증
- 기술: SpringBootTest + @AutoConfigureMockMvc, webTestClient
과제를 진행하면서 설계, 예외 처리, 유효성 검사 등 다양한 부분을 신경 쓰다 보니 시간이 오래 걸리고, 코드가 복잡해지는 느낌이 들었다.
우선은 테스트코드를 작성하고, 테스트 코드가 동작할 수 있을 정도로 간단하게 기능을 구현하려고 노력했다.. 아직은 감이 잘 안와서 뭐부터 공부를 해야하는지도 잘 모르겠지만 하다보면 언젠간 익숙해지길 바라며...
'교육' 카테고리의 다른 글
@Transactional 남용 줄이기 도전기 - 두 번의 삽질 (4) | 2025.08.08 |
---|---|
WIL - 3주차 (Domain Modeling) (1) | 2025.08.03 |
WIL - 2주차 (Software Design) (0) | 2025.07.25 |
좋아요 토글 API, REST스럽게 만들기 (3) | 2025.07.25 |
클린아키텍처가 도대체 뭔데... (0) | 2025.07.18 |