OTHER

[OTHER] TDD (테스트 주도 개발론)

집한구석 2021. 11. 14. 19:06
728x90

TDD (테스트 주도 개발론)

https://medium.com/porteli%C3%A9r/test-driven-development-for-better-software-1d59a9cd766c 참고

  • 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현

TDD 절차

  1. RED - 실패하는 테스트 추가
  2. GREEN - 테스트를 통과하기 위한 구현
  3. REFACTOR - 통과한 테스트의 구현 설계를 개선, 기존 테스트가 통과

RED (테스트 실패)

  • 하나의 요구사항을 검증하는 테스트 코드를 작성 
  • 작성된 테스트가 실패하기 위하는지 확인 

GREEN (테스트 성공 / 프로덕션 개발)

  • 테스트가 성공하도록 코드를 구현
  • 테스트 성공은 요구사항을 만족한다는 의미 (요구사항을 만족하기 위한 최소한의 뼈대만 세우자, 살 붙이는건 중요도가 낮음)

REFACTOR (리팩토링)

  • 코드베이스 정리
  • 구현 설계 개선
  • 중복 코드 제거 / 일반화 등 리팩토링 수행
  • 리팩터링 후 모든 테스트 성공을 전제

TDD 특징

  • 보다 튼튼한 객체지향적인 코드 생산 가능
  • 재설계 시간을 단축
  • 디버깅 시간 다축
  • 추가 구현의 용이함 

 

'OTHER' 카테고리의 다른 글

[OTHER] 멱등성  (0) 2022.04.25
[OTHER] Semantic Versioning  (0) 2022.04.07
[OTHER] 마이크로 서비스 아키텍처  (0) 2021.09.28
[OTHER] 모놀리식 아키텍처  (0) 2021.07.12
[NETWORK] Polling / Long Polling / Streaming  (0) 2021.06.10