bdd - collaboration & hands-on practices

24
BDD – Collaboration & Hands-on practices Kostas Mamalis Principal Engineer – MagenTys

Upload: magentys

Post on 11-Jan-2017

419 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: BDD - Collaboration & Hands-on practices

BDD – Collaboration & Hands-on practicesKostas Mamalis

Principal Engineer – MagenTys

Page 2: BDD - Collaboration & Hands-on practices

“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

Page 3: BDD - Collaboration & Hands-on practices

➜ Ubiquitous Language➜ Focus on business value➜ Living Documentation➜ Specifying By Example

How does BDD come to the picture?

Page 4: BDD - Collaboration & Hands-on practices

➜ Because we have to deliver ‘software that matters’ – Agile Manifesto

Why do we need to focus on software behaviour

Page 5: BDD - Collaboration & Hands-on practices
Page 6: BDD - Collaboration & Hands-on practices

“Here’s the water you’ve asked for, sir!”

Page 7: BDD - Collaboration & Hands-on practices
Page 8: BDD - Collaboration & Hands-on practices
Page 9: BDD - Collaboration & Hands-on practices

The Power of the 3 voices

The Voice of the Solution

The Voice of Quality

The Client’s Voice

Page 10: BDD - Collaboration & Hands-on practices

It’s all about:…

And Scenarios of course!

Page 11: BDD - Collaboration & Hands-on practices

Who writes the Scenarios and When?

Page 12: BDD - Collaboration & Hands-on practices
Page 13: BDD - Collaboration & Hands-on practices

A few tips & ideas

Page 14: BDD - Collaboration & Hands-on practices

Definition of Ready & Definition of Done- Definition of Ready- Definition of Done- 2 parallel boards

Page 15: BDD - Collaboration & Hands-on practices

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?

Page 16: BDD - Collaboration & Hands-on practices

Roles

- Do we need Developers in Test?- We are all developers - Testers you are still needed!!!

Page 17: BDD - Collaboration & Hands-on practices

• 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

Page 18: BDD - Collaboration & Hands-on practices

Test Pyramid (no Ice-Cream cones please!)

Page 19: BDD - Collaboration & Hands-on practices

- 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?

Page 20: BDD - Collaboration & Hands-on practices

“Given, Given, And, Then, When, Then…”

How about Fluent APIs then?

What if Gherkin language gets in the way?

Page 21: BDD - Collaboration & Hands-on practices

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

Page 22: BDD - Collaboration & Hands-on practices

CHERRY FRAMEWORK

http://cherryframe.work

Page 23: BDD - Collaboration & Hands-on practices

Thanks!You can find me at: @mamalisk

http://kostasmamalis.com

➜ ➜

http://magentys.io/blogs/

Page 24: BDD - Collaboration & Hands-on practices