| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Java #오븐시계 #백준
- kakaocloudschool
- sequelize
- 백준
- Java #백준 #코딩테스트
- 카카오클라우드스쿨
- 11054
- 7568
- Java #코딩테스트
- 15552
- 1110
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- 파이썬
- boj
- Spring #Java #Spring Boot #싱글톤
- node
- python
- Spring #Java #Spring Boot
- kakaocloud
- 24479
- 2447
- SpringTokenizer
- 알고리즘
- 9020
- java
- Spring #Spring Boot #Java
- Spring
- 11053
- 코딩테스트
- 카카오 클라우드 스쿨
- Today
- Total
YoungSoo
Test Driven Development 본문
Test Driven Developmen
프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 방법론

Red - Green - Refactor 순으로 개발
1. Red - 실패하는 테스트 작성
2. Green - 테스트를 통과하는 최소한의 코딩
3. Refactor - 구현 코드 개선과 테스트 통과 유지
이러한 사이클을 통해 TDD를 했을 땐
1. 복잡도가 늦은, 테스트 가능한 코드로 구현할 수 있음.
2. 쉽게 발견하기 어려운 엣지 케이스를 놓치지 않게 해준다.
3. 구현에 대한 빠른 피드백을 받을 수 있다.
4. 과감한 리팩토링이 가능해진다.
이러한 장점들을 확인할 수 있습니다.
반대로 선 기능 구현 후, 테스트를 작성했을 땐
1. 테스트 자체의 누락 가능성
2. 특정 테스트 케이스(해피 케이스)만 검증할 가능성
3. 잘못된 구현을 다소 늦게 발견할 가능성
이러한 단점들을 확인할 수 있습니다.
TDD - 관점의 변화
1. 테스트는 구현부 검증을 위한 보조 수단 → 테스트와 상호 작용하며 발전하는 구현부
2. 클라이언트 관점에서의 피드백을 주는 Test Driven

Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의
이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강
www.inflearn.com
박우빈 님의 강의인 실용적인 테스트 가이드 중 TDD 강의를 보고 학습을 위해 작성한 내용입니다.
'CS > Software Engineering' 카테고리의 다른 글
| 애자일 방법론과 TDD 그리고 JIRA (0) | 2023.04.10 |
|---|