SlideShare a Scribd company logo
1 of 65
Download to read offline
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
สมเกียรติ ปุ๋ยสูงเนิน
SPRINT3R โดย บริษัท สยาม๡ํานาญกิจ จํากัด บริษัท ออด-อี (ประเทศไทย) จํากัด และพันธมิตร
Thailand
Practical
Software
Engineering
2014
C U R R E N T O F T D D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T E S T D R I V E N D E V E L O P M E N T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
A C C E P TA N C E T E S T D R I V E N D E V E L O P M E N T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
L A R G E R F E E D B A C K L O O P
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
H I S T O R Y O F T D D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://c2.com/cgi/wiki?TenYearsOfTestDrivenDevelopment
1 9 6 0 ’ S
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T H E S E C R E T O F A N C I E N T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
www.l3ak.com
Professionals
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Test their code
1 9 7 0 ’ S
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
K E N T B E C K
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://www.flickr.com/photos/mwichary/2376639066/
Separate what from how
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
1 9 8 9
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
S H O R T - C I R C U I T T H E P R O C E S S
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Automated tests
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Confirm features
1 9 9 6
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T E S T F I R S T I N C 3 P R O J E C T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://www.martinfowler.com/bliki/C3.html
It’s a change in culture
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
X U N I T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
E X P A N D T H E W O R L D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
C 2 W I K I
“Working”
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
is not good enough
1 9 9 9
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T H E O R I G I N O F M O C K O B J E C T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Listen to the tests
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
2 0 0 1
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
C O N T I N U O U S B U I L D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
W O R K O N M Y M A C H I N E !
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Working system
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
provides feedback
Safety culture
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T E S T D OX S T Y L E
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
A Sheep eats grass
A Sheep produces good milk
A Sheep moves away from dogs
Focus on intent
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
2 0 0 2
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
F I R S T T D D B O O K
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Remove duplication
Write a fail test before
write any code
When you are lost,
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
slow down
2 0 0 3
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
A L O T O F B O O K
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
2 0 0 4
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T D D F O R C U S T O M E R
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Confirm understanding
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
with examples
L I V I N G I N R E A L W O R L D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Legacy code
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
code without tests
is
N E X T G E N E R AT I O N
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
2 0 0 7
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
T H E R E S E A R C H S U G G E S T S
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
More effort, better quality
More visible on project
Very hard to get
meaningful results
U N D E R S TA N D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
U N D E R S TA N D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Professionals test their code
Separate what from how
Automatic tests confirm features
It’s change in culture
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Working is not good enough
Listen to the tests
Working system provide feedback
Focus on intent
U N D E R S TA N D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
When you are lost, slow down
It’s not only about testing
Legacy code is code without tests
Understand the principles behind the practice
U N D E R S TA N D
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Focus
Feedback
Professionalism
T D D E R
T E S T S T R U C T U R E
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
B A S I C
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Setup
Execute
Verify
Clean-up
S E V T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Setup
Exercise
Verify
Teardown
A A A
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
E X A M P L E
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
E X A M P L E
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
G O O D T E S T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
P R O P E R T I E S
O F
A - T R I P
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
Automated
Thorough
Repeatable
Independent
Professional
T E S T T O O L S
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
X U N I T
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
C O D I N G D O J O
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
http://www.aikido-yamada.eu/
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
1 อ่านว่า 1
2 อ่านว่า 2
3 อ่านว่า Fizz
4 อ่านว่า 4
F I Z Z B U Z Z
5 อ่านว่า Buzz
6 อ่านว่า Fizz
7 อ่านว่า 7
8 อ่านว่า 8
9 อ่านว่า Fizz
10 อ่านว่า Buzz
http://en.wikipedia.org/wiki/Fizz_buzz
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
15 อ่านว่า FizzBuzz
F I Z Z B U Z Z
T E S T D R I V E N D E V E L O P M E N T
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
All the tests pass
There is no duplication
Focus your intent
S I M P L E D E S I G N R U L E S
Classes and methods are minimized
SPRINT3R
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance

More Related Content

Viewers also liked

Special Hot Air Balloons2
Special Hot Air Balloons2Special Hot Air Balloons2
Special Hot Air Balloons2Sojourner1
 
Module3 Review Fall09
Module3 Review Fall09Module3 Review Fall09
Module3 Review Fall09mrounds5
 
Zoomable Menu Mockup
Zoomable Menu MockupZoomable Menu Mockup
Zoomable Menu MockupNone None
 
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 года
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 годаПредложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 года
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 годаNatasha Khramtsovsky
 
Flipbook Steve Jasa Dd07081
Flipbook Steve Jasa Dd07081Flipbook Steve Jasa Dd07081
Flipbook Steve Jasa Dd07081jaspang
 
Межведомственный электронный документооборот в России: зарубежный опыт и поис...
Межведомственный электронный документооборот в России: зарубежный опыт и поис...Межведомственный электронный документооборот в России: зарубежный опыт и поис...
Межведомственный электронный документооборот в России: зарубежный опыт и поис...Natasha Khramtsovsky
 
Pandrade Powerpoint
Pandrade PowerpointPandrade Powerpoint
Pandrade Powerpointjaspang
 
Современные идеи и опыт в области государственного управления: Межведомственн...
Современные идеи и опыт в области государственного управления: Межведомственн...Современные идеи и опыт в области государственного управления: Межведомственн...
Современные идеи и опыт в области государственного управления: Межведомственн...Natasha Khramtsovsky
 
Сохранность документов по личному составу – вопрос обеспечения социальной ста...
Сохранность документов по личному составу – вопрос обеспечения социальной ста...Сохранность документов по личному составу – вопрос обеспечения социальной ста...
Сохранность документов по личному составу – вопрос обеспечения социальной ста...Natasha Khramtsovsky
 
Slideshare test # 2 add voice in SS
Slideshare test # 2 add voice in SSSlideshare test # 2 add voice in SS
Slideshare test # 2 add voice in SSjaspang
 
Проблемы архивного хранения документов на бумажных и электронных носителях
Проблемы архивного хранения документов на бумажных и электронных носителяхПроблемы архивного хранения документов на бумажных и электронных носителях
Проблемы архивного хранения документов на бумажных и электронных носителяхNatasha Khramtsovsky
 
PROEXPOSURE Photographer Ashenafi Gudeta & Weddings
PROEXPOSURE Photographer Ashenafi Gudeta & WeddingsPROEXPOSURE Photographer Ashenafi Gudeta & Weddings
PROEXPOSURE Photographer Ashenafi Gudeta & WeddingsPROEXPOSURE CIC
 

Viewers also liked (20)

Special Hot Air Balloons2
Special Hot Air Balloons2Special Hot Air Balloons2
Special Hot Air Balloons2
 
Why
WhyWhy
Why
 
Module3 Review Fall09
Module3 Review Fall09Module3 Review Fall09
Module3 Review Fall09
 
Zoomable Menu Mockup
Zoomable Menu MockupZoomable Menu Mockup
Zoomable Menu Mockup
 
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 года
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 годаПредложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 года
Предложения Североамериканской группы проекта InterPARES Trust, ноябрь 2013 года
 
Economics 3.2
Economics 3.2Economics 3.2
Economics 3.2
 
Level2 OPS-toets (bijdrage 1)
Level2 OPS-toets (bijdrage 1)Level2 OPS-toets (bijdrage 1)
Level2 OPS-toets (bijdrage 1)
 
Winter Trip to Dahab: For & Against
Winter Trip to Dahab: For & AgainstWinter Trip to Dahab: For & Against
Winter Trip to Dahab: For & Against
 
Flipbook Steve Jasa Dd07081
Flipbook Steve Jasa Dd07081Flipbook Steve Jasa Dd07081
Flipbook Steve Jasa Dd07081
 
Межведомственный электронный документооборот в России: зарубежный опыт и поис...
Межведомственный электронный документооборот в России: зарубежный опыт и поис...Межведомственный электронный документооборот в России: зарубежный опыт и поис...
Межведомственный электронный документооборот в России: зарубежный опыт и поис...
 
Forum021814.v6f
Forum021814.v6fForum021814.v6f
Forum021814.v6f
 
Pandrade Powerpoint
Pandrade PowerpointPandrade Powerpoint
Pandrade Powerpoint
 
Pubquiz
PubquizPubquiz
Pubquiz
 
Современные идеи и опыт в области государственного управления: Межведомственн...
Современные идеи и опыт в области государственного управления: Межведомственн...Современные идеи и опыт в области государственного управления: Межведомственн...
Современные идеи и опыт в области государственного управления: Межведомственн...
 
Сохранность документов по личному составу – вопрос обеспечения социальной ста...
Сохранность документов по личному составу – вопрос обеспечения социальной ста...Сохранность документов по личному составу – вопрос обеспечения социальной ста...
Сохранность документов по личному составу – вопрос обеспечения социальной ста...
 
Slideshare test # 2 add voice in SS
Slideshare test # 2 add voice in SSSlideshare test # 2 add voice in SS
Slideshare test # 2 add voice in SS
 
Kunst op het Hof
Kunst op het HofKunst op het Hof
Kunst op het Hof
 
Проблемы архивного хранения документов на бумажных и электронных носителях
Проблемы архивного хранения документов на бумажных и электронных носителяхПроблемы архивного хранения документов на бумажных и электронных носителях
Проблемы архивного хранения документов на бумажных и электронных носителях
 
Presentatie G1000
Presentatie G1000Presentatie G1000
Presentatie G1000
 
PROEXPOSURE Photographer Ashenafi Gudeta & Weddings
PROEXPOSURE Photographer Ashenafi Gudeta & WeddingsPROEXPOSURE Photographer Ashenafi Gudeta & Weddings
PROEXPOSURE Photographer Ashenafi Gudeta & Weddings
 

Similar to TPSE2014 :: Test Driven Development

Introduction to elasticsearch fast lane
Introduction to elasticsearch fast laneIntroduction to elasticsearch fast lane
Introduction to elasticsearch fast laneSomkiat Puisungnoen
 
Improve Education Outcomes Through AI & ML
Improve Education Outcomes Through AI & MLImprove Education Outcomes Through AI & ML
Improve Education Outcomes Through AI & MLAmazon Web Services
 
Introduction to Amazon Go and Amazon Go Tour by Humphrey Chan
Introduction to Amazon Go  and Amazon Go Tour by Humphrey ChanIntroduction to Amazon Go  and Amazon Go Tour by Humphrey Chan
Introduction to Amazon Go and Amazon Go Tour by Humphrey ChanSameer Kenkare
 
AWS Transformation Day London Keynote 2018
AWS Transformation Day London Keynote 2018AWS Transformation Day London Keynote 2018
AWS Transformation Day London Keynote 2018Amazon Web Services
 
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...AWS Summits
 
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem Mandal
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem MandalH2O World - PAAS: Predictive Analytics offered as a Service - Prateem Mandal
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem MandalSri Ambati
 
AWS Transformation Day - Toronto 2018
AWS Transformation Day - Toronto 2018AWS Transformation Day - Toronto 2018
AWS Transformation Day - Toronto 2018Amazon Web Services
 
Session #2: Keynote - What Transformation really means for the Enterprises?
Session #2: Keynote - What Transformation really means for the Enterprises?Session #2: Keynote - What Transformation really means for the Enterprises?
Session #2: Keynote - What Transformation really means for the Enterprises?Amazon Web Services LATAM
 
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14Rustici Software
 
Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02hideki hasegawa
 
Smartphone reward by adways
Smartphone reward by adwaysSmartphone reward by adways
Smartphone reward by adways01Booster
 
AWS Transformation Day 2018 - Charlotte NC
AWS Transformation Day 2018 - Charlotte NCAWS Transformation Day 2018 - Charlotte NC
AWS Transformation Day 2018 - Charlotte NCAmazon Web Services
 

Similar to TPSE2014 :: Test Driven Development (15)

Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to elasticsearch fast lane
Introduction to elasticsearch fast laneIntroduction to elasticsearch fast lane
Introduction to elasticsearch fast lane
 
Improve Education Outcomes Through AI & ML
Improve Education Outcomes Through AI & MLImprove Education Outcomes Through AI & ML
Improve Education Outcomes Through AI & ML
 
Introduction to Amazon Go and Amazon Go Tour by Humphrey Chan
Introduction to Amazon Go  and Amazon Go Tour by Humphrey ChanIntroduction to Amazon Go  and Amazon Go Tour by Humphrey Chan
Introduction to Amazon Go and Amazon Go Tour by Humphrey Chan
 
AWS Transformation Day London Keynote 2018
AWS Transformation Day London Keynote 2018AWS Transformation Day London Keynote 2018
AWS Transformation Day London Keynote 2018
 
MODEL D.pdf
MODEL D.pdfMODEL D.pdf
MODEL D.pdf
 
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...
AWS Summit Singapore 2019 | The Smart Way to Build an AI & ML Strategy for Yo...
 
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem Mandal
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem MandalH2O World - PAAS: Predictive Analytics offered as a Service - Prateem Mandal
H2O World - PAAS: Predictive Analytics offered as a Service - Prateem Mandal
 
AWS Transformation Day - Toronto 2018
AWS Transformation Day - Toronto 2018AWS Transformation Day - Toronto 2018
AWS Transformation Day - Toronto 2018
 
Session #2: Keynote - What Transformation really means for the Enterprises?
Session #2: Keynote - What Transformation really means for the Enterprises?Session #2: Keynote - What Transformation really means for the Enterprises?
Session #2: Keynote - What Transformation really means for the Enterprises?
 
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14
Webinar: How AT&T is Using Tin Can to Enhance Compliance Training 8/27/14
 
Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02Smartphonerewardadways 110112222251 Phpapp02
Smartphonerewardadways 110112222251 Phpapp02
 
Smartphone reward by adways
Smartphone reward by adwaysSmartphone reward by adways
Smartphone reward by adways
 
AWS Transformation Day 2018 - Charlotte NC
AWS Transformation Day 2018 - Charlotte NCAWS Transformation Day 2018 - Charlotte NC
AWS Transformation Day 2018 - Charlotte NC
 
Jose alfredo 6.ppt
Jose alfredo 6.pptJose alfredo 6.ppt
Jose alfredo 6.ppt
 

More from Somkiat Puisungnoen (20)

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Part 2 :: Spring Boot testing
Part 2 :: Spring Boot testingPart 2 :: Spring Boot testing
Part 2 :: Spring Boot testing
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
 
Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
 
devops
devops devops
devops
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Visual testing
Visual testingVisual testing
Visual testing
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
 
React in the right way
React in the right wayReact in the right way
React in the right way
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

TPSE2014 :: Test Driven Development

  • 1. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance สมเกียรติ ปุ๋ยสูงเนิน SPRINT3R โดย บริษัท สยาม๡ํานาญกิจ จํากัด บริษัท ออด-อี (ประเทศไทย) จํากัด และพันธมิตร Thailand Practical Software Engineering 2014
  • 2. C U R R E N T O F T D D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 3. T E S T D R I V E N D E V E L O P M E N T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 4. A C C E P TA N C E T E S T D R I V E N D E V E L O P M E N T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 5. L A R G E R F E E D B A C K L O O P SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 6. H I S T O R Y O F T D D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance http://c2.com/cgi/wiki?TenYearsOfTestDrivenDevelopment
  • 7. 1 9 6 0 ’ S SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 8. T H E S E C R E T O F A N C I E N T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance www.l3ak.com
  • 9. Professionals SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Test their code
  • 10. 1 9 7 0 ’ S SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 11. K E N T B E C K SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance http://www.flickr.com/photos/mwichary/2376639066/
  • 12. Separate what from how SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 13. 1 9 8 9 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 14. S H O R T - C I R C U I T T H E P R O C E S S SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 15. Automated tests SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Confirm features
  • 16. 1 9 9 6 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 17. T E S T F I R S T I N C 3 P R O J E C T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance http://www.martinfowler.com/bliki/C3.html
  • 18. It’s a change in culture SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 19. X U N I T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 20. E X P A N D T H E W O R L D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance C 2 W I K I
  • 21. “Working” SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance is not good enough
  • 22. 1 9 9 9 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 23. T H E O R I G I N O F M O C K O B J E C T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 24. Listen to the tests SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 25. 2 0 0 1 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 26. C O N T I N U O U S B U I L D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 27. W O R K O N M Y M A C H I N E ! SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 28. Working system SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance provides feedback
  • 29. Safety culture SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 30. T E S T D OX S T Y L E SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance A Sheep eats grass A Sheep produces good milk A Sheep moves away from dogs
  • 31. Focus on intent SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 32. 2 0 0 2 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 33. F I R S T T D D B O O K SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Remove duplication Write a fail test before write any code
  • 34. When you are lost, SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance slow down
  • 35. 2 0 0 3 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 36. A L O T O F B O O K SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 37. 2 0 0 4 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 38. T D D F O R C U S T O M E R SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 39. Confirm understanding SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance with examples
  • 40. L I V I N G I N R E A L W O R L D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 41. Legacy code SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance code without tests is
  • 42. N E X T G E N E R AT I O N SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 43. 2 0 0 7 SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 44. T H E R E S E A R C H S U G G E S T S SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance More effort, better quality More visible on project Very hard to get meaningful results
  • 45. U N D E R S TA N D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 46. U N D E R S TA N D SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Professionals test their code Separate what from how Automatic tests confirm features It’s change in culture
  • 47. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Working is not good enough Listen to the tests Working system provide feedback Focus on intent U N D E R S TA N D
  • 48. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance When you are lost, slow down It’s not only about testing Legacy code is code without tests Understand the principles behind the practice U N D E R S TA N D
  • 49. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Focus Feedback Professionalism T D D E R
  • 50. T E S T S T R U C T U R E SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 51. B A S I C SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Setup Execute Verify Clean-up
  • 52. S E V T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Setup Exercise Verify Teardown
  • 53. A A A SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 54. E X A M P L E SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 55. E X A M P L E SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 56. G O O D T E S T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance P R O P E R T I E S O F
  • 57. A - T R I P SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance Automated Thorough Repeatable Independent Professional
  • 58. T E S T T O O L S SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 59. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance X U N I T http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
  • 60. C O D I N G D O J O SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance http://www.aikido-yamada.eu/
  • 61. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 1 อ่านว่า 1 2 อ่านว่า 2 3 อ่านว่า Fizz 4 อ่านว่า 4 F I Z Z B U Z Z 5 อ่านว่า Buzz 6 อ่านว่า Fizz 7 อ่านว่า 7 8 อ่านว่า 8 9 อ่านว่า Fizz 10 อ่านว่า Buzz http://en.wikipedia.org/wiki/Fizz_buzz
  • 62. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 15 อ่านว่า FizzBuzz F I Z Z B U Z Z
  • 63. T E S T D R I V E N D E V E L O P M E N T SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
  • 64. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance All the tests pass There is no duplication Focus your intent S I M P L E D E S I G N R U L E S Classes and methods are minimized
  • 65. SPRINT3R Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance