SlideShare a Scribd company logo
1 of 67
Download to read offline
SPRINT3R 
Bug Day 2014 :: ทำ ดี ดี 
สมเกียรติ ปุ๋ยสูงเนิน 
SPRINT3R โดย บริษัท สยาม๡ำนาญกิจ จำกัด บริษัท ออด-อี (ประเทศไทย) จำกัด และพันธมิตร 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
CODE 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
LEGACY CODE 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
MAIL เพียบ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
TEST-DRIVEN DEVELOPMENT 
SPRINT3R 
ทำ-ดี-ดี 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
มารผจญ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
ตัว เร า เ อ ง 
ฉันจะเขียน Test เมื่อมีเวลา 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
แก้ไข CODE 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
CLASS ที่แก้ไข
SPRINT3R 
แก้ไข CODE 
CLASS ที่แก้ไข CLASS อื่นๆ 
CLAS S อื่ น ๆ CLAS S อื่ น ๆ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
แก้ไข CODE 
CLASS ที่แก้ไข CLASS อื่นๆ 
CLAS S อื่ น ๆ CLAS S อื่ น ๆ 
CLASS อื่นๆ 
CLASS อื่นๆ 
CLAS S อื่ น ๆ CLAS S อื่ น ๆ CLAS S อื่ น ๆ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
การ Deploy งานที่ไม่มี Test 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
KENT BECK 
The more stress you feel, 
the less testing you will do … 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
KENT BECK 
The less testing you do, 
the more errors you will make … 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
ตัว เร า เ อ ง 
เริ่มเขียน Test ตอนนี้เลย 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
แล้วจะเริ่มจากตรงไหนล่ะ ? 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
แสดดดดดดดด
SPRINT3R 
คนเขียน code มันคิดอะไรไว้ ? 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
ตรูไม่สามารถแก้ไข Code มันได้ !! 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
ตรูสามารถแก้ไข Code ตรูได้เท่านั้น 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
เพิ่ม Test ใน Legacy code ใ๡้เวลามาก 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
NOEL RAPPIN 
Test small step that 
can be verified 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Code ใหม่ที่เกิดขึ้น ต้องมี Test ไงล่ะ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Bug ที่เกิดขึ้นต้องสามารถ 
ทำให้เกิดขึ้น๢้ำๆ ด้วย Test 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
ดังนั้น 
ใ๡้ Test เรียนรู้ Legacy code
SPRINT3R 
เกิดการต่อรอง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
URGENT BUG !!
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
WRITE 
CODE 
WRITE 
TEST
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
WRITE 
CODE 
MANUAL 
TEST 
MODIFY 
CODE 
MANUAL 
TEST 
WRITE 
CODE 
MODIFY 
CODE 
MANUAL 
TEST 
MODIFY 
CODE
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
WRITE FAIL 
TEST 
MAKE TEST 
PASS 
REFACTOR
SPRINT3R 
red green refactor 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
WRITE FAIL 
TEST 
MAKE TEST 
PASS 
REFACTOR
STEVE FREEMAN & NAT PRYCE 
SPRINT3R 
Never write new functionality 
without a failing test 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
ROBERT C. MARTI N 
Testing is about trust 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
SIMPLE DESIGN RULES 
All the tests pass 
There is no duplication 
Focus your intent 
Classes and methods are minimized 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
โลกแห่งความจริง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
เ ยอะสาดดดดดดด
SPRINT3R 
ปล่อยมันไป ทำให้มันดีขึ้น 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Code ที่มี Test 
คือ code ที่เ๡ื่อถือได้ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Code ที่ไม่มี Test 
คือ code ที่ไม่น่าเ๡ื่อถือ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
จงทำใน๤ิ่งที่ถูกต้อง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
ทำ ดี ดี
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
ทำ ดี ดี นะเพื่อน
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test เปรียบได้กับการเดินทาง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test ป้องกันความผิดพลาดต่างๆ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test คือ เอกสารของระบบ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test ทำให้ code ดูดีขึ้น 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Code เป็นอย่างไร 
Modular 
ไม่ผูกมัดกัน 
Method เล็กๆ 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test ๡่วยลดความกลัว 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test เปลี่ยนวิธีการเขียน code 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test เปลี่ยนตัวเราเอง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test ถูกสร้างด้วยตัวเราเอง 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Test ทำให้เกิด Automated Test 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
CODE 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
TDD ในปัจจุบัน 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
TEST DRIVEN DEVELOPMENT 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ACCEPTANCE TEST DRIVEN DEVELOPMENT 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
LARGER FEEDBACK LOOP 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
ความเข้าใจผิด 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
โช ว์ของ 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Feature ฟ้าประทาน 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
http://localhost:7272/html 
name=username_field 
name=password_field 
name=login_button 
Feature ฟ้าประทาน 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
username=demo 
password=mode 
http://localhost:7272/html/welcome.html 
ผ่าน คือ อะไร 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance 
http://localhost:7272/html
ความต้องการ๡ัดล่ะ 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
เขียน Acceptance Test กันเถอะ 
SPRINT3R 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance
SPRINT3R 
Bug Day 2014 :: ทำ ดี ดี 
สมเกียรติ ปุ๋ยสูงเนิน 
SPRINT3R โดย บริษัท สยาม๡ำนาญกิจ จำกัด บริษัท ออด-อี (ประเทศไทย) จำกัด และพันธมิตร 
Siam Chamnankit Co., Ltd., Odd-e (Thailand) Co., Ltd. and Alliance

More Related Content

Viewers also liked

Debt outlook post july 15th 2013
Debt outlook post july 15th 2013Debt outlook post july 15th 2013
Debt outlook post july 15th 2013agniV
 
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...Estudio con estadisticas y estado de situacion del Comercio Electronico y los...
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...Marcos Pueyrredon
 
Ханс Фредрик Берг - NOARK : Норвежский стандарт управления документами
Ханс Фредрик Берг - NOARK: Норвежский стандарт управления документамиХанс Фредрик Берг - NOARK: Норвежский стандарт управления документами
Ханс Фредрик Берг - NOARK : Норвежский стандарт управления документамиNatasha Khramtsovsky
 
Michelle[1]
Michelle[1]Michelle[1]
Michelle[1]mrounds5
 
Protecting Sensitive Data using Encryption and Key Management
Protecting Sensitive Data using Encryption and Key ManagementProtecting Sensitive Data using Encryption and Key Management
Protecting Sensitive Data using Encryption and Key ManagementStuart Marsh
 
UCSF Talk -- How to Think, How to Be
UCSF Talk -- How to Think, How to BeUCSF Talk -- How to Think, How to Be
UCSF Talk -- How to Think, How to BeMarcus Banks
 
Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Somkiat Puisungnoen
 
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...Natasha Khramtsovsky
 
PROEXPOSURE Cuba: flags, Che and automobiles
PROEXPOSURE Cuba: flags, Che and automobilesPROEXPOSURE Cuba: flags, Che and automobiles
PROEXPOSURE Cuba: flags, Che and automobilesPROEXPOSURE CIC
 

Viewers also liked (20)

Debt outlook post july 15th 2013
Debt outlook post july 15th 2013Debt outlook post july 15th 2013
Debt outlook post july 15th 2013
 
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...Estudio con estadisticas y estado de situacion del Comercio Electronico y los...
Estudio con estadisticas y estado de situacion del Comercio Electronico y los...
 
Hoe beweging maken rond bio-ethiek
Hoe beweging maken rond bio-ethiekHoe beweging maken rond bio-ethiek
Hoe beweging maken rond bio-ethiek
 
Grails66 web service
Grails66 web serviceGrails66 web service
Grails66 web service
 
Dia del idioma
Dia del idiomaDia del idioma
Dia del idioma
 
Een e-leeromgeving opzetten in je organiatie
Een e-leeromgeving opzetten in je organiatieEen e-leeromgeving opzetten in je organiatie
Een e-leeromgeving opzetten in je organiatie
 
Ханс Фредрик Берг - NOARK : Норвежский стандарт управления документами
Ханс Фредрик Берг - NOARK: Норвежский стандарт управления документамиХанс Фредрик Берг - NOARK: Норвежский стандарт управления документами
Ханс Фредрик Берг - NOARK : Норвежский стандарт управления документами
 
Solidariteit in superdiversiteit
Solidariteit in superdiversiteitSolidariteit in superdiversiteit
Solidariteit in superdiversiteit
 
Inleiding CiviCRM
Inleiding CiviCRMInleiding CiviCRM
Inleiding CiviCRM
 
Michelle[1]
Michelle[1]Michelle[1]
Michelle[1]
 
Beleidsplanning algemeen - deel 1
Beleidsplanning algemeen - deel 1Beleidsplanning algemeen - deel 1
Beleidsplanning algemeen - deel 1
 
Protecting Sensitive Data using Encryption and Key Management
Protecting Sensitive Data using Encryption and Key ManagementProtecting Sensitive Data using Encryption and Key Management
Protecting Sensitive Data using Encryption and Key Management
 
UCSF Talk -- How to Think, How to Be
UCSF Talk -- How to Think, How to BeUCSF Talk -- How to Think, How to Be
UCSF Talk -- How to Think, How to Be
 
Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0
 
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...
д-р Лючиана Дюранти - Презентация на английском языке к семинару в Москве 23 ...
 
PROEXPOSURE Cuba: flags, Che and automobiles
PROEXPOSURE Cuba: flags, Che and automobilesPROEXPOSURE Cuba: flags, Che and automobiles
PROEXPOSURE Cuba: flags, Che and automobiles
 
Italy Trip II
Italy Trip IIItaly Trip II
Italy Trip II
 
Karel Vanrietvelde
Karel VanrietveldeKarel Vanrietvelde
Karel Vanrietvelde
 
Partnerships tussen bedrijven en non profit (Sabine Denis)
Partnerships tussen bedrijven en non profit (Sabine Denis)Partnerships tussen bedrijven en non profit (Sabine Denis)
Partnerships tussen bedrijven en non profit (Sabine Denis)
 
Alanna
AlannaAlanna
Alanna
 

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
 

BUGDAY 2014 :: ทำดีดี