SlideShare a Scribd company logo
1 of 67
ALN DC Chapter Meeting
            March 2012


Agile Testing for Mere Mortals
     Presented by Dave Haeffner
ALL BOOKS OR SERVICES MENTIONED OR
RECOMMENDED ARE COOL AND WORTH SHARING.
 DAVE IS NOT AFFILIATED WITH THEM IN ANY WAY
               SHAPE OR FORM.

 IF ANYONE HAS A MEDICAL CONDITION, OR IS
ALLERGIC TO FIRE, DON'T SIT IN THE FRONT ROW.

   AND PLEASE, FEEL FREE TO ASK QUESTIONS
               THROUGHOUT.
Show of hands -- How many of you are human
beings?
Keep them up. Ah, good we have our control.
Keep your hand up if you've had experience with
Agile Testing, QA… or Automated Web Testing.
OK. Keep your hand up if the thought of it leaves a
bad taste in your mouth.

Look around. You're not alone.

Thanks for coming out.
A little bit about me…
While working at The Motley Fool, I accidentally ended up in
this profession.
I used to be in IT Operations -- a Systems Administrator.
Through a twist of fate, I ended up trying out QA for a change
of pace. It was supposed to be temporary…
That was over 3 years ago…
When I started out, I had a lot of questions. A big one was --
"Ummmm, what is Agile Testing?”

I'd like to share with you some of what I've learned since
then. It should only take about 5 minutes.

And I'll deliver it in 3 parts so it's more digestable -- So I'll give
you the text book version, the "street" version, and
Automation.
I tend to leave Automation last because it's a good excuse to read you a quote. This
one's from Randy Pausch's "The Last Lecture":

"No, I did not make it to the National Football League, but I probably got more from
that dream and not accomplishing it than I got from any of the ones that I did
accomplish. I had a coach, I signed up when I was nine years old. I was the smallest
kid in the league, by far. And I had a coach, Jim Graham, who was six-foot-four, he
had played linebacker at Penn State. He was just this hulk of a guy and he was old
school. And I mean really old school. Like he thought the forward pass was a trick
play. So, we showed up for practice the first day, and you know, there’s big hulking
guy, and we were all scared to death of him. And he hadn’t brought any footballs.
One of the other kids said, excuse me coach, but there’s no football. And Coach
Graham said, right, how many men are on a football field at a time? Eleven on a
team, twenty-two total. And Coach Graham said, all right, and how many people
are touching the football at any given time? One of them. And he said, right, so
we’re going to work on what those other twenty-one guys are doing. And that’s a
really good story because it’s all about fundamentals. Fundamentals, fundamentals,
fundamentals. You’ve got to get the fundamentals down because otherwise the
fancy stuff isn’t going to work.”

Let's dig in.
Ah, Agile Testing -- The White Whale of the Agile
World. Everyone knows it exists, but it can be hell
on earth to catch it. If you're successful, the
benefits are *massive*. If you fail, then your
abilities as a team can be severely limited, even if
you don't know it.

So let's unpack the idea of "Agile Testing" and focus
on what it is, it's key elements, and the key players
involved in it's delivery. For this, I'm going to consult
"The Book"
Agile Testing -- what is it?

Here's a good definition -- "doing the simplest tests
possible to verify that a piece of functionality exists
or that the customers' quality standard (e.g.
performance) has been met”. Sounds simple
enough, but there's obviously more to it, or else
you wouldn't all be here.

I look at that definition as the outcome you want.
But you can't get there by dictating it from the top-
down. It requires more... finesse.
Team
Crispin & Gregory advocate that you should put it to
the team, letting them work together to come up
with a "software quality strategy". They go on to
abstract this concept further, saying you need to
keep stoking that initial fire, and evolve it into a
"Quality Philosophy" -- making software quality a
part of the team's DNA -- or else your efforts will
not be as effective.
!   Team
While a main tenant of Agile Testing is a whole team
focus, Crispin & Gregory really emphasize the
importance of the "Tester" or "QA” role (they use both
names interchangeably). Their primary responsibilities
are varied, and include:
* Seeing the big picture, looking at the application
more from a user or customer point of view
* Being an integral member of the customer team --
helping elicit requirements and examples, and helping
the customers express their requirements as tests
* Being embedded on the developer team
* Should look for unique ways to facilitate
communication
x^3
One tool for facilitating communication is The
Power of Three, or (since I was just in Costa Rica)
The Three Amigos. NEXT SLIDE
3 amigos
It means that all discussions about a feature
need to have a Developer, a QA, and the Product
Owner present. And it is the responsibility of
each person to make sure that each group is
properly represented.
Value & Risk



Team     Bridge
So if you follow their model and have successfully ignited a
passion for quality -- then you should have an autonomous
whole team approach to quality and someone on the team
working to help bridge the gap between tech & biz. If you
take this and keep it simple, focusing on value for the
business, then things start to get interesting.

(Here's a quote -- "while we have skills to identify test cases
beyond the 'happy path' we still need to start by making sure
the happy path works.")

Seems simple enough. Let's all do that.

While it sounds simple, it's not easy. Because let's be honest,
Agile Testing is a lot like the classic 1981 video game "The
Oregon Trail”
Think about it…

It's a long journey (takes time)
You think you know where you're heading -- greener pastures and
so on (everyone talks about it – a UTOPIA)
You try to make it while keeping your family together (whole
team)
Only to be attacked by natives along the way (funding, politics,
other priorities, technology woes)
And you'll likely end up dying of dissentary (give up and stick with
the status quo)

Let’s draw some parallels (above in parens)

But all joking aside, there are additional challenges that prevent
Agile Testing from working. Here are some more subtle ones
When dealing with building out QA, you’ll find you
need both a technical and analytical set of
resources. Such skills exist in a single person, but
it’s hard to find. And odds are, they won’t stay in
the QA role for long. Unless they’re 6’2” with
brown hair and has a coffee obsessions

An approach to work around this is, pick one, and
leverage other resources to fill in the gaps. (e.g.
what The Fool did) – makes staffing *a lot* easier
Need more QA’s and having trouble sourcing
external candidates?

Higher from w/in – Customer Service is an
excellent place

And why not? They know your product inside
and out and interact with your customers on a
regular basis
Throwing it over the wall *shudder*

The problem is that often times the feedback that
QA’s give to developers is out of band with their
work flow
And there’s often not enough QA’s to go around,
they are spread too thin, and not truly embedded
on the team

The short game - use a CI server
The long game – use a CI server and get the team
using ATDD and well written step definitions (more
on this later)
“The one thing worse than screwing up, is
screwing up and thinking you’re doing well.”
 – J.B. Rainsberger
In antithesis of this, Dev's treat QA Regression as
a safety net w/o knowing what is actually covered,
QA's do the same for unit tests

I say we get rid of the words "regression" and
"smoke". I've found that they tend to mean
different things to different people
Effectiveness = Quality * Acceptance
But also, you need to tie behavioral and process
change back to value
That way you can motivate people in the right
direction w/o forcing it – autonomy will reign
supreme

Start with why, then sort out the how and what
This will help your effectiveness formula – have
you heard of this formula?
(Effectiveness = Quality * Acceptance)
QA as a gatekeeper & defects still getting out?

Try a Proper process
Pre

                                                                                                Often times, things get released
                                                     Stories reviewed , if issues found,        that bypass the previous steps
                                                     kicked back to Devs
   Story Discussion, Sprint Goals,                                                              This reinforces a passive acceptance
                                                     Happens more often that you think          of the inefficiencies of our process
    Sizing, Tasking, and a dash of
Definition of Done (depending on
                                                     Automated tests written here               It’s time for a change
                        the team)




         IDEATION         Planning       WIP           QA         Review          Done      Released       EXISTENCE




                Work’s done! Time to throw it over                   Business Owner review, if they find
                             the wall to be “QA’d”                   an issue – it gets kicked back to
                                                                     Devs

                                                                     Sometimes happens without QA
                                                                     knowing – causing duplicative
                                                                     effort and additional context
                                                                     switching for Devs
Post
                  Create Acceptance Tests                 Can be done at the same time

                Becomes the Specification                 Batches feedback for Dev

Magically becomes an automated web test                   Expl. Testing done by QA (or someone that didn’t work on the story)

Require rep’s. from each group (Biz Owner,                Review done by Stakeholder
                            Dev, QA, UXD)




                                   Shovel            Exploratory
    IDEATION        Planning                  WIP                      Review         Done        Released   EXISTENCE
                                   Ready               Testing

                This is *the* most important PART



           Automated Acceptance Tests need to pass                 Everyone can rest easy, because this
                               in order to proceed                       software is high quality baby!
My train of thought spawned from a
tremendously good read by Gojko Adzic where
he introduced me to the concept of ATDD

It solves so many problems and just makes so
much sense.

Different dialects from team to team & btwn biz
& tech? create a ubiquitous language
If you get this right, then you win the game, you
have completed the oregon trail and did not die
of dysentary
RED
Test            Code
                       GREEN
                       REFACTOR
                       (repeat)
       Commit



  Given <precondition(s)>
    When <action>
      Then <result>
Automation frees
                                                                                    you to do more
                                                                                    exploratory testing!



                                                                                         Acceptance Test
                                                                                         Driven
                                                                                         Development
                                                                                         (ATDD) or BDD

                                                                                              Test Driven
                                                                                              Development
                                                                                              (TDD)




http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/
Not ready to automate? That’s fine.
If you start to capture new features in the gherkin
syntax, you will be heading in the right direction.
It will act as a communication and collaboration
tool between your team and the business.
And it will enable you to have a shared, ubiquitous
language that business and tech can both agree on
and understand
If you add automation later, then you get the
retroactive benefit of already captured features.
Traditionally w/ automated web testing using a
free tool like Selenium there were two paths

IDE -> big sweet -> slow -> brittle -> false
positives

IDE -> RC -> abstraction, logic, smarter ->
more technical (read “custom testing harness”)

And the big complaint among Devs is that it’s
too slow – they call it full stack testing since it
loads the browser to execute
The funny thing about Selenium

Jason Huggins built Se to solve a problem
much like Nike, then founded a company to
solve the problem he created.
By Aslak Hellesøy
Right around the same time, Cucumber came
about. It’s a ruby implementation of BDD. It enables
you to automate gherkin feature sets

Where Gojko evolved the approach of Crispin &
Gregory
Aslak provided automation for Gojko’s approach to
capturing features
And you can drive Selenium through Cucumber
And push it to the cloud, or run things parallel
locally
By taking the ATDD & Cucumber (or other BDD
implement) route, you short-circuit the entire
headache chain that has plagued Agile Testers that
have gone before you

Granted, there are new challenges, given that the
step definitions need to be crafted to fit the context
of your environment, and that is code. But the
benefits, IMO, greatly outweigh the cost
But but…
I often get the question – but what if we need to
move fast? Or have a legacy code base? We
don’t have time for this, what do you
recommend?
Focus on the 3 buckets

1) SETI
  Are the foundational pillars of your system alive
  and responding?

2) Money Makers
   What in your app is responsible for directly
generating value to the business? Focus on that.

3) Back breakers
   Watch out for that hole in the Death Star
Keep it simple

This advice is more for people who are
going to be writing the glue code

Focus on IDs -- XPath is a last resort

Hard to test apps are a symptom of poor
design
Take steps towards speed (and long term
sanity)

Make each test scenario fast – 1-2 min

Keep them autonomous (e.g. unique accounts,
set up built in, no cross dependencies, etc.)

Single assertions per scenarios

One interpretation of test results
The prior will make parallelization possible

Options abound for both local and cloud
offerings
But all that feedback is pretty useless unless
you do something with it

Build a feedback loop

Make sure that developers are getting
feedback in line with their work flow, else
hear the dreaded words "Works on my
machine"
A checklist for you
Make Quality The Whole Team’s responsibility
Tie things back to Why
Build a ubiquitous language
Promote from within
Keep it simple
Focus on the 3 buckets (SETI, Money Makers,
 Back Breakers)
Parallelize for speed
@TourDeDave



http://www.slideshare.net/tourdedave

More Related Content

What's hot

How to Test Anything
How to Test AnythingHow to Test Anything
How to Test AnythingJames Thomas
 
Scaling Agility
Scaling AgilityScaling Agility
Scaling AgilityCory Foy
 
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented ArchitectureLessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented Architecturemdwheele
 
Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Mikalai Alimenkou
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Zohirul Alam Tiemoon
 
The Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road MapThe Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road MapTechWell
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testingHuib Schoots
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareChris Weldon
 
Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with AutomationJames Thomas
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In ActionJon Kruger
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romaniaOpenAgile Romania
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingTechWell
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Developmentsatya sudheer
 
Waterfalls for agile cambridge
Waterfalls for agile cambridgeWaterfalls for agile cambridge
Waterfalls for agile cambridgeSteve Wells
 
TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingMaaret Pyhäjärvi
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bagSteve Wells
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven DevelopmentViraf Karai
 
Choosing Between Scrum and Kanban - TriAgile 2015
Choosing Between Scrum and Kanban - TriAgile 2015Choosing Between Scrum and Kanban - TriAgile 2015
Choosing Between Scrum and Kanban - TriAgile 2015Cory Foy
 

What's hot (20)

How to Test Anything
How to Test AnythingHow to Test Anything
How to Test Anything
 
Scaling Agility
Scaling AgilityScaling Agility
Scaling Agility
 
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented ArchitectureLessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented Architecture
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
 
The Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road MapThe Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road Map
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with Automation
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In Action
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romania
 
Things Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression TestingThings Could Get Worse: Ideas About Regression Testing
Things Could Get Worse: Ideas About Regression Testing
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Development
 
Waterfalls for agile cambridge
Waterfalls for agile cambridgeWaterfalls for agile cambridge
Waterfalls for agile cambridge
 
TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testing
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bag
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 
Choosing Between Scrum and Kanban - TriAgile 2015
Choosing Between Scrum and Kanban - TriAgile 2015Choosing Between Scrum and Kanban - TriAgile 2015
Choosing Between Scrum and Kanban - TriAgile 2015
 

Viewers also liked

How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
Full Stack Testing Done Well
Full Stack Testing Done WellFull Stack Testing Done Well
Full Stack Testing Done WellDave Haeffner
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with SeleniumDave Haeffner
 
Cucumber Crash Course
Cucumber Crash CourseCucumber Crash Course
Cucumber Crash CourseDave Haeffner
 
Open Source Investing
Open Source InvestingOpen Source Investing
Open Source InvestingDave Haeffner
 
How To Find Information On Your Own
How To Find Information On Your OwnHow To Find Information On Your Own
How To Find Information On Your OwnDave Haeffner
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)Dave Haeffner
 
Selenium Tips & Tricks
Selenium Tips & TricksSelenium Tips & Tricks
Selenium Tips & TricksDave Haeffner
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupSelenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupDave Haeffner
 
Pivotal Failure - Lessons Learned from Lean Startup Machine DC
Pivotal Failure - Lessons Learned from Lean Startup Machine DCPivotal Failure - Lessons Learned from Lean Startup Machine DC
Pivotal Failure - Lessons Learned from Lean Startup Machine DCDave Haeffner
 
Web testing with Selenium
Web testing with SeleniumWeb testing with Selenium
Web testing with SeleniumXBOSoft
 
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgSauce Labs
 
Web ui tests examples with selenide, nselene, selene & capybara
Web ui tests examples with  selenide, nselene, selene & capybaraWeb ui tests examples with  selenide, nselene, selene & capybara
Web ui tests examples with selenide, nselene, selene & capybaraIakiv Kramarenko
 

Viewers also liked (20)

How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Selenium Basics
Selenium BasicsSelenium Basics
Selenium Basics
 
The Testable Web
The Testable WebThe Testable Web
The Testable Web
 
Full Stack Testing Done Well
Full Stack Testing Done WellFull Stack Testing Done Well
Full Stack Testing Done Well
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 
Bdd lessons-learned
Bdd lessons-learnedBdd lessons-learned
Bdd lessons-learned
 
Cucumber Crash Course
Cucumber Crash CourseCucumber Crash Course
Cucumber Crash Course
 
Open Source Investing
Open Source InvestingOpen Source Investing
Open Source Investing
 
Selenium Frameworks
Selenium FrameworksSelenium Frameworks
Selenium Frameworks
 
How To Find Information On Your Own
How To Find Information On Your OwnHow To Find Information On Your Own
How To Find Information On Your Own
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Selenium Tips & Tricks
Selenium Tips & TricksSelenium Tips & Tricks
Selenium Tips & Tricks
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupSelenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
 
Pivotal Failure - Lessons Learned from Lean Startup Machine DC
Pivotal Failure - Lessons Learned from Lean Startup Machine DCPivotal Failure - Lessons Learned from Lean Startup Machine DC
Pivotal Failure - Lessons Learned from Lean Startup Machine DC
 
Web testing with Selenium
Web testing with SeleniumWeb testing with Selenium
Web testing with Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
 
KISS Automation.py
KISS Automation.pyKISS Automation.py
KISS Automation.py
 
Web ui tests examples with selenide, nselene, selene & capybara
Web ui tests examples with  selenide, nselene, selene & capybaraWeb ui tests examples with  selenide, nselene, selene & capybara
Web ui tests examples with selenide, nselene, selene & capybara
 

Similar to Agile testing for mere mortals

Improve Testing with a Zone Defense
Improve Testing with a Zone DefenseImprove Testing with a Zone Defense
Improve Testing with a Zone DefenseTechWell
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
Leeroy driven development
Leeroy driven developmentLeeroy driven development
Leeroy driven developmentJohn Nicholas
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2SOFTENG
 
An Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a TesterAn Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a TesterAndy Melichar
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
 
Choose your own adventure Chaos Engineering - QCon NYC 2017
Choose your own adventure Chaos Engineering - QCon NYC 2017 Choose your own adventure Chaos Engineering - QCon NYC 2017
Choose your own adventure Chaos Engineering - QCon NYC 2017 Nora Jones
 
JR Dickens - FPS 2004
JR Dickens - FPS 2004JR Dickens - FPS 2004
JR Dickens - FPS 2004jrd9234
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingIBM UrbanCode Products
 
Fitting Organizational Structure
Fitting Organizational StructureFitting Organizational Structure
Fitting Organizational StructureDawn Code
 
Essential Patterns of Mature Agile Teams
Essential Patterns of Mature Agile TeamsEssential Patterns of Mature Agile Teams
Essential Patterns of Mature Agile TeamsTechWell
 
QA's lead role in agile transformations
QA's lead role in agile transformationsQA's lead role in agile transformations
QA's lead role in agile transformationsDave Ungar
 
Experiences with Semi-Scripted Exploratory Testing
Experiences with Semi-Scripted Exploratory TestingExperiences with Semi-Scripted Exploratory Testing
Experiences with Semi-Scripted Exploratory TestingSimon Morley
 
Testing within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris GollopTesting within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris GollopJAXLondon2014
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...Ho Chi Minh City Software Testing Club
 
A real-life overview of Agile and Scrum
A real-life overview of Agile and ScrumA real-life overview of Agile and Scrum
A real-life overview of Agile and Scrummtoppa
 

Similar to Agile testing for mere mortals (20)

Qa meetup talk
Qa meetup talkQa meetup talk
Qa meetup talk
 
Buildingatestteam
BuildingatestteamBuildingatestteam
Buildingatestteam
 
Improve Testing with a Zone Defense
Improve Testing with a Zone DefenseImprove Testing with a Zone Defense
Improve Testing with a Zone Defense
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
Leeroy driven development
Leeroy driven developmentLeeroy driven development
Leeroy driven development
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
 
An Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a TesterAn Agilist's Guide to Excelling on a Scrum Team as a Tester
An Agilist's Guide to Excelling on a Scrum Team as a Tester
 
AgilkeMK_Testing2.1
AgilkeMK_Testing2.1AgilkeMK_Testing2.1
AgilkeMK_Testing2.1
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
 
Choose your own adventure Chaos Engineering - QCon NYC 2017
Choose your own adventure Chaos Engineering - QCon NYC 2017 Choose your own adventure Chaos Engineering - QCon NYC 2017
Choose your own adventure Chaos Engineering - QCon NYC 2017
 
JR Dickens - FPS 2004
JR Dickens - FPS 2004JR Dickens - FPS 2004
JR Dickens - FPS 2004
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
 
Fitting Organizational Structure
Fitting Organizational StructureFitting Organizational Structure
Fitting Organizational Structure
 
Essential Patterns of Mature Agile Teams
Essential Patterns of Mature Agile TeamsEssential Patterns of Mature Agile Teams
Essential Patterns of Mature Agile Teams
 
QA's lead role in agile transformations
QA's lead role in agile transformationsQA's lead role in agile transformations
QA's lead role in agile transformations
 
Experiences with Semi-Scripted Exploratory Testing
Experiences with Semi-Scripted Exploratory TestingExperiences with Semi-Scripted Exploratory Testing
Experiences with Semi-Scripted Exploratory Testing
 
Testing within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris GollopTesting within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris Gollop
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
A real-life overview of Agile and Scrum
A real-life overview of Agile and ScrumA real-life overview of Agile and Scrum
A real-life overview of Agile and Scrum
 

Recently uploaded

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Agile testing for mere mortals

  • 1. ALN DC Chapter Meeting March 2012 Agile Testing for Mere Mortals Presented by Dave Haeffner
  • 2. ALL BOOKS OR SERVICES MENTIONED OR RECOMMENDED ARE COOL AND WORTH SHARING. DAVE IS NOT AFFILIATED WITH THEM IN ANY WAY SHAPE OR FORM. IF ANYONE HAS A MEDICAL CONDITION, OR IS ALLERGIC TO FIRE, DON'T SIT IN THE FRONT ROW. AND PLEASE, FEEL FREE TO ASK QUESTIONS THROUGHOUT.
  • 3.
  • 4. Show of hands -- How many of you are human beings? Keep them up. Ah, good we have our control. Keep your hand up if you've had experience with Agile Testing, QA… or Automated Web Testing. OK. Keep your hand up if the thought of it leaves a bad taste in your mouth. Look around. You're not alone. Thanks for coming out.
  • 5.
  • 6. A little bit about me… While working at The Motley Fool, I accidentally ended up in this profession. I used to be in IT Operations -- a Systems Administrator. Through a twist of fate, I ended up trying out QA for a change of pace. It was supposed to be temporary… That was over 3 years ago… When I started out, I had a lot of questions. A big one was -- "Ummmm, what is Agile Testing?” I'd like to share with you some of what I've learned since then. It should only take about 5 minutes. And I'll deliver it in 3 parts so it's more digestable -- So I'll give you the text book version, the "street" version, and Automation.
  • 7.
  • 8. I tend to leave Automation last because it's a good excuse to read you a quote. This one's from Randy Pausch's "The Last Lecture": "No, I did not make it to the National Football League, but I probably got more from that dream and not accomplishing it than I got from any of the ones that I did accomplish. I had a coach, I signed up when I was nine years old. I was the smallest kid in the league, by far. And I had a coach, Jim Graham, who was six-foot-four, he had played linebacker at Penn State. He was just this hulk of a guy and he was old school. And I mean really old school. Like he thought the forward pass was a trick play. So, we showed up for practice the first day, and you know, there’s big hulking guy, and we were all scared to death of him. And he hadn’t brought any footballs. One of the other kids said, excuse me coach, but there’s no football. And Coach Graham said, right, how many men are on a football field at a time? Eleven on a team, twenty-two total. And Coach Graham said, all right, and how many people are touching the football at any given time? One of them. And he said, right, so we’re going to work on what those other twenty-one guys are doing. And that’s a really good story because it’s all about fundamentals. Fundamentals, fundamentals, fundamentals. You’ve got to get the fundamentals down because otherwise the fancy stuff isn’t going to work.” Let's dig in.
  • 9.
  • 10. Ah, Agile Testing -- The White Whale of the Agile World. Everyone knows it exists, but it can be hell on earth to catch it. If you're successful, the benefits are *massive*. If you fail, then your abilities as a team can be severely limited, even if you don't know it. So let's unpack the idea of "Agile Testing" and focus on what it is, it's key elements, and the key players involved in it's delivery. For this, I'm going to consult "The Book"
  • 11.
  • 12. Agile Testing -- what is it? Here's a good definition -- "doing the simplest tests possible to verify that a piece of functionality exists or that the customers' quality standard (e.g. performance) has been met”. Sounds simple enough, but there's obviously more to it, or else you wouldn't all be here. I look at that definition as the outcome you want. But you can't get there by dictating it from the top- down. It requires more... finesse.
  • 13. Team
  • 14. Crispin & Gregory advocate that you should put it to the team, letting them work together to come up with a "software quality strategy". They go on to abstract this concept further, saying you need to keep stoking that initial fire, and evolve it into a "Quality Philosophy" -- making software quality a part of the team's DNA -- or else your efforts will not be as effective.
  • 15. ! Team
  • 16. While a main tenant of Agile Testing is a whole team focus, Crispin & Gregory really emphasize the importance of the "Tester" or "QA” role (they use both names interchangeably). Their primary responsibilities are varied, and include: * Seeing the big picture, looking at the application more from a user or customer point of view * Being an integral member of the customer team -- helping elicit requirements and examples, and helping the customers express their requirements as tests * Being embedded on the developer team * Should look for unique ways to facilitate communication
  • 17. x^3
  • 18. One tool for facilitating communication is The Power of Three, or (since I was just in Costa Rica) The Three Amigos. NEXT SLIDE
  • 20. It means that all discussions about a feature need to have a Developer, a QA, and the Product Owner present. And it is the responsibility of each person to make sure that each group is properly represented.
  • 22. So if you follow their model and have successfully ignited a passion for quality -- then you should have an autonomous whole team approach to quality and someone on the team working to help bridge the gap between tech & biz. If you take this and keep it simple, focusing on value for the business, then things start to get interesting. (Here's a quote -- "while we have skills to identify test cases beyond the 'happy path' we still need to start by making sure the happy path works.") Seems simple enough. Let's all do that. While it sounds simple, it's not easy. Because let's be honest, Agile Testing is a lot like the classic 1981 video game "The Oregon Trail”
  • 23.
  • 24. Think about it… It's a long journey (takes time) You think you know where you're heading -- greener pastures and so on (everyone talks about it – a UTOPIA) You try to make it while keeping your family together (whole team) Only to be attacked by natives along the way (funding, politics, other priorities, technology woes) And you'll likely end up dying of dissentary (give up and stick with the status quo) Let’s draw some parallels (above in parens) But all joking aside, there are additional challenges that prevent Agile Testing from working. Here are some more subtle ones
  • 25.
  • 26. When dealing with building out QA, you’ll find you need both a technical and analytical set of resources. Such skills exist in a single person, but it’s hard to find. And odds are, they won’t stay in the QA role for long. Unless they’re 6’2” with brown hair and has a coffee obsessions An approach to work around this is, pick one, and leverage other resources to fill in the gaps. (e.g. what The Fool did) – makes staffing *a lot* easier
  • 27.
  • 28. Need more QA’s and having trouble sourcing external candidates? Higher from w/in – Customer Service is an excellent place And why not? They know your product inside and out and interact with your customers on a regular basis
  • 29.
  • 30. Throwing it over the wall *shudder* The problem is that often times the feedback that QA’s give to developers is out of band with their work flow And there’s often not enough QA’s to go around, they are spread too thin, and not truly embedded on the team The short game - use a CI server The long game – use a CI server and get the team using ATDD and well written step definitions (more on this later)
  • 31. “The one thing worse than screwing up, is screwing up and thinking you’re doing well.” – J.B. Rainsberger
  • 32. In antithesis of this, Dev's treat QA Regression as a safety net w/o knowing what is actually covered, QA's do the same for unit tests I say we get rid of the words "regression" and "smoke". I've found that they tend to mean different things to different people
  • 33. Effectiveness = Quality * Acceptance
  • 34. But also, you need to tie behavioral and process change back to value That way you can motivate people in the right direction w/o forcing it – autonomy will reign supreme Start with why, then sort out the how and what This will help your effectiveness formula – have you heard of this formula? (Effectiveness = Quality * Acceptance)
  • 35.
  • 36. QA as a gatekeeper & defects still getting out? Try a Proper process
  • 37. Pre Often times, things get released Stories reviewed , if issues found, that bypass the previous steps kicked back to Devs Story Discussion, Sprint Goals, This reinforces a passive acceptance Happens more often that you think of the inefficiencies of our process Sizing, Tasking, and a dash of Definition of Done (depending on Automated tests written here It’s time for a change the team) IDEATION Planning WIP QA Review Done Released EXISTENCE Work’s done! Time to throw it over Business Owner review, if they find the wall to be “QA’d” an issue – it gets kicked back to Devs Sometimes happens without QA knowing – causing duplicative effort and additional context switching for Devs
  • 38. Post Create Acceptance Tests Can be done at the same time Becomes the Specification Batches feedback for Dev Magically becomes an automated web test Expl. Testing done by QA (or someone that didn’t work on the story) Require rep’s. from each group (Biz Owner, Review done by Stakeholder Dev, QA, UXD) Shovel Exploratory IDEATION Planning WIP Review Done Released EXISTENCE Ready Testing This is *the* most important PART Automated Acceptance Tests need to pass Everyone can rest easy, because this in order to proceed software is high quality baby!
  • 39.
  • 40. My train of thought spawned from a tremendously good read by Gojko Adzic where he introduced me to the concept of ATDD It solves so many problems and just makes so much sense. Different dialects from team to team & btwn biz & tech? create a ubiquitous language If you get this right, then you win the game, you have completed the oregon trail and did not die of dysentary
  • 41. RED Test Code GREEN REFACTOR (repeat) Commit Given <precondition(s)> When <action> Then <result>
  • 42. Automation frees you to do more exploratory testing! Acceptance Test Driven Development (ATDD) or BDD Test Driven Development (TDD) http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/
  • 43. Not ready to automate? That’s fine. If you start to capture new features in the gherkin syntax, you will be heading in the right direction. It will act as a communication and collaboration tool between your team and the business. And it will enable you to have a shared, ubiquitous language that business and tech can both agree on and understand If you add automation later, then you get the retroactive benefit of already captured features.
  • 44.
  • 45.
  • 46.
  • 47. Traditionally w/ automated web testing using a free tool like Selenium there were two paths IDE -> big sweet -> slow -> brittle -> false positives IDE -> RC -> abstraction, logic, smarter -> more technical (read “custom testing harness”) And the big complaint among Devs is that it’s too slow – they call it full stack testing since it loads the browser to execute
  • 48.
  • 49. The funny thing about Selenium Jason Huggins built Se to solve a problem much like Nike, then founded a company to solve the problem he created.
  • 51. Right around the same time, Cucumber came about. It’s a ruby implementation of BDD. It enables you to automate gherkin feature sets Where Gojko evolved the approach of Crispin & Gregory Aslak provided automation for Gojko’s approach to capturing features And you can drive Selenium through Cucumber And push it to the cloud, or run things parallel locally
  • 52.
  • 53. By taking the ATDD & Cucumber (or other BDD implement) route, you short-circuit the entire headache chain that has plagued Agile Testers that have gone before you Granted, there are new challenges, given that the step definitions need to be crafted to fit the context of your environment, and that is code. But the benefits, IMO, greatly outweigh the cost
  • 55. I often get the question – but what if we need to move fast? Or have a legacy code base? We don’t have time for this, what do you recommend?
  • 56.
  • 57. Focus on the 3 buckets 1) SETI Are the foundational pillars of your system alive and responding? 2) Money Makers What in your app is responsible for directly generating value to the business? Focus on that. 3) Back breakers Watch out for that hole in the Death Star
  • 58.
  • 59. Keep it simple This advice is more for people who are going to be writing the glue code Focus on IDs -- XPath is a last resort Hard to test apps are a symptom of poor design
  • 60.
  • 61. Take steps towards speed (and long term sanity) Make each test scenario fast – 1-2 min Keep them autonomous (e.g. unique accounts, set up built in, no cross dependencies, etc.) Single assertions per scenarios One interpretation of test results
  • 62.
  • 63. The prior will make parallelization possible Options abound for both local and cloud offerings
  • 64.
  • 65. But all that feedback is pretty useless unless you do something with it Build a feedback loop Make sure that developers are getting feedback in line with their work flow, else hear the dreaded words "Works on my machine"
  • 66. A checklist for you Make Quality The Whole Team’s responsibility Tie things back to Why Build a ubiquitous language Promote from within Keep it simple Focus on the 3 buckets (SETI, Money Makers, Back Breakers) Parallelize for speed