ATDD Make Love Not War - Bangkok BugDay 2012
-
Upload
kulawat-wongsaroj -
Category
Technology
-
view
1.737 -
download
2
description
Transcript of ATDD Make Love Not War - Bangkok BugDay 2012
Imagine there’s no JiraImagine there’s no JiraIt isn’t hard to doIt isn’t hard to doJust apply ATDDJust apply ATDD
And Do Continuous Integration TooAnd Do Continuous Integration TooImagine dev and testersImagine dev and testers
Living life in peaceLiving life in peaceYou may say I am a dreamerYou may say I am a dreamer
But I am not the only oneBut I am not the only oneI hope some day you would join usI hope some day you would join us
Defect in the world will be just noneDefect in the world will be just none
Acceptance Test Driven Development@kluak110 @sinapam
proteus-agility.com
May-12, 2012
agile66.com
Pam, The CTO5-year Agile Evangelist,Lead 20+ Agile Projects,
Hardcore Python Developer,
Kulawat, The CEO5-year Agile Coach,12-year in Software,
Big5 Consultant,Agile66.com Founder
proteus-agility.comEidos - Agile Software Development Collaboration Tool
Agile TrainingAgile CoachingWe are hiring!
http://gojko.net/2010/10/06/top-10-reasons-why-teams-fail-with-atdd/
Objective Objective
Self-Managed Scrum Team
หั�วหัน้�าใหัญ่Dev Manager
Dev Lead
Dev Dev
Dev Lead
Dev Dev
QA Manager
QA Lead
QA QA
QA Lead
QA QA
Team
Member
Team
Member
Team
Member
Team
Member
Team
Member
Team
Member
Team
Member
Team
Member
ScrumMaster
ATDD
TDD
เขี�ยน้ Acceptance Test ก่อน้ Codeแค่น้��จริ�งๆจริ�งๆน้ะ
ปก่ติ� QA ก่�ทำ�าอย�แล้�วDEV ไม่ชิ�น้เพริาะติ�องริอ Acceptance Test
ก่อน้
d2 d3 d4 d5d1
QBA
BA
DL
QAL
Dev
QA
PMHLR
BAbreak down
story & kick-off release
Story w/ initial XC
QA refine
Exit Criteria
DEV discuss HLD & Spike
Story w/ more XC
Initial HLD
Story w/ final XC
QA produce
Test Scripts
Test Scripts
DEV code Build
ATDD Flowจากบริ�ษั�ทสมม�ติ�ว่�าอยู่��แถว่สว่นลุ�มฯ
Iteration n + 1
StoryPriority
HLRPriority
PM put use cases and
priority list in PM wiki
Not Ready for Estimate
Not Ready for Estimate
Estimates
Story is in JIRAStory Priority in wiki
Iteration n
StoryPriority
Velocity
Release Plan
Iteration 0Before release starts
QA conduct
AT
Add more XC instead of separated test idea
In Release Planning, the whole team (or
feature team) discuss and estimate if ready. The planning should
stop if total estimate is beyond 120% of team
capacity
QA produce test scripts at least for the
work of the next iteration
DEV may start coding but should not check it in until
Test Scripts are run and pass on Dev env
QA close the story once all Acceptance Test are
passed
Dev จะวาง ริอ QAQA จะริ� �สึ&ก่แหัม่งๆ อย�ดี�ๆ ก่ล้ายเป(น้ค่น้เขี�ยน้ RequirementQA จะใชิ�เวล้าเขี�ยน้ Test น้าน้ขี&�น้ เพริาะก่ล้ายเป(น้ค่น้ริ�บผิ�ดีชิอบ
Requirement!Dev จะบน้วาทำ�าไม่ Requirement ม่�น้หัย+ม่หัย�ม่ไปหัม่ดีDev จะริ� �สึ&ก่วาทำ�าไม่ติ�องม่าทำ�างาน้ Test ทำ��งทำ�,ติ�วเองเป(น้ DevDev จะค่+ยก่�บ QA ม่าก่ขี&�น้ เพริาะไม่เขี�าใจ Test ทำ�,เขี�ยน้ม่าก่QA จะค่+ยก่�บ Dev ม่าก่ขี&�น้ เพริาะไม่ริ� �จะเขี�ยน้ Test ย�งไง
จ�าไม่ไดี�แล้�ววาเหั�น้ทำ�,ไหัน้ น้าจะ NetObjective.com
Dev ชิวน้ QA เขี�า Design SessionDev เขี�ยน้ Code ใหั� Testable ม่าก่ขี&�น้ หัล้�งจาก่โดีน้
ดีาม่าเยอะหัา Bug ไม่ค่อยเจอเล้�ก่ใชิ� Bug Tracking … ไม่ริ� �จะใชิ�ทำ�าไม่QA แทำบไม่เหัล้.องาน้ถึ&ก่ซ้ำ��าซ้ำาก่ไม่ใชิ�สึม่องQA ม่�เวล้าค่�ดีสึริ�างสึริริค่1 Explorative TestQA ก่�บ Dev จะค่+ยก่�น้ติล้อดีเวล้า
ก่�ย�ง ATDD ไดี� ดี�ก่วาไม่ม่�อยางน้�อยก่�จะทำ�าใหั�เก่�ดีก่าริค่+ยก่�น้แติจ�าเป็�นติ�องทำ�างาน้เป(น้ iteration แล้ะ แบง
ยอย requirement เป(น้หัน้วยเล้�ก่ๆ เชิน้ user story เพ.,อใหั�เก่�ดี feedback loop ทำ�,เริ�ว
ดี�ทำ�,สึ+ดีค่.อม่� Test Automation แบบบ�าค่ล้�,งTest ก่�น้ทำ��งว�น้ค่.น้ดี�วย Continuous
Integration
ATDD, BDD, Specification By Example จะค่ล้�ายๆก่�น้ ม่�จ+ดีปริะสึงค่1เดี�ยวก่�น้ค่.อ Clear Definition-Of-Done
ATDD เหัม่าะม่าก่ก่�บ Dev Onshore / QA Offshore หัริ.อ Distributed Team
หัน้�งสึ.อ
Demo