The Automated Tester
Jonathan Rasmusson

Agenda•Why?

•The Automated Tester Role•

Options for getting there

Software is eating the world

Agile is disruptive

Business Analyst

+10 Million lines of code
700 Engineers
3 Release Engineers

No QA department

UX

And yet somehow these things
magically get done.

Industrial

Just not in the way we are used to seeing.

Traditional QA
I only test.

Everyone is a tester
DEV PMQA

UXBA

Roles eating QA lunch

Traditional QA?

Three options

ResistLa La La…

Status quoCorporate Scrum

Level Up!

The Automated Tester•What is this role?

•How does it work?

•What makes a good AT?

•Skills requiredDefn: Automated Tester
Any tester with the technical skill
to automate their own tests.

Instead of …
Can someone Please automate
these for me?

QAIndependence
I can automate these myself!

Instead of …
Guess I better grind through myregression test plan...

Enabling
I can automate this. i’ve got
more interesting stuff to test!

Record/playback

Writing CodeThe goal isn’t automation
More on this later…

Empowering QA

To harness the power of automation.
To do more/better testing.

This role doesn’t exist
in a vacuum.
It’s a partnership between developers and QA.

The Gap
I’ve got my tests...

And I’ve got mine...

duplication
gaps
inefficiencies
lack of trustClosing the Gap

less duplication
fewer gaps
better test suites
increased confidence
faster feedback

Life of a story
DEV

Iteration (n)QA

Developer
Code
Automated Tests
Text Fixtures

Iteration (n)Tester

Iteration (n)Test plan
Manual test
Automation

Developer/Tester
What I tested...

Iteration (n)what I’m
Thinking…

The Magic•

What to automate•

How best to automate•

Avoid duplication

•

Gaps?

Informed decisions

What makes a good AT?

•Ability to Go Deep•

Skilled Automation•

Think of Big picture

Going Deep

Thoroughness

Permutations &Combinations

Attention to detail
Exploratory
Edge cases

I  wonder…

Favorite
Question

Wizdom

WhenTechnology

WatirMad
SpockAutomation

Rspec

SkillzWeb Driver
Testing triangle

When not toThinking Big

Traps & Pitfalls

Traps & Pitfalls•

Automating everything•

Automating in isolation

Every test has a cost.
The goal isn’t to automate everything.

Respect the triangle

Isolation

Needs to be collaborative
Don’t leave QAs off to do this alone.

Joint maintenance
Shared responsibility
Watch feedback loop!
Setup
DesignCode skills

Good tests
Automation

How do I get there?

Build apps
HTML/CSSJavaScript

HTTP<insert language>
Ruby,C#,Java,Python

EditorHelloWorld
SQLBefriend a developer
Setup
Fixtures
Examples“Can  I  help?”

Get Uncomfortable

StartPick a framework and Go!
Frank (iOS)

RSpec

Selenium

WebDriver

Spock
Watir

<insert framework>

One challenge

Summary•

Automation is here (it’s here to stay)•

QA has a lot to offer and should be a part of it•

Great opportunity•

Valuable member of any software teamLearn More•

•

•

•

-Blog
agilewarrior.wordpress.com
Twitter@jrasmusson
Emailjonathan@agilewarrior.com
Agile Introagilenutshell.com

Questions/Discussion

Questions of my own•

How many of you are actively doing this at yourcurrent companies?

•

What are the pain points/challenges you areexperiencing along the way?

•

Is this something you would recommend others getinto? Why or why not?

•How did you get started?

AppendixUnit Tests•

Low, code level tests•

Typically written by developers•

Fast, very precise•

Used for Test-Driven Development (TDD)•

xUnit (JUnit, NUnit, miniTest)Integration Tests•

Higher-level•

Span layers of an architecture•

Ensure things are hooked up•

Data access•

Mocked out for performanceUI Tests•

Highest-level / End-to-end•

Test whole stack•

Expensive to run•

Orders of magnitude slower•

Use sparinglyUnit Tests

Integration/UI Tests

Ruby Watir

Custom DSLs
Roll your own

For example
Can I login? Does this page load?

Can I save this high score
to the database

Does this deck have
52 cards?