bdd - collaboration & hands-on practices
TRANSCRIPT
BDD – Collaboration & Hands-on practicesKostas Mamalis
Principal Engineer – MagenTys
“The most important problem that we face as software professionals is this: If somebody
thinks of a good idea, how do we deliver it to users as quickly as possible?”
- “Continuous Delivery” book
➜ Ubiquitous Language➜ Focus on business value➜ Living Documentation➜ Specifying By Example
How does BDD come to the picture?
➜ Because we have to deliver ‘software that matters’ – Agile Manifesto
Why do we need to focus on software behaviour
“Here’s the water you’ve asked for, sir!”
The Power of the 3 voices
The Voice of the Solution
The Voice of Quality
The Client’s Voice
It’s all about:…
And Scenarios of course!
Who writes the Scenarios and When?
A few tips & ideas
Definition of Ready & Definition of Done- Definition of Ready- Definition of Done- 2 parallel boards
Acceptance Criteria & Example Mapping- Acceptance Criteria – how are they related to
Scenarios?- Example Mapping- How about Non Functional Requirements/Criteria?- Automation is not always the outcome of a
Specification session- Team Rotation?
Roles
- Do we need Developers in Test?- We are all developers - Testers you are still needed!!!
• What happens when business are not as involved into your processes?
• Product Owner/Business Analysts are a catalyst to the BDD process
• Unit & Integration Tests, then Acceptance
Business Involvement + Test-First Maturity
Test Pyramid (no Ice-Cream cones please!)
- BDD describes behaviour- BDD doesn’t need UI- BDD doesn’t restrict on one layer of
your system- You can do BDD with xUnit
frameworks- Unit + Service tests with Test Doubles- Drive majority of tests from API- How about SPAs?
I’m a full-stack developer, can I do BDD?
“Given, Given, And, Then, When, Then…”
How about Fluent APIs then?
What if Gherkin language gets in the way?
MISSION PATTERN
A pattern for Fluent APIs:
http://magentys.io/blogsPlace your screenshot here
https://dzone.com/articles/mission-pattern-a-means-to-modularise-automation-c
CHERRY FRAMEWORK
http://cherryframe.work
Thanks!You can find me at: @mamalisk
http://kostasmamalis.com
➜ ➜
http://magentys.io/blogs/