테스트 주도 개발
테스트 케이스가 코드의 설계 및 개발을 주도함
시스템 내부 작동 박식의 세부사항에 초점을 맞춤
테스트가 개발을 주도한다.. 이게 무슨 말일까? 이해가 잘 가지 않는다.
순서를 살펴보면 다음과 같다는 건데,,
- 코드 작성 -> 테스트 (X)
- 테스트 케이스 작성 -> 코드작성 (O)
원하는 코드에 대한 테스트를 먼저 작성하고, 이 테스트를 통과하도록 코드를 작성하는 것이다.
좀 더 자세히 알아보자!
테스트 케이스는 코드에 적용하려는 동작을 설명한다.
어떠한 동작을 해내는지를 검사하는 거니까 코드를 어떠한 동작, 즉 목적에 맞는 코드를 개발하는데 집중하게 한다는 것이다.
무슨 코드를 작성해야하는지 명확하게 하는 느낌..! 고객의 입장에서 개발을 바라보는 것이다.
기본 TDD 워크플로우는 다음과 같다.
1. 원하는 동작을 수행하지 못하는 테스트 케이스를 작성한다.
2. 테스트를 통과하는 코드를 작성한다. 우선 원하는 동작을 하도록 만드는데 집중하는 것이기에 완벽하지 않아도 괜찮다.
3. 작성한 코드의 품질을 높인다.
4. 1~3 과정을 반복한다.
테스트 주도 개발을 따르면 코드가 예상대로 동작하고 있음을 보장할 뿐 아니라, 새 기능을 추가하거나 기존 기능을 수정할 때 테스트 케이스를 통해 문제를 빠르게 확인할 수 있다.
테스트 코드를 먼저 작성하는게 시간낭비라고 생각한다면 아니라는 말씀. 오히려 개발시간은 단축된다.
'DevOps' 카테고리의 다른 글
클라우드 네이티브 마이크로서비스 (Cloud Native Microservices) (1) | 2024.10.06 |
---|---|
행동 주도 개발(BDD, Behavior-Driven Development) feat.TDD (0) | 2024.10.06 |
최소 실행 가능 제품(MVP) (2) | 2024.09.28 |
린 매뉴팩처링(Lean Manufacturing) (0) | 2024.09.27 |
Git 기능 브랜치 워크플로우 (1) | 2024.09.27 |