how to bdd with concordion

23
Agile XP TDD BDD

Upload: amikitas

Post on 19-Nov-2014

2.313 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: How to bdd with concordion

Agile XP TDD BDD

Page 2: How to bdd with concordion

TDD (test-driven development)

XP

Page 3: How to bdd with concordion

TDD development cycle

Page 4: How to bdd with concordion

We can relax, don’t we?

Page 5: How to bdd with concordion

{How to :get feature within sprint?write requirements in “Agile”?know when you are DONE?know that implemented feature is one you were asked to?…

.. but questions still occur:

Page 6: How to bdd with concordion

Feel difference

Page 7: How to bdd with concordion

Where to start What to test What not to test How much to test

Everyone wanted to know: 

Page 8: How to bdd with concordion

Where are the drugs?

Page 9: How to bdd with concordion

BDD(Behavior-Driven Development)

Page 10: How to bdd with concordion

User story – Business value

Scenarios – Acceptance Criteria

Scenarios are executable – automated tests

Page 11: How to bdd with concordion

BDD solution

Given

When

Then

Page 12: How to bdd with concordion

Title <feature>As a [role]

I want [some action to be taken]

so that [I derive some business

value]

USER STORY template

Page 13: How to bdd with concordion

Title: Registered user should have ability to send message to Assure info center.

As a registered user,

I want to ask Assure about new feature,

so that I want to get Contact Us page to send proper message

Page 14: How to bdd with concordion

Given some initial context (the givens),

When an event occurs,

Then ensure some outcomes.

ACCEPTANCE CRITERIA Template

Page 15: How to bdd with concordion

Scenario 1: Registered user should have ability login to the system.

Given opened Assure login screenAnd there is Assure user with valid credentials

When user enters credential to username and password fields and clicks Login button

Then user’s home page is openedAnd Contact Us link is visible

Page 16: How to bdd with concordion

Scenario 2: Logged in user should have ability to send message to info center.

Given opened user’s home page

When user clicks on Contact Us link

Then Contact Us page is openedAnd Submit button appears

Page 17: How to bdd with concordion

Step 1. Write acceptance tests in a natural language that non-programmers can read.

Step 2. Run tests to identify to what tests code is not implemented yet

Step 3. Implement absence code (functionality).

Step 4. Run tests once again and be sure that all tests are passed, repeat step 3 if needed.

BDD workflow

Page 18: How to bdd with concordion

Benefits:

Natural language that non-programmers can read

Focus on business value

Implement just enough to satisfy acceptance criteria

Improved communication

Page 19: How to bdd with concordion

Instruments:

RSpec Cucumber Jbehave PHP Spec Fitnesse Concordion

Page 20: How to bdd with concordion

CONCORDION.. how it works?

Page 21: How to bdd with concordion

DEMO

Page 22: How to bdd with concordion

Retrospective

Page 23: How to bdd with concordion