일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 네트워크보안
- 인공지능
- 데이터구조
- 디자인패턴
- 데이터분석
- 사이버보안
- 머신러닝
- 알고리즘
- 자료구조
- 보안
- Yes
- I'm Sorry
- 소프트웨어
- 컴퓨터과학
- 버전관리
- 딥러닝
- 네트워크
- 웹개발
- 빅데이터
- 데이터과학
- 클라우드컴퓨팅
- 컴퓨터공학
- springboot
- 자바스크립트
- 컴퓨터비전
- 프로그래밍언어
- 파이썬
- 소프트웨어공학
- 데이터베이스
- 프로그래밍
- Today
- Total
목록TDD (3)
스택큐힙리스트
1. ‘DD’ 가 붙은 네 가지 개발 방법론 한눈에 보기TDD(Test-Driven Development)테스트 → 코드 → 리팩터 순서로 개발하는 방식. 높은 코드 신뢰성과 안전한 리팩터링이 장점이며, 스프링의 @SpringBootTest, JUnit 5, Mockito, Testcontainers와 찰떡궁합이다.BDD(Behavior-Driven Development)“Given-When-Then” 시나리오로 요구사항을 자연어에 가깝게 명세한다. 개발자와 비즈니스 담당자가 같은 언어를 쓰기 때문에 협업이 쉬워지고, Cucumber·JBehave 같은 도구로 자동화 테스트를 만들 수 있다.DDD(Domain-Driven Design)도메인 모델을 중심으로 설계·코드를 조직화한다. 유비쿼터스 언어, 바운..
왜 TDD를 선택해야 할까?즉각적인 피드백으로 디버깅 비용 절감테스트부터 작성하므로 결함이 생기면 바로 위치를 짚어낼 수 있습니다. 버그 탐색 → 수정에 쓰이는 시간을 획기적으로 줄여 개발 효율을 높입니다.명세 기반 설계로 코드 품질 상승“무엇을 해야 하는가”를 먼저 테스트로 명시하기 때문에 과잉 설계가 줄고, 함수와 클래스가 작고 명확한 책임을 갖게 됩니다.안전한 리팩터링 & 변화 수용기능 추가나 구조 변경 시 테스트가 안전망이 되어 기존 동작을 깨뜨리지 않았는지 즉시 확인할 수 있습니다. 덕분에 비즈니스 요구 변화에 유연하게 대응합니다.동작하는 문서테스트 코드는 곧 실행 가능한 문서입니다. 새 팀원이 합류해도 입출력 예시를 통해 비즈니스 로직을 빠르게 이해할 수 있습니다.CI/CD 파이프라인 신뢰성 ..
1. TDD가 왜 중요한가?“Red → Green → Refactor” 사이클을 통해 서비스 레이어의 요구사항을 코드로 먼저 검증하면, 새 기능을 추가해도 회귀 버그가 줄고 구조가 깔끔해집니다. 테스트가 있는 코드베이스는 리팩터링과 CI/CD에 강합니다.2. JUnit 5 빠르게 세팅하기Gradle 기준:dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2' testImplementation 'org.mockito:mockito-junit-jupiter:5.12.0' testImplementation 'org.testcontainers:junit-jupiter:1.19.7'}test { useJUnitPl..