+ All Categories
Home > Technology > 03/2012 - Popping the gherkin stack

03/2012 - Popping the gherkin stack

Date post: 18-Dec-2014
Category:
Upload: daveayan
View: 320 times
Download: 3 times
Share this document with a friend
Description:
 
33
Popping the Gherkin Stack Ayan Dave Terry Wiegmann, CBAP, CSQE
Transcript
Page 1: 03/2012 - Popping the gherkin stack

Popping the Gherkin Stack

Ayan DaveTerry Wiegmann, CBAP, CSQE

Page 2: 03/2012 - Popping the gherkin stack

February 16, 2012 – Today / Terry

• What is/are gherkin(s)?

• Examples of gherkins

• Reports after execution

• Screen shot captured for each click

• Executed within the Iteration

• Discussed at retrospectives

Page 3: 03/2012 - Popping the gherkin stack

Sample gherkins

• Goal Level:– Given that I am a Teacher– When I have students in my Classes– Then I should be able to see the same ConnectED content my

Students see• • Task Level:

– Given that I have created a class and have added students to it– When I open the book for that class– Then I should be able to access the same – Newsfeed that Student see

Page 4: 03/2012 - Popping the gherkin stack

Screenshots

Page 5: 03/2012 - Popping the gherkin stack
Page 6: 03/2012 - Popping the gherkin stack

February 16, 2012 – Today / Ayan

• Technologies used

• Java, Maven

• WebDriver, Cuke4Duke

• gherkin-salad – my pet project

• Automation using three browsers

• Chrome, FireFox, IE

• Automation in three environments

• DEV, QA, UAT

Page 7: 03/2012 - Popping the gherkin stack
Page 8: 03/2012 - Popping the gherkin stack

Flashback: October 10, 2011/Terry

• New team, new client site, new project

• Terry BA and QA: Ayan Lead Developer

• App, Browsers, System Environments

• Client Environment

• Pooled past experiences

• Challenges for agile teams, blending roles

Page 9: 03/2012 - Popping the gherkin stack

Flashback: October 10, 2011/Ayan

• Challenges as a Developer

• Use gherkins

• Gherkins as a shared language

• Possibility of Automation

• But no automation at this point

• To allow the team to ride the learning /

adopting curve

Page 10: 03/2012 - Popping the gherkin stack

Flashback: October 10, 2011/Terry

• Use gherkins to capture requirements,

acceptance tests

• Use gherkins to form test plans

• Write gherkins at the start of development

Page 11: 03/2012 - Popping the gherkin stack

Flashback: October 10, 2011 / Ayan

• Execute gherkins before the development

ends

• Definition of Done - Before the developer

calls a feature “done” the developer, QA and

BA would get together and manually run

through the gherkins

• Code Reviews are also done

Page 12: 03/2012 - Popping the gherkin stack

Flas

hbac

k: N

ovem

ber 1

4, 2

011

/Ter

ry

After

2 it

erati

ons

• 2 iterations, 0 defects

• Scenarios walked

through at the end of

development with BA

and Tester

• First version of

“gherkins”

Page 13: 03/2012 - Popping the gherkin stack

Initial Version of our gherkins / Terry

• Rolling Scenarios• Action Level gherkins• Data Preparation Scenarios

Page 14: 03/2012 - Popping the gherkin stack

Flas

hbac

k: N

ovem

ber 1

0, 2

011

/Aya

n

After

2 it

erati

ons

• Task and Action Level

gherkins

• Action levels are good

for certain audiences –

Help Desk, Writers,

Newbies

• Ready to try Task Level

Gherkins

Page 15: 03/2012 - Popping the gherkin stack

Task Level gherkins / Ayan

• Less element level interactions• Every task level instruction may translate to

multiple action level instructions

Page 16: 03/2012 - Popping the gherkin stack

Flas

hbac

k: N

ovem

ber 1

0, 2

011

/Ter

ry

After

2 it

erati

ons

• Used gherkins in show

and tell, business and

client is intrigued

• Questions came up that

how is this different

from QTP?

• No License :)

• Accessible to everyone

• Need Automation

• Traceability to

requirements in JIRA

Page 17: 03/2012 - Popping the gherkin stack

Traceability

• Adding the requirement ID in the feature and scenario text

Page 18: 03/2012 - Popping the gherkin stack

Flas

hbac

k: N

ovem

ber 1

0, 2

011

/Aya

n

After

2 it

erati

ons

• Can write groovy script to

create reports around

traceability

• Want to do automation in all

environments, all browsers

• Would do only Firefox and DEV

environment for next 2

iterations

• With Task Level gherkins we

would write code at action

level

Page 19: 03/2012 - Popping the gherkin stack

January 2, 2012 - Happy New Year!After 2 iterations & Nice Holiday Season

• We had more task level gherkins

• Gherkins and automation organized in SVN

• Found a Notepad++ plugin to assist in writing gherkins

Page 20: 03/2012 - Popping the gherkin stack

SVN Structure

Page 21: 03/2012 - Popping the gherkin stack

January 2, 2012 - Happy New Year!After 2 iterations & Nice Holiday Season

• Captured page structure information, Role, Component,

Element

• @manual features

• @wip features

• Want to do more automation in 3 browsers, 3 environments

• Created Execution Plans

• Created Data File

Page 22: 03/2012 - Popping the gherkin stack

Page Structure (one per application)

Page 23: 03/2012 - Popping the gherkin stack

Data File (for each environment)

Page 24: 03/2012 - Popping the gherkin stack

Execution Plan (one per environment)

Page 25: 03/2012 - Popping the gherkin stack

Automated Step

Page 26: 03/2012 - Popping the gherkin stack

Automated Step

Page 27: 03/2012 - Popping the gherkin stack

February 16, 2012 – Back to Today, After 2 Iterations

• Here we have a process with 0 defects, well

running and adapted to

• A running process

• Running in 3 browsers

• Running in 3 environments

• Scheduled run at 6 in evening

Page 28: 03/2012 - Popping the gherkin stack

February 16, 2012 – Back to Today, After 2 Iterations

• Added the following features

• Capturing screenshots

• Archiving the results

• Specific browser usage

Page 29: 03/2012 - Popping the gherkin stack

What Do We Jump Over next?

• Capture scenarios as we are talking to

business and run it by them, if possible

• Involve client Testing/QA team in our

processes

• Ensuring scenario and test coverage

• Ensuring complementary scenarios

Page 30: 03/2012 - Popping the gherkin stack

What Do We Jump Over next?

• Support for ipad?

• Simplify the maintenance of gherkins including

execution plan, page structure and data file

• Automatic conversion of Task Level gherkins to

Action Level Gherkins?

• Automatically generating gherkins from

models?

Page 31: 03/2012 - Popping the gherkin stack

Credits

All of this is not something that we could have

done by ourselves. It is a team effort.

• Development Team: Chai Thatipamula, Sakshi

Vaghela, Pallavi Jain

• Project Manager: Demetrius Jackson

• Team at the Client Location

Page 32: 03/2012 - Popping the gherkin stack

Contact

• Ayan Dave• @daveayan

• http://projects.daveayan.com

• http://daveayan.com

• Terry Wiegmann, CBAP, CSQE• @twieg

[email protected]

Page 33: 03/2012 - Popping the gherkin stack

Recommended