Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 우아한형제들
  • 우아한테크코스5기
  • 백준
  • 트랜잭션
  • 프로세스
  • 우테코 체스
  • C
  • bean
  • 블랙잭
  • 데이터 조작어
  • 1259
  • 리눅스
  • Spring
  • BOJ
  • DB
  • Linux
  • 우테코5기
  • Operating System
  • 인덱스
  • OS
  • 자바
  • 우아한테크코스
  • 운영체제
  • signal
  • 원시값 포장
  • SIGINT
  • 정규화
  • OperatingSystem
  • C++
  • 우테코

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

[개발 패턴] TDD
코코코딩공부/디자인 패턴

[개발 패턴] TDD

2023. 2. 14. 22:27

TEST DRIVE DEVELOPMENT

테스트 주도 개발에 대한 많은 이야기를 들었었다. 쓰레기라느니 좋다느니.. 등등 나는 실제로 와닿지는 않았는데 우아한테크코스를 경험하면서 필요성을 느꼈다.

내가 느낀 필요성은 프로덕션 코드를 작성하고 테스트 코드를 작성하면 테스트하기 너무 힘든 메소드 같은 것들이 생길 때 필요하다고 느꼈다. 먼저 테스트 코드를 짜고 프로덕션을 맞춘다면 충분히 좋게 테스트코드를 짤 수 있다고 생각했다.


TDD란 Test First Development + 리팩토링을 의미한다.

TEST -> FEAT -> REFACTOR 가 반복된다고 생각한다.

 

TDD 하는 이유

  • 디버깅 시간을 줄여준다.
  • 동작하는 문서 역할을 한다.
  • 변화에 대한 두려움을 줄여준다.

TDD 원칙

1. 실패하는 단위 테스트를 작성할 때 까지 프로덕션 코드를 작성하지 않는다.

2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위테스트를 작성한다.

3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.


TDD 리팩토링 적용 효과

서비스 안정성이 높아진다.

  • 버그 발생 가능성이 줄어든다.
  • 코드 품질이 높아져 변화에 좀 더 빠르게 대응 가능

개발자들의 역량 강화

  • 학습 효율이 높아져 개발자의 역량을 높일 수 있다
  • 개발자의 만족도가 높아져 이직율이 낮아진다.

'코코코딩공부 > 디자인 패턴' 카테고리의 다른 글

[디자인 패턴] 상태 패턴  (0) 2023.04.06
[디자인 패턴] 전략 패턴  (0) 2023.02.27
[디자인 패턴] MVC 패턴  (0) 2023.02.12
    '코코코딩공부/디자인 패턴' 카테고리의 다른 글
    • [디자인 패턴] 상태 패턴
    • [디자인 패턴] 전략 패턴
    • [디자인 패턴] MVC 패턴
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바