test your service not your ui

30
Test your service not your UI By Vijay and Supriya

Upload: thoughtworks

Post on 15-Jan-2015

86 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Test Your Service Not Your UI

Test your service not your

UI By Vijay and Supriya

Page 2: Test Your Service Not Your UI

Meet Tejal

Tejal– Six yrs in QA

Automation Expert

Tools that she uses

Selenium, Watir and QTP

Attends Conferences

Nickname – “Bug Hunter”

Page 3: Test Your Service Not Your UI

How does Tejal test? Browser

Selenium

U

I

L

A

Y

E

R

Page 4: Test Your Service Not Your UI

Tejal wants to test the movie

booking flow

Page 5: Test Your Service Not Your UI

Her automation approach

Page 6: Test Your Service Not Your UI

What’s troubling Tejal?

Page 7: Test Your Service Not Your UI

Tests are High Maintenance

• Change in UI

Page 8: Test Your Service Not Your UI

Tests are Flaky

• Page load handling

• Ajax

Page 9: Test Your Service Not Your UI

Longer Time to execute

100 tests take 3 hours to

execute

Page 10: Test Your Service Not Your UI

Tool Limitations

Handling custom controls

Handling modal dialogs

Page 11: Test Your Service Not Your UI

Tejal needs Ideas

Page 12: Test Your Service Not Your UI

Tejal attends vodQA in Pune

Page 13: Test Your Service Not Your UI

Tejal meets Ram And explains to him

her sob story

Page 14: Test Your Service Not Your UI

Meet Ram

Ram – 8 yrs in QA

Automation Expert

Tools used – Selenium, QTP,

Watir, Fitnesse

Likes to try new things

Page 15: Test Your Service Not Your UI

How does Ram test? Browser

Selenium (For Smoke testing only)

Service Layer

U

I

L

A

Y

E

R

Regression tests written at

service layer

Database Layer DB

Page 16: Test Your Service Not Your UI

Ram’s automation approach

SearchMovieService(City, TheatreName, MovieName,

Date, Time, NoOfSeats).

SelectSeats(A1, A2, A3).

MakePayment(CardNo, CardExpiry, Pin).

VerifyConfirmation();

Page 17: Test Your Service Not Your UI

What are the benefits?

Page 18: Test Your Service Not Your UI

Shorter time to execute

• No browser/application

startup

• Devoid of elements

• Tests run “super fast”

Page 19: Test Your Service Not Your UI

Only needs an IDE

No tool limitations

xUnit framework

Page 20: Test Your Service Not Your UI

Tests are Low Maintenance

• Business process seldom

changes

Page 21: Test Your Service Not Your UI

Manual Exploratory testing

• Automating tests is faster

• More time for

exploratory testing

Page 22: Test Your Service Not Your UI

Wait, Tejal has some questions …

Page 23: Test Your Service Not Your UI

What should be covered as part of Service

testing?

Page 24: Test Your Service Not Your UI

What happens to UI Functionality

testing?

Page 25: Test Your Service Not Your UI

Are you not duplicating tests created by Devs?

Page 26: Test Your Service Not Your UI

Tejal is now happy

Page 27: Test Your Service Not Your UI

The End

And tejal started testing happily ever after

Page 28: Test Your Service Not Your UI

Our Experiences

• Changing mindset wasn’t easy

• 20 Regression E2E tests which run in ~4 minutes

• Entire regression suite would run after every

developer check-in

• Tests were written before UI was ready

Developer Speak

Service tests by our QAs caught some really good

bugs. – Ashish Sharma (Developer)

Page 29: Test Your Service Not Your UI

To Summarize…

Service testing is a

concept worth exploring

Treating the service as an

application which

deserves its own suite of

tests

Both need to co-exist

Page 30: Test Your Service Not Your UI

Questions