Sessione presentata all'Italian Agile Day 19 nov 2010
BDD Live Show
In questa sessione simuleremo una breve sessione di BDD su un problema “reale” (una semplice applicazione da riga di comando). Durante la presentazione useremo un mix di tecnologie (tra le quali Ruby e Python), ma la sessione sarà comprensibile anche a chi non conosce questi linguaggi.
3. BDD in a nutshell
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
4. Test
funzionali
Test di
usabilità
Q2
Q3
Q1
Q4
Test unitari
del codice
Test sulle
proprietà
Fondato sul prodotto
Supporto allo sviluppo
Rivolto al business
Rivolto alla tecnologia
L'idea originale dell' “Agile Testing Quadrant” e' presa da Brian Marrick (www.exampler.com)
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
5. Supporto allo sviluppo
Rivolto al business
BDD
Il BDD opera su test di
supporto allo sviluppo che
verificano aspetti di business
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
6. Feature
As a Returning Customer
I want the system to
remember my details
so I can purchase goods
more quickly.
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
7. Acceptance Criteria
As a Returning Customer
I want the system to
remember my details
so I can purchase goods
more quickly.
Acceptance Criterion 1:
Acceptance Criterion 1:
Given I am logged in as returning customer,
Given I am logged in as returning customer,
When I make a purchase,
When I make a purchase,
Then the system presents my details for review
Then the system presents my details for review
➢
➢
Acceptance Criterion 2:
Acceptance Criterion 2:
Given I see my details as returning customer,
Given I see my details as returning customer,
When I want to change some details,
When I want to change some details,
Then I can edit the details directly
Then I can edit the details directly
➢
➢
...
...
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
8. Realizzare una feature
As a Returning Customer
I want the system to
remember my details
so I can purchase goods
more quickly.
✔
OK
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
9. Sicuro?
As a Returning Customer
I want the system to
remember my details
so I can purchase goods
more quickly.
NO
OK
✔
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Acceptance Criterion
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0
11. Automatizzare i test
Cucumber features
Cucumber steps definition
System under test
Italian Agile Day 2010 - The BDD show - http://creativecommons.org/licenses/by-nc-sa/3.0