TDD 발 담그기
테스트 코드 - 코드 구현 - 코드 정리
그리고, 테스트 코드는 명세에 기초하여 예제 명세에 대해서 작성하면 쉽게 접근이 가능하다.
테스트 코드의 구성
Given(상황)
When(행위)
Then(결과/검증)
Given에 대한 처리를 하기 위한 협력 객체 도출 해야 할 가능성이 높음.
이 자체가 곧 설계 과정이 된다. 그리고 역할의 분리가 될 가능성이 높아진다.
특히, 필요한 만큼의 추상화가 중요해진다.
테스트 코드의 범위
UI
SVC 코드
인프라
브라우저
외부
DB
각 범위 별로 연관 지어서 테스트 할 수 있고, 단독으로만 테스트 할 수도 있음.
테스트 코드 작성의 장점
회귀 테스트가 가능
개발 속도
테스트 더블로 격리 개발이 가능
다양한 경우에 대한 테스트 코드 작성시 디버깅이 유리
좋은 설계 가능성
테스트 가능한 구조를 만들게 됨.
즉, 그 구조는 적절하게 추상화된 구조
쉬운 경우부터 작성
경우의 수를 추가하면서 개발 진행
어렵거나 정상적인 경우부터 시작하면, 전진을 못하고 중간에 막히게 됨.
작은 기능으로 TDD 감 잡는 것이 중요함.
테스트 코드에서 협력 객체 도출하기.
결국, 개발자는 테스트를 해야함.
테스트 코드를 작성하면 갈수록 개발 시간이 줄어듬.
혼자서 잘못하고 TDD를 욕하는 건 안된다.
추천 도서
Effective Unit testing
테스트 주도 개발
반응형
'다른 이들의 이야기' 카테고리의 다른 글
EO - 바닥부터 시작해 아마존의 리드 자리까지 오르게 만든 성장통ㅣAmazon 방비룡 (0) | 2023.02.25 |
---|---|
[세미나] 우아한 형제들 - 우아한 멀티 모듈 (0) | 2019.08.29 |
팀 버너스리, 차세대 웹 (0) | 2017.05.08 |
[TV] MBC 스페셜 - 공부중독 (0) | 2016.12.04 |
코딩 인터뷰의 꿀팁 - 나프다 세션 영상 (0) | 2016.08.30 |