better story testing through dev-tester pairing
DESCRIPTION
Agile 2010 Hands-On Workshop, 8/9/2010Abby Fichtner & Dawn CannanYou know how "Agile" works: programmers test drive their code via (A)TDD with testers automating much of the story tests. But how does it REALLY work? Do testers and programmers work together (YES!)? What does this interaction look like? In this hands-on demonstration, we'll walk you through how to drive quality on your projects by pairing testers and programmers. We'll use FitNesse to create effective story tests and keep them passing as the software evolves with each iteration. Bring a laptop and spend some time as a paired dev/test team!TRANSCRIPT
Better Story TestingThrough Dev-Tester Pairing
Abby Fichtner, & Dawn Cannan,Hacker Chick Passionate Tester
Agile 2010 – August 9, 2010
This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License q
Q
g
Figure out how to make stuff without defects in the first place
- Mary Poppendieck, Google Tech Talks, 12/2006
2Abby Fichtner, Dawn Cannan
Why Pair Devs & Testers?
3
Iteration 1 Iteration 2 Iteration 3
Release!
. . . ����E
Abby Fichtner, N
ate Oster
d Agile: The Happy Path d
4
Iteration 1 Iteration 2
Test & Fix Iteration
Oops, we ran out of time to test!
No problem! We’ll start next features while testers test
Bugs, overtime, programmers & testers
fightingWe’ re done but testers are behind so let’s keep going!
ActualRelease
R Code Test
Iteration 3
Release!XX
R Code Test
R Code
This agile thing sucks!
Bug FixBug FixTest
bAbby Fichtner, N
ate Oster
F F F F Agile: The Not So Happy Path FFFF
Write a failing test
Make it PassRefactor R
5Abby Fichtner, N
ate Oster
Test Driven Development
Write a failing
Acceptance TesthWrite a failing test
Make it PassRefactor R
6Abby Fichtner, N
ate Oster
Acceptance (Story) Test Driven Development
• Help devs know what “done” means
• Make sure we’re building the right thing
• Drive inner TDD loop
Testers help us make stuff without defects without defects without defects without defects in the 1st place!
Write a failing
Acceptance TesthWrite a failing test
Make it PassRefactor R
7Abby Fichtner, N
ate Oster
Adapted from “Agile Testing”, Lisa Crispin & Janet Gregory
DEConditions of Acceptance
Demo/Feedback
The Zen of Test-Driven Development
• Bug detection
• Bug prevention
• Better ways to capture & elicit requirements
Focus shifts as team masters test-driven development
8
FitNesse
Mike Cohn’s Automated Testing Pyramid
Acceptance
(Story) Tests
GUI
Unit & Component Tests
Abby Fichtner, Dawn Cannan
�
�
�
�
�
�
Abby Fichtner, Dawn Cannan
9
FitNesse
10
FitNesse
Abby Fichtner, Dawn Cannan
FitNesse Page
Production Code
Fixture
�
�
�
Can focus on dev-tester interaction
Abby Fichtner, Dawn Cannan
11
Agile 2010 Scheduling App
�
�
�
Abby Fichtner, Dawn Cannan
12
Agile 2010 Scheduling App: Data
Unit Tests
�
�
Acceptance Test Fixtures
�
�
Abby Fichtner, Dawn Cannan
13
Agile 2010 Scheduling App: Tests
Abby Fichtner, Dawn Cannan
14
Story #3: Get Session Recommendations
Acceptance Test Fixtures
�
�
�
Helper Methods
�
�
Abby Fichtner, Dawn Cannan
15
Stories #4, #5 & #64: Select My Friends
�
5 & 6: List of Friends Attending Sessions/Same Session as Me
�
Query Helper Methods (Agile2010AcceptanceTest)
�
�
�
�
Abby Fichtner, Dawn Cannan
16
Stories #7: Get Popular Sessions
Acceptance Criteria
Providing Query Results from Fixtures
Mini-Retrospective
17Abby Fichtner, Dawn Cannan
Audience
�
�
�
Pair Demonstration
�
�
Workshop Retrospective
18Abby Fichtner, Cannan
1.
2.
3.
4.
Thank You!
Dawn CannanDawn CannanDawn CannanDawn CannanPassionate TesterTester EvangelistTester EvangelistTester EvangelistTester [email protected]
http://PassionateTester.com
Abby FichtnerAbby FichtnerAbby FichtnerAbby FichtnerHacker ChickDeveloper Evangelist, [email protected]://TheHackerChickBlog.com
This presentation is licensed under a Creative Commons Attribution-Share Alike 3.0 License