SlideShare a Scribd company logo
1 of 38
def test = new
BDDMadeEasy(Selenium,
EasyB,Groovy)
Rajiv Narula



www.rajivnarula.com
About you...

Java ?

Groovy ?

BDD ?

EasyB ?
Agenda


BDD

In action

Interruptions...solicited
What is BDD ?
A little bit of history
Dan North
“How will the software behave under specific conditions ?”
Traditional documents
 Requirement Specs    Use Cases

 Functional Specs     Flow Charts

 Stories              Many more…
The problem…
“How should the software behave under specific conditions ?”
BDD offers…A template for defining behavior
The template
Pre-conditions

Steps

Expected behavior
An example
Given some precondition

When some action by the actor

Then some testable outcome is achieved
Another Example
Given some precondition
And some other precondition
When some action by the actor
And some other action
And yet another action
Then some testable outcome is achieved
And something else we can check happens too
easyB Script
description "As simple as it gets"

scenario "Testing easyB setup",{
        given "there is some precondition"
        when "some steps are performed"
        then "result can be validated"
}
Executable Requirements
What’s the big deal ?
Define the behavior of the software
The Three Amigos
Product OwnerBA
Developer
Tester
Old way-multiple documents
New way- singluar document
Collaboration
Business friendly
testing report
Tractability matrix
on steroids
Technologies


Groovy

easyB

Selenium
Groovy
Language for the JVM
Compiles to java byte-code
Excellent compatibility with Java
Syntax similar to Java
Wrap up
So what’s great about BDD- one more time ?
Alternate technologies
 Cucumber
 Jbehave
 Cuke4Duke
 RSPec
Questions ?
Follow-up


dannorth.net

easyB.org

groovy.codehaus.org

http://goo.gl/eQoqU (Bookmarks on Delicious)

www.rajivnarula.com

@rajivnarula

rajiv@rajiv.narula.com
def test = new BDDMadeEasy(Selenium,EasyB,Groovy)

More Related Content

Similar to def test = new BDDMadeEasy(Selenium,EasyB,Groovy)

Curriculum outline
Curriculum outlineCurriculum outline
Curriculum outlineDipin Sharma
 
OSMC 2009 | Application Monitoring - Bridging the gap... by Michael Medin
OSMC 2009 |  Application Monitoring - Bridging the gap... by Michael MedinOSMC 2009 |  Application Monitoring - Bridging the gap... by Michael Medin
OSMC 2009 | Application Monitoring - Bridging the gap... by Michael MedinNETWAYS
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
Behavior-Driven Design: One Team's Exploration
Behavior-Driven Design: One Team's ExplorationBehavior-Driven Design: One Team's Exploration
Behavior-Driven Design: One Team's Explorationdtcoutu
 
Introducing Infrastructure Mapping: Helping DevOps Design Infrastructure
Introducing Infrastructure Mapping: Helping DevOps Design InfrastructureIntroducing Infrastructure Mapping: Helping DevOps Design Infrastructure
Introducing Infrastructure Mapping: Helping DevOps Design InfrastructureDaamon Parker
 
Agile JavaScript Testing
Agile JavaScript TestingAgile JavaScript Testing
Agile JavaScript TestingScott Becker
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bddantannatna
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain Java
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain JavajSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain Java
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain JavajSession
 
MongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataMongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataChris Richardson
 
軟體測試是在測試什麼?
軟體測試是在測試什麼?軟體測試是在測試什麼?
軟體測試是在測試什麼?Yao Nien Chung
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!vodQA
 
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Vladimir Bacvanski, PhD
 
Quick start with AngularJS
Quick start with AngularJSQuick start with AngularJS
Quick start with AngularJSIuliia Baranova
 
GDSC Backend Bootcamp.pptx
GDSC Backend Bootcamp.pptxGDSC Backend Bootcamp.pptx
GDSC Backend Bootcamp.pptxSaaraBansode
 
Spring db-access mod03
Spring db-access mod03Spring db-access mod03
Spring db-access mod03Guo Albert
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
Javascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end DevsJavascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end DevsChris Powers
 

Similar to def test = new BDDMadeEasy(Selenium,EasyB,Groovy) (20)

Curriculum outline
Curriculum outlineCurriculum outline
Curriculum outline
 
OSMC 2009 | Application Monitoring - Bridging the gap... by Michael Medin
OSMC 2009 |  Application Monitoring - Bridging the gap... by Michael MedinOSMC 2009 |  Application Monitoring - Bridging the gap... by Michael Medin
OSMC 2009 | Application Monitoring - Bridging the gap... by Michael Medin
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Behavior-Driven Design: One Team's Exploration
Behavior-Driven Design: One Team's ExplorationBehavior-Driven Design: One Team's Exploration
Behavior-Driven Design: One Team's Exploration
 
Introducing Infrastructure Mapping: Helping DevOps Design Infrastructure
Introducing Infrastructure Mapping: Helping DevOps Design InfrastructureIntroducing Infrastructure Mapping: Helping DevOps Design Infrastructure
Introducing Infrastructure Mapping: Helping DevOps Design Infrastructure
 
Agile JavaScript Testing
Agile JavaScript TestingAgile JavaScript Testing
Agile JavaScript Testing
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bdd
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain Java
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain JavajSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain Java
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain Java
 
MongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataMongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring Data
 
軟體測試是在測試什麼?
軟體測試是在測試什麼?軟體測試是在測試什麼?
軟體測試是在測試什麼?
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!
 
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
 
Quick start with AngularJS
Quick start with AngularJSQuick start with AngularJS
Quick start with AngularJS
 
GDSC Backend Bootcamp.pptx
GDSC Backend Bootcamp.pptxGDSC Backend Bootcamp.pptx
GDSC Backend Bootcamp.pptx
 
Spring db-access mod03
Spring db-access mod03Spring db-access mod03
Spring db-access mod03
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Javascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end DevsJavascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end Devs
 
Oop java Concept
Oop java ConceptOop java Concept
Oop java Concept
 

def test = new BDDMadeEasy(Selenium,EasyB,Groovy)