SlideShare a Scribd company logo
Acceptance Test
Driven Development
Twin Panichsombat
–Varokas Panusuwan
“ผมทำ software ที่มี zero defect”
–Twin Panichsombat
“นนท์ มึง บ้า”
สองปีผ่านไป
–Twin Panichsombat
“ผมทำ software ที่มี zero defect”
“พวกสนุกกับการทำ software ที่มี zero defect”
พวกเราทำอะไร ?
พวกเราทำระบบ order management
พวกเราทำระบบ call center
ให้ telecom operator แห่งหนึ่ง
ที่มีสาขาทั่วประเทศประมาณ 300 สาขา
มีคนใช้งานพร้อมกันหลายพันคน
ทำการ เปิดเบอร์ เปลี่ยนแพคเกจ จ่ายเงิน เปลี่ยนที่อยู่
ซื้อเครื่อง รับสายเข้า โทรออกและอื่นๆที่เกี่ยวข้อง
กับการติดต่อลูกค้น
“Defect มาตอนไหน?”
User Acceptance Test
30,000 features at a time
Expectation
Expectation
User Expectation
(Defects)
Delivery
Expectation
อย่าเดาใจกัน และ ก็อย่าหวังว่าใครจะรู้ใจ
Expectation
Expectation Expectation Expectation
Expectation ExpectationExpectation Expectation
Expectation Expectation
Expectation
Expectation Expectation Expectation
Expectation ExpectationExpectation Expectation
Expectation Expectation
Expectation
Expectation Expectation Expectation
Expectation ExpectationExpectation Expectation
Expectation Expectation
ทำให้ความคาดหวังเล็กลงและมีลำดับสำคัญ
User Expectation
ATDD
Dev Expectation=
21
Discuss
in workshop
Develop
in concurrence
Deliver
for acceptance
I want to show scores for
the current pair.
OK. Can you give me an
example of these scores?
So if the three judges gave
scores 7, 11 and 2 then the
displayed score should be 20. OK. And would those
individual judges' scores be shown?
Or just the total?
Yes, individual scores.
And they should be shown all the
time, even before all judges have
given their scores.
Like if first two judges
give a 7 and an 11 then we'll show
18 as an intermediate score?
Exactly.
With 3 judges giving
scores 4, 20, and 18,
the displayed score
should be 42.
When the first 2
judges have given
their scores, e.g. 10
and 5, the
intermediate score of
15 should be displayed
already.
No scores displayed as
a dash (–), not zero.
Maximum score from
a judge is 20 points!
As a competition organizer
in order to show the judging to the
audience on several monitors
I want to have the scores for the
current pair on a web page.
Scoring
As a competition organizer
in order to show the judging to the
audience on several monitors
I want to have the scores for the
current pair on a web page.
Scoring
As a competition organizer
in order to show the judging to the
audience on several monitors
I want to have the scores for the
current pair on a web page.
Scoring
As a competition organizer
in order to show the judging to the
audience on several monitors
I want to have the scores for the
current pair on a web page.
Scoring
22
The examples are translated into executable specification,

allowing a computer to run them against the product.
Discuss
in workshop
Develop
in concurrence
Deliver
for acceptance
email title message expected
Not Successfully send
feedback with invalid
information
wingyminov@mail.com bad service bad service
dissmiss window
display
Successfully send
feedback with valid
information
test@example.com bad service bad service
success windows
display
User Expectation
Deliver within this “Frame”. Our software is considering
“ZERO DEFECT”
Pop Kung would Like To Send Feedback With Invalid Email
Given He Fill Invalid Email With Valid Subject And Content
When He Submit Form Back
Then Feedback Form Should Not Be Delivered
Pop Kung Would Like To Send Feedback with Valid Email
Given He Fill In All Valid Information In Feedback Form
When He Submit Form Back
Then Feedback Form Should Be Delivered To Whom It May Concern
https://github.com/roofimon/Contact

More Related Content

What's hot

Handling customer fears
Handling customer fearsHandling customer fears
Handling customer fears
Ashraf Osman
 
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
ZeroTurnaround
 

What's hot (10)

The anatomy of an A/B Test - JSConf Colombia Workshop
The anatomy of an A/B Test - JSConf Colombia WorkshopThe anatomy of an A/B Test - JSConf Colombia Workshop
The anatomy of an A/B Test - JSConf Colombia Workshop
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
Pdf pres
Pdf presPdf pres
Pdf pres
 
We are hiring in Somnio Software!
We are hiring in Somnio Software!We are hiring in Somnio Software!
We are hiring in Somnio Software!
 
Learning Product Development Process at Red Chip Solutions
Learning Product Development Process at Red Chip SolutionsLearning Product Development Process at Red Chip Solutions
Learning Product Development Process at Red Chip Solutions
 
Apple mac repairs
Apple mac repairs Apple mac repairs
Apple mac repairs
 
Handling customer fears
Handling customer fearsHandling customer fears
Handling customer fears
 
Quantity vs. quality_Jiří Suchý Sherpas
Quantity vs. quality_Jiří Suchý Sherpas Quantity vs. quality_Jiří Suchý Sherpas
Quantity vs. quality_Jiří Suchý Sherpas
 
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
How can JRebel save 5+ weeks of builds and redeploys for my entire team this ...
 
AMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideAMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server Side
 

Viewers also liked

Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Zohirul Alam Tiemoon
 

Viewers also liked (9)

Journey of atdd
Journey of atddJourney of atdd
Journey of atdd
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
 
Unit Testing, TDD and ATDD
Unit Testing, TDD and ATDDUnit Testing, TDD and ATDD
Unit Testing, TDD and ATDD
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 

Similar to ATDD

Ejobportal project ppt on php my_sql
Ejobportal project ppt on php my_sqlEjobportal project ppt on php my_sql
Ejobportal project ppt on php my_sql
prabhat kumar
 
Cloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa MonicaCloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa Monica
VMware Tanzu
 

Similar to ATDD (20)

User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
 
How to deal with mobile traffic expansion
How to deal with mobile traffic expansionHow to deal with mobile traffic expansion
How to deal with mobile traffic expansion
 
Oh Hello, Outcomes: Introducing UX in Your Workflow
Oh Hello, Outcomes: Introducing UX in Your WorkflowOh Hello, Outcomes: Introducing UX in Your Workflow
Oh Hello, Outcomes: Introducing UX in Your Workflow
 
Customer engagement platform
Customer engagement platformCustomer engagement platform
Customer engagement platform
 
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating#NoEstimates - Stop lying to yourself and your customers, and stop estimating
#NoEstimates - Stop lying to yourself and your customers, and stop estimating
 
Compatibility testing
Compatibility testingCompatibility testing
Compatibility testing
 
Malik Jones Robinson UX Portfolio
Malik Jones Robinson UX PortfolioMalik Jones Robinson UX Portfolio
Malik Jones Robinson UX Portfolio
 
Is It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeIs It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just Me
 
Ejobportal project ppt on php my_sql
Ejobportal project ppt on php my_sqlEjobportal project ppt on php my_sql
Ejobportal project ppt on php my_sql
 
Service workers and their role in PWAs
Service workers and their role in PWAsService workers and their role in PWAs
Service workers and their role in PWAs
 
Cloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa MonicaCloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa Monica
 
Ode To Process: Why and How
Ode To Process: Why and HowOde To Process: Why and How
Ode To Process: Why and How
 
Murugan
MuruganMurugan
Murugan
 
Attensee pitch
Attensee pitchAttensee pitch
Attensee pitch
 
Panacea Infotech Pvt. Ltd. Company Presentation
Panacea Infotech Pvt. Ltd. Company PresentationPanacea Infotech Pvt. Ltd. Company Presentation
Panacea Infotech Pvt. Ltd. Company Presentation
 
Test execution
Test executionTest execution
Test execution
 
Intensive Workshop:Building Apps -Idea to Release- for Non-Techie Entrepreneurs
Intensive Workshop:Building Apps -Idea to Release- for Non-Techie EntrepreneursIntensive Workshop:Building Apps -Idea to Release- for Non-Techie Entrepreneurs
Intensive Workshop:Building Apps -Idea to Release- for Non-Techie Entrepreneurs
 
How We Make Apps And Services
How We Make Apps And ServicesHow We Make Apps And Services
How We Make Apps And Services
 
Web Application Development Cost.pdf
Web Application Development Cost.pdfWeb Application Development Cost.pdf
Web Application Development Cost.pdf
 
Ashfaq Amin's UX Portfolio
Ashfaq Amin's UX PortfolioAshfaq Amin's UX Portfolio
Ashfaq Amin's UX Portfolio
 

More from ทวิร พานิชสมบัติ

More from ทวิร พานิชสมบัติ (20)

Devops maturity model
Devops maturity modelDevops maturity model
Devops maturity model
 
Crafting Culture
Crafting CultureCrafting Culture
Crafting Culture
 
Go: Programming Language for Cloud
Go: Programming Language for CloudGo: Programming Language for Cloud
Go: Programming Language for Cloud
 
LeSS
LeSSLeSS
LeSS
 
Legacy Code For Management
Legacy Code For ManagementLegacy Code For Management
Legacy Code For Management
 
Security As A Code :
Security As A Code : Security As A Code :
Security As A Code :
 
กระบวนการเชิงประจักษ์ (Empirical Process)
กระบวนการเชิงประจักษ์ (Empirical Process)กระบวนการเชิงประจักษ์ (Empirical Process)
กระบวนการเชิงประจักษ์ (Empirical Process)
 
Geeky Ademy Schedule 2nd Batch
Geeky Ademy Schedule 2nd BatchGeeky Ademy Schedule 2nd Batch
Geeky Ademy Schedule 2nd Batch
 
การทำซอฟท์แวร์ภายใน 30 วัน
การทำซอฟท์แวร์ภายใน 30 วันการทำซอฟท์แวร์ภายใน 30 วัน
การทำซอฟท์แวร์ภายใน 30 วัน
 
Geek Academy Schedule
Geek Academy ScheduleGeek Academy Schedule
Geek Academy Schedule
 
Kku2011
Kku2011Kku2011
Kku2011
 
Scrum version3
Scrum version3Scrum version3
Scrum version3
 
Geeky academy
Geeky academyGeeky academy
Geeky academy
 
Agile
AgileAgile
Agile
 
Bdd bug day2013
Bdd bug day2013Bdd bug day2013
Bdd bug day2013
 
Scrum Version 3
Scrum Version 3Scrum Version 3
Scrum Version 3
 
Fixie atbarcampbangkok5
Fixie atbarcampbangkok5Fixie atbarcampbangkok5
Fixie atbarcampbangkok5
 
Scrum version2
Scrum version2Scrum version2
Scrum version2
 
Agile V2
Agile V2Agile V2
Agile V2
 
Start upandagile final
Start upandagile finalStart upandagile final
Start upandagile final
 

Recently uploaded

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 

ATDD

  • 2.
  • 3. –Varokas Panusuwan “ผมทำ software ที่มี zero defect”
  • 6. –Twin Panichsombat “ผมทำ software ที่มี zero defect”
  • 8. พวกเราทำอะไร ? พวกเราทำระบบ order management พวกเราทำระบบ call center ให้ telecom operator แห่งหนึ่ง ที่มีสาขาทั่วประเทศประมาณ 300 สาขา มีคนใช้งานพร้อมกันหลายพันคน ทำการ เปิดเบอร์ เปลี่ยนแพคเกจ จ่ายเงิน เปลี่ยนที่อยู่ ซื้อเครื่อง รับสายเข้า โทรออกและอื่นๆที่เกี่ยวข้อง กับการติดต่อลูกค้น
  • 11.
  • 12.
  • 18. Expectation Expectation Expectation Expectation Expectation ExpectationExpectation Expectation Expectation Expectation Expectation Expectation Expectation Expectation Expectation ExpectationExpectation Expectation Expectation Expectation Expectation Expectation Expectation Expectation Expectation ExpectationExpectation Expectation Expectation Expectation ทำให้ความคาดหวังเล็กลงและมีลำดับสำคัญ
  • 20.
  • 21. 21 Discuss in workshop Develop in concurrence Deliver for acceptance I want to show scores for the current pair. OK. Can you give me an example of these scores? So if the three judges gave scores 7, 11 and 2 then the displayed score should be 20. OK. And would those individual judges' scores be shown? Or just the total? Yes, individual scores. And they should be shown all the time, even before all judges have given their scores. Like if first two judges give a 7 and an 11 then we'll show 18 as an intermediate score? Exactly. With 3 judges giving scores 4, 20, and 18, the displayed score should be 42. When the first 2 judges have given their scores, e.g. 10 and 5, the intermediate score of 15 should be displayed already. No scores displayed as a dash (–), not zero. Maximum score from a judge is 20 points! As a competition organizer in order to show the judging to the audience on several monitors I want to have the scores for the current pair on a web page. Scoring As a competition organizer in order to show the judging to the audience on several monitors I want to have the scores for the current pair on a web page. Scoring As a competition organizer in order to show the judging to the audience on several monitors I want to have the scores for the current pair on a web page. Scoring As a competition organizer in order to show the judging to the audience on several monitors I want to have the scores for the current pair on a web page. Scoring
  • 22. 22 The examples are translated into executable specification,
 allowing a computer to run them against the product. Discuss in workshop Develop in concurrence Deliver for acceptance
  • 23.
  • 24. email title message expected Not Successfully send feedback with invalid information wingyminov@mail.com bad service bad service dissmiss window display Successfully send feedback with valid information test@example.com bad service bad service success windows display User Expectation Deliver within this “Frame”. Our software is considering “ZERO DEFECT”
  • 25. Pop Kung would Like To Send Feedback With Invalid Email Given He Fill Invalid Email With Valid Subject And Content When He Submit Form Back Then Feedback Form Should Not Be Delivered Pop Kung Would Like To Send Feedback with Valid Email Given He Fill In All Valid Information In Feedback Form When He Submit Form Back Then Feedback Form Should Be Delivered To Whom It May Concern https://github.com/roofimon/Contact