TDD(Test Driven Development)

림예·2024년 5월 11일

CS

목록 보기
4/19

TDD : 테스트 주도 개발
'테스트가 개발을 이끌어 나간다.'



작가가 책을 쓰는 과정에 대해서 생각해보자.

책을 쓰기 전, 목차를 먼저 구성한다.
이후 목차에 맞는 내용을 먼저 구상한 뒤, 초안을 작성하고 고쳐쓰기를 반복한다.

목차 구성 : 테스트 코드 작성
초안 작성 : 코드 개발
고쳐 쓰기 : 코드 수정(리팩토링)

소프트웨어 또한 반복적인 테스트와 수정을 통해 고품질의 소프트웨어를 탄생시킬 수 있다.




장점

  • 작업과 동시에 테스트를 진행하면서 실시간으로 오류 파악이 가능함 ( 시스템 결함 방지 )
  • 짧은 개발 주기를 통해 고객의 요구사항 빠르게 수용 가능. 피드백이 가능하고 진행 상황 파악이 쉬움
  • 자동화 도구를 이용한 TDD 테스트케이스를 단위 테스트로 사용이 가능함
    (자바는 JUnit, C와 C++은 CppUnit 등)
  • 개발자가 기대하는 앱의 동작에 관한 문서를 테스트가 제공해줌
    (이 테스트 케이스는 코드와 함께 업데이트 되므로 문서 작성과 거리가 먼 개발자에게 매우 좋음)

단점

  • 기존 개발 프로세스에 테스트케이스 설계가 추가되므로 생산 비용 증가
  • 테스트의 방향성, 프로젝트 성격에 따른 테스트 프레임워크 선택 등 추가로 고려할 부분의 증가



TDD를 활용하면, 처음 시작하는 단계에서 테스트케이스를 설계하기 위한 초기 비용이 확실히 더 들게 된다. 하지만 개발 과정에 있어서 '초기 비용'보다 '유지보수 비용'이 더 클 수 있다는 것을 명심하자








profile
Think big 🌏

0개의 댓글