Top Banner
STOP! You’re automating too much! (and other tales from the field)
47
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Stop!  you're testing too much

STOP! You’re automating too

much!(and other tales from the field)

Page 2: Stop!  you're testing too much

My name is Shawn and

I’m a software

developer

Page 3: Stop!  you're testing too much
Page 4: Stop!  you're testing too much

Why is test automation

a good idea?

Page 5: Stop!  you're testing too much

Our existences are about

precise communication...and

communication is about

feedback loops

Page 6: Stop!  you're testing too much

Our existences are about

precise communication...and

communication is about

feedback loops

Page 7: Stop!  you're testing too much

Why Acceptance Test Automation?

• Implementing changes more efficiently

• Shortened feedback loop

• Higher product quality

• Less rework

• Better work alignment to priority

• Helps make systems easier to modify

Page 8: Stop!  you're testing too much

Why Acceptance Test Automation?

• Implementing changes more efficiently

• Shortened feedback loop

• Higher product quality

• Less rework

• Better work alignment to priority

• Helps make systems easier to modify

Page 9: Stop!  you're testing too much
Page 10: Stop!  you're testing too much

Part of the process…

Page 11: Stop!  you're testing too much

Can my team benefit?

We can improve design going forward

The goal is writing working

code/providing value

Page 12: Stop!  you're testing too much
Page 13: Stop!  you're testing too much

How do I get started?

Page 14: Stop!  you're testing too much

How do I get started?

1. Test KEY use cases

2. Test defects

3. Test new features

Page 15: Stop!  you're testing too much

What should I

automate?

Page 16: Stop!  you're testing too much

What should I automate?

• You are testing the behavior of your system

• What do you need to test to determine if your

system is behaving?

• Regression is a side-effect

Page 17: Stop!  you're testing too much

Don’t forget your testing triangle

Page 18: Stop!  you're testing too much

• Deliberately test your system at the physical boundaries

• Know what your system does and how it works

• Collaborate! Collaborate! collaborate!

Page 19: Stop!  you're testing too much

Where does automation

fit in with our process?

Page 20: Stop!  you're testing too much

WWTDDD

We define our Acceptance Criteria

AND

Encode them as Acceptance Tests

Page 21: Stop!  you're testing too much

What solution and

architectural dependencies

am I driving?

Page 22: Stop!  you're testing too much

• Poorly designed or implemented systems tend to be

hard to test

• Code under test might need to be refactored

• Test suite could be inefficient

Page 23: Stop!  you're testing too much

Case Study in Pain

• Huge Automated Functional Test Run

• 5500+ Scenarios

• 550+ Hours to Execute

Page 24: Stop!  you're testing too much

Case Study in Pain

• Huge Automated Functional Test Run

• 5500+ Scenarios

• 550+ Hours to Execute

Page 25: Stop!  you're testing too much

Automated Functional Test Running Infrastructure

Page 26: Stop!  you're testing too much

1 Team1.5 Years

$1,000,000

Page 27: Stop!  you're testing too much

Test code IS code

Page 28: Stop!  you're testing too much

Testing takes time and

resources and requires a skill-

set you might not have yet.

Page 29: Stop!  you're testing too much

How will I run my

tests?

Page 30: Stop!  you're testing too much

How will I run my tests?

Page 31: Stop!  you're testing too much
Page 32: Stop!  you're testing too much

What do I do with all of

the data?

Page 33: Stop!  you're testing too much

What do I do with all of the

data?

• Test automation generates a ton of data…not all

good

• Need a way to store, filter and make visible

Page 34: Stop!  you're testing too much
Page 35: Stop!  you're testing too much

Do I always run ALL of

my tests?

Page 36: Stop!  you're testing too much

DEVELOPMENT

PRODUCTION

MAINLINE

Merge

Merge

Run subset of all automation

Run entire suite

Run smoke tests

Page 37: Stop!  you're testing too much

Do I need to keep my

tests forever?

Page 38: Stop!  you're testing too much

ATDD tells us that you do…

Page 39: Stop!  you're testing too much

Practically, some tests are

better for development

than for regression

Page 40: Stop!  you're testing too much

How will I know if I’m

doing a good job?

Page 41: Stop!  you're testing too much

Understand your goals

Page 42: Stop!  you're testing too much

What does success mean

in your environment?

Page 43: Stop!  you're testing too much
Page 44: Stop!  you're testing too much

That’s all…

Page 45: Stop!  you're testing too much
Page 46: Stop!  you're testing too much

Shawn

WallaceWork:

shawn.wallace@centricconsulting.

com

Twitter: @ShawnWallace

Blog: blog.shawnewallace.com

http://www.about.me/shawnwallace

Page 47: Stop!  you're testing too much

Q&A

For more information...

• This Presentation on GitHub

– https://github.com/shawnewallace/testing_too_much_presentation• cukes.info

• Gojko Adzic

– cuke4ninja.com

– Specification by Example

• https://github.com/aslakhellesoy/cucumber/wiki

• http://groups.google.com/group/cukes

• http://www.cheezyworld.com

• The Cucumber Book, Matt Wayne, Aslak Hellesøy:

http://pragprog.com/book/hwcuc/the-cucumber-book

• The Rspec Book, David Chelimsky:

http://www.pragprog.com/titles/achbd/the-rspec-book