jujuwon
시크릿주주
jujuwon
전체 방문자
11,697
오늘
0
어제
36
  • 분류 전체보기 (91)
    • 🔠 프로그래밍언어 (34)
      • ☕️ Java (19)
      • 🐠 Python (15)
    • 🔙 Backend (15)
      • 🌿 Springboot (12)
      • 🐳 컨테이너 (0)
      • ☁️ AWS (3)
    • 💼 CS (10)
      • 📶 Network (10)
    • 🕹 알고리즘 (4)
      • 📑 스터디 (2)
      • 💁🏻‍♂️ 백준 (2)
    • 📚 Book (8)
      • 🔎 오브젝트 (4)
      • 🧪 TDD (2)
      • 📜 논문 (2)
    • 🔐 보안 (7)
      • 👾 Pwnable (7)
    • 📝 회고 (4)
    • 🧩 etc. (9)
      • ⚠️ issue (2)
      • 💡 꿀팁 (6)
      • ✏️ 끄적 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

  • Python :: 5 - 여러 번 반복하는 일을 하자
    2021.05.31
    Python :: 5 - 여러 번 반복하는 일을 하자
  • Gradle :: Lombok 추가 시 이슈
    2022.06.26
    Gradle :: Lombok 추가 시 이슈
  • Spring Boot :: 처음 시작하는 Gradle 프로⋯
    2022.06.25
    Spring Boot :: 처음 시작하는 Gradle 프로⋯
  • 우리팀의 코딩 컨벤션 정하기
    2023.02.10
    우리팀의 코딩 컨벤션 정하기
  • GDB :: gdb 사용법 및 옵션 정리
    2021.04.09
    GDB :: gdb 사용법 및 옵션 정리

최근 글

  • RDS :: Too many connections 오류 해⋯
    2023.02.21
    RDS :: Too many connections 오류 해⋯
  • RDS :: Incorrect string value: '⋯
    2023.02.20
    RDS :: Incorrect string value: '⋯
  • 알고리즘 스터디 :: 입출력 (Java, Python)
    2023.02.17
    알고리즘 스터디 :: 입출력 (Java, Python)
  • 백준 :: 10951번 A+B-4 (Java, Python⋯
    2023.02.16
    백준 :: 10951번 A+B-4 (Java, Python⋯
  • 알고리즘 스터디 :: 알고리즘이란 ?
    2023.02.16
    알고리즘 스터디 :: 알고리즘이란 ?
hELLO · Designed By 정상우.
jujuwon

시크릿주주

TDD :: TDD 를 시작하며
📚 Book/🧪 TDD

TDD :: TDD 를 시작하며

2023. 1. 31. 16:53
728x90
반응형

Clean code that works. (작동하는 깔끔한 코드) - Ron Jeffries

테스트 주도 개발의 궁극적인 목표.

 

개요


많은 요인들은 우리를 깔끔한 코드로부터 멀어지게 만들고

작동하는 코드조차 만들기 어렵게 하는 현실이다.

이런 두려움에 빠지지 말고 자동화된 테스트로 개발을 이끌어가자.

이런 개발 방식이 바로 테스트 주도 개발 !

테스트 주도 개발은

  • 오직 자동화된 테스트가 실패할 경우에만 새로운 코드를 작성한다.
  • 중복을 제거한다.

이 두 가지 규칙만을 따른다.

위 두 가지 규칙에 의해 프로그래밍 순서는 다음과 같이 결정된다.

  1. 빨강 - 실패하는 작은 테스트를 작성한다. 컴파일도 안 될수도 ..
  2. 초록 - 빨리 테스트가 통과하게끔 만든다. 무슨 수를 써서라도 !
  3. 리팩토링 - 일단 테스트를 통과시키는 중에 생긴 모든 중복 제거

💁🏻‍♂️ : TDD 의 주문을 외워봅시다.

🙋‍♂️ : ?

💁🏻‍♂️ : 빨강/초록/리팩토링 ~

 

왜 이렇게 작업해야 하나


왜 개발자가 자동화된 테스트를 만드느라 추가 작업을 해야 할까?

바로 용기 때문이다.

용기.

테스트 주도 개발은 프로그래밍 하면서 나타나는 두려움을 관리하는 방법 이다.

여기서 두려움은 “아 진짜 너무 무섭다 ㅠㅠ” 가 아니라..

“정말 어려운 문제라서 시작 단계인 지금은 어떻게 마무리될지 알 수 없군.” 하는 식의

합리적인 두려움이다.

두려움은 우리를 망설이게 하고, 커뮤니케이션을 덜 하게 하며,

피드백 받는 것을 피하게 하고, 까다롭게 만든다.

일단 테스트 하나를 작동하게 하면,

현재 그리고 앞으로 영원히 작동할 거라는 걸 알 수 있다.

이제 다음 테스트, 그 다음, 또 다음 ..

일단 시작하고 나면

  • 단순하게 시작
  • 자동화된 테스트를 만듬
  • 새로운 설계를 하나씩 도입하기 위해 리팩토링을 할 준비

를 하게 될 것이다.

TDD 를 시작해보자 🫠

 

 

728x90
저작자표시
    '📚 Book/🧪 TDD' 카테고리의 다른 글
    • TDD :: 화폐 예제 (1/2)
    TDD, 테스트주도개발
    jujuwon
    jujuwon
    댓글쓰기
    TDD :: 화폐 예제 (1/2)
    다음 글
    TDD :: 화폐 예제 (1/2)

    티스토리툴바