야, 너두 TDD 할 수 있어
조성동
#TDD첫걸음
야, 너두 TDD 할 수 있어
TDD?
워밍업
우리도 할 수 있어요미션에서의 TDD
시작 전 준비
TDD의 리듬 느끼기어떻게 하는 걸까요?
저는
TDD를 잘하지 못합니다. 하지만 발표를 하게 된다면?
TDD? 제가 망해봤어요…
그래서 아직 첫걸음이 어려운 분들께 도움이 되고 싶어요.
미션을 합쳐가다 보니 잦은 리팩토링... (설계를 잘할 걸 😢)
이런 적이 있으신가요?
“되나? 오 되네... 왜 되는 거지? 일단 동작하니까...”
개발 할 때
“아 그런 경우는 안해봤는데 될걸요? 제 브랜치 번호요? 그건 좀...”
동료와 이야기 할 때
“저번 주 꺼는 이상하게 작성해서 다시 하는 편이 나을 듯”
“일단 요구사항 다 만들고 (언젠가) 리팩토링 하려구요...”
“프로그래밍하면서 나타나는 두려움을 관리하는 방법 이다.”
TDD?
동작하는 깔끔한 코드를 작성하는 개발 방법
(Clean code that works)
TDD?
TDD?
TDD는
“Clean code”
를 유지시킨다.
워밍업
TDD의 바이블
<켄트 백 저, 테스트 주도 개발>
supertest (API 테스트), puppeteer (Headless browser)
jest, mocha …프레임워크
라이브러리
작동하는 깔끔한 코드를 작성할 용기
* Node.js 기준
istanbul.js.org (test coverage)기타
워밍업
어떻게 하는 걸까요?
https://evolve-mma.com/blog/5-drills-that-will-improve-your-boxing-footwork/ Image via @anthonyjoshuaboxer
어떻게 하는 걸까요?
중복을 제거하고
동작하는 코드 작성
테스트를 통과하게만 만들기컴파일 조차 실패 할 수 있는
실패하는 테스트 작성
RED
GREENREFACTOR
어떻게 하는 걸까요?
미션에서의 TDD
https://github.com/doong-jo/membership-
todo/tree/ss73/test
https://slides.com/doong-jo/youcantdd/fullscreen예제 코드
전체 코드
CLEAN CODE
ENTER ONLY.
http://rigvedawiki.net/w/헤임달
TDD
느낀 점
좋은 설계를 위한 코드를 작성할 수 밖에 없었다.
정답은 없고, Test Coverage 100%는 무의미하다.
내 코드가 동작한다는 안정감과 확신이 들었다.
하고 싶은 말
일찍 “Bad code”를 찾을수록 비용이 적게 듭니다. TDD!
대부분 크게 시작하면 쉽게 포기하게 됩니다.
작게, 토이 프로젝트로 시작해서 자신감을 얻으세요.
Q & A
여러분 한 주 동안 고생 많으셨어요! 🤟

More Related Content

PDF
[부스트캠퍼세미나]육진혁_(대충 도커 쓰자는 이야기)
PDF
[부스트캠퍼세미나]김재원_presentation-oop
PDF
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
PDF
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
PDF
Kotlin의 코루틴은 어떻게 동작하는가
PPTX
React Hooks
PDF
Top 50 Node.js Interview Questions and Answers | Edureka
[부스트캠퍼세미나]육진혁_(대충 도커 쓰자는 이야기)
[부스트캠퍼세미나]김재원_presentation-oop
[부스트캠퍼세미나]권혁우_REST는 바이바이_ GraphQL과 함께하는 칼퇴시대
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
Kotlin의 코루틴은 어떻게 동작하는가
React Hooks
Top 50 Node.js Interview Questions and Answers | Edureka

What's hot (20)

PDF
Redux toolkit
PDF
Basics of React Hooks.pptx.pdf
PPTX
Creational pattern
PPTX
Meta Programming in Groovy
PPTX
MVVM ( Model View ViewModel )
PDF
Introduction to Redux
PPTX
Introduction To C#
PPTX
Corso js and angular
PPT
Ppt of Basic MVC Structure
PDF
Java OCA teoria 4
PDF
Introduction to SOLID Principles
PPTX
PDF
Tutorial c#
PPTX
Angular
PDF
The New JavaScript: ES6
PDF
Asynchronous JavaScript Programming
PDF
UniRx - Reactive Extensions for Unity(EN)
PPTX
Introduction to Java programming - Java tutorial for beginners to teach Java ...
PDF
AngularJS - Services
PPTX
Debugging in visual studio (basic level)
Redux toolkit
Basics of React Hooks.pptx.pdf
Creational pattern
Meta Programming in Groovy
MVVM ( Model View ViewModel )
Introduction to Redux
Introduction To C#
Corso js and angular
Ppt of Basic MVC Structure
Java OCA teoria 4
Introduction to SOLID Principles
Tutorial c#
Angular
The New JavaScript: ES6
Asynchronous JavaScript Programming
UniRx - Reactive Extensions for Unity(EN)
Introduction to Java programming - Java tutorial for beginners to teach Java ...
AngularJS - Services
Debugging in visual studio (basic level)
Ad

Similar to [부스트캠퍼세미나]조성동_야_너두_TDD_할_수_있어 (20)

PDF
Tdd retro agile_korea_게시용
PPTX
사내 TDD 도입을 위한 설명 문서
PPT
Windows Debugging Technique #1
PDF
How To Become Better Engineer
PDF
Tdd bdd
PPTX
Django Girls 12월 Meetup 발표 자료
PDF
스타트업 인턴 개발자 3달간의 고군분투기 김은향
PDF
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
PPTX
20180104 NoNamed Introduction
PDF
[AKC2021] 애자일 안한 이야기 (박성철)
PDF
애자일 안한 이야기
PDF
새해 일어난 일
PDF
TDD - 테스트 주도로 개발하기
PDF
[Dev rookie] 어디로 가야 하나요(13.10.05)
PDF
0917_서인고_멘토링_오원종_최종.pdf
PDF
스마일게이트 서버개발캠프 - 5vengers
PPTX
소프트웨어 교육 이야기
KEY
SW Maestro 1-1 Project Keynote
PDF
초보개발자의 TDD 체험기
PPTX
NDC 2017 라이브 프로세스 분석을 통한 효율적인 게임 로직 개발 - 김성은
Tdd retro agile_korea_게시용
사내 TDD 도입을 위한 설명 문서
Windows Debugging Technique #1
How To Become Better Engineer
Tdd bdd
Django Girls 12월 Meetup 발표 자료
스타트업 인턴 개발자 3달간의 고군분투기 김은향
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
20180104 NoNamed Introduction
[AKC2021] 애자일 안한 이야기 (박성철)
애자일 안한 이야기
새해 일어난 일
TDD - 테스트 주도로 개발하기
[Dev rookie] 어디로 가야 하나요(13.10.05)
0917_서인고_멘토링_오원종_최종.pdf
스마일게이트 서버개발캠프 - 5vengers
소프트웨어 교육 이야기
SW Maestro 1-1 Project Keynote
초보개발자의 TDD 체험기
NDC 2017 라이브 프로세스 분석을 통한 효율적인 게임 로직 개발 - 김성은
Ad

More from CONNECT FOUNDATION (20)

PDF
부스트캠프 웹・모바일 8기 설명회 (2023년)
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
PPTX
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
PDF
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
PDF
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
PDF
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
PDF
부스트캠프 웹∙모바일 7기 설명회
PDF
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
PDF
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
PDF
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
PDF
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
PDF
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
PDF
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
PDF
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
부스트캠프 웹・모바일 8기 설명회 (2023년)
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
부스트캠프 웹∙모바일 7기 설명회
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기

[부스트캠퍼세미나]조성동_야_너두_TDD_할_수_있어