W4
Agile Testing
5/1/2013 11:30:00 AM

Baking In Quality: The Evolving
Role of the Agile Tester
Presented by:
Dena Laterza
Agile Velocity

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Dena Laterza
In software quality for seventeen years and currently a quality coach for Agile Velocity (AgileVelocity.com),
Dena Laterza became an agile enthusiast five years ago when the director of development brought in
agile coaches. The coaching succeeded - and so did the project! Dena has worked on applications in the
medical, lead management, contract management, project management, retail, and video-conferencing
domains - with both commercial and open-source test automation tools. She is continually learning and
mentoring others on automated testing tools and techniques for unit, integration, and GUI testing. Dena
lives and practices her craft in Austin, Texas.
BAKING QUALITY IN
The Evolving Role of the Agile Tester
Introduce yourself!
Talk to those around you. Introduce yourself.
What role do they play in software
development?
Illusion of Waterfall

80% Done??

Release
Requirements

Waterfall

Design
Development
QA
Working software is the primary
measure of progress

Sprint 2

Sprint 3

Sprint 4

Requirements

Requirements

Requirements

Requirements

Design

Design

Design

Design

Development

Development

Development

Development

QA

QA

QA

QA

Agile

Sprint 1

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved.

Potentially Releasable
Product Increment

AGILE VELOCITY PROPRIETARY
Tear Down This Wall

Testers are integrated into Development
Image Source: http://www.thesniper.us
Copyright © 2013 Agile Velocity, LLC. All Rights Reserved.

AGILE VELOCITY PROPRIETARY
What is Testing in Agile?
Testing is embedded into the Definition of Done

Testing drives development
Test whenever possible throughout development
Agile testing is a team effort

Agile testing needs automation
http://www.agiletesting.info/what-is-agile-testing-112
Test automation is a
core agile practice.
- Lisa Crispin (Agile Testing)
The Test Automation Pyramid
Unit Tests
Test a class, function, or method in isolation
Test common, normal use
Test boundary cases for valid input
Test failure conditions (invalid input, exceptions)
http://starship.python.net/~tbryan/UnitTestTalk/slide2.html

Tom Bryan
Acceptance Tests
Verifies User Story meets expectations of the stakeholders
Test with full stack running

Easy to understand outside of Development
Validate API, UI, persistence layer (db)
Tests the system from the user’s perspective

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved.

AGILE VELOCITY PROPRIETARY
Acceptance Test Example
Feature: Login

Wrong way

Scenario: Tests login with invalid credentials
Given I am on the Login screen
When I enter "user1" in the username field
And I enter "mypassword" in the password field
And I click the Login button
Then I should see the error message "Username/password is invalid"

Right way

Scenario: Tests login with invalid credentials
Given I am on the Login screen
When I enter invalid credentials
Then I am not logged in and a meaningful error message is displayed
More Examples
Feature: Fixed amount withdrawal

Scenario: Tests withdrawing a fixed amount
Given I have $1000 in my account
When I withdraw a fixed amount of $200
Then my account balance is $800
Scenario: Tests attempting withdrawal of a fixed amount when balance is too low
Given I have $200 in my account
When I withdraw a fixed amount of $300
Then I see “Insufficient funds to withdraw this amount.” Error
Tests Are a Safety Net

Image Source: drawingwater.org
Copyright © 2013 Agile Velocity, LLC. All Rights Reserved.

AGILE VELOCITY PROPRIETARY
What is the cost of finding a
defect late?
20 Developers making 10 code changes a day

1 Day =
200 Changes

2 Weeks = 2,000
Changes

Images Source: http://wendistry.com/wp-content/uploads/2010/03/haystack.jpg

2 Months = 8,000
Changes
Image Source: innovativelearningdesignes.ca
As a user planning a trip, I want to know the last
date I can change my flight without being
charged a fee, so that I can avoid incurring a
charge.
Acceptance Criteria:
1. User must be logged in to create or edit a reservation
2. User can enter their fly date when creating or editing a
reservation
3. Last date to change flight without a fee is displayed to the
right of the fly date
4. Premium users can change their flight up to 3 days prior
5. All other users can change their flight up to two weeks prior
6. Date formats are based on language in Browser
Push Testing Down
• Strategize as a team on the
testing of each story/feature

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
Push Testing Down
• Strategize as a team on the
testing of each story/feature
• Understand what can/cannot
be tested at each level

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
Push Testing Down
• Strategize as a team on the
testing of each story/feature
• Understand what can/cannot
be tested at each level
• Ensure entire team gains
value from all automated
tests

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
Push Testing Down
• Strategize as a team on the
testing of each story/feature
• Understand what can/cannot
be tested at each level
• Ensure entire team gains
value from all automated
tests
• Minimize duplication

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
Test-Driven Development
Add a
test.

Run it.
See it fail.

Write
code.

Rinse, repeat

Refactor.

Run test.
See it
pass.

Image Source: http://code.dortikum.net
Acceptance Test-Driven
Development

Involve the • Product Owner
“Power of • Developer
• Tester
3”
Describe • Use plain words – “Tests
Application that the user cannot log in
with an invalid password”
Behavior
Copyright © 2013 Agile Velocity, LLC. All Rights Reserved.

AGILE VELOCITY PROPRIETARY
Automation Framework Strategy







Design for maintainability
Decide on execution frequency
Decide max execution time
Whole team owns
Whole team gets value
Make tests part of Continuous Integration

Image Source: www.cwrmobility.com
What Not To Automate

Everything
•On legacy systems, start with a smoke test
•Automate what gives the “most bang for your buck”
•Execution frequency is key

GUI
•Especially if the GUI is in flux
•Can tests be covered at a lower level?

Low priority functionality
•Non-mission critical
•Not frequently used
•Very little code churn
Baking quality in puts
YOU
in the driver’s seat!
Automated tests don’t find bugs, people do!
Thank You!
I look forward to improving this based on your
feedback.
Agile Velocity
Austin, TX

We provide Agile Training, Coaching, & Implementation Services
in the following areas:
Organization - Culture, Structure, Lean, Leadership, Enterprise Optimization
Product - Value Focus, Customer Needs, Prioritization, Planning, Portfolio, Strategy
Team - Scrum, Kanban, Quality, Speed to Market, Tool Selection & Implementation
Technical Practices - Test Automation, Test Driven Development (TDD), Continuous
Integration/ Delivery

Implementation - SaaS, Cloud, Architecture, Development, QA, Product Management
BDD Resources







http://jbehave.org/ (Java)
http://www.specflow.org/ (.NET)
http://cukes.info/ (Ruby)
The Cucumber Book: Behaviour-Driven
Development for Testers and Developers
by Matt Wynne and Aslak Hellesøy

Baking In Quality: The Evolving Role of the Agile Tester

  • 1.
    W4 Agile Testing 5/1/2013 11:30:00AM Baking In Quality: The Evolving Role of the Agile Tester Presented by: Dena Laterza Agile Velocity Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2.
    Dena Laterza In softwarequality for seventeen years and currently a quality coach for Agile Velocity (AgileVelocity.com), Dena Laterza became an agile enthusiast five years ago when the director of development brought in agile coaches. The coaching succeeded - and so did the project! Dena has worked on applications in the medical, lead management, contract management, project management, retail, and video-conferencing domains - with both commercial and open-source test automation tools. She is continually learning and mentoring others on automated testing tools and techniques for unit, integration, and GUI testing. Dena lives and practices her craft in Austin, Texas.
  • 3.
    BAKING QUALITY IN TheEvolving Role of the Agile Tester
  • 4.
    Introduce yourself! Talk tothose around you. Introduce yourself. What role do they play in software development?
  • 5.
    Illusion of Waterfall 80%Done?? Release Requirements Waterfall Design Development QA
  • 6.
    Working software isthe primary measure of progress Sprint 2 Sprint 3 Sprint 4 Requirements Requirements Requirements Requirements Design Design Design Design Development Development Development Development QA QA QA QA Agile Sprint 1 Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. Potentially Releasable Product Increment AGILE VELOCITY PROPRIETARY
  • 7.
    Tear Down ThisWall Testers are integrated into Development Image Source: http://www.thesniper.us Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  • 8.
    What is Testingin Agile? Testing is embedded into the Definition of Done Testing drives development Test whenever possible throughout development Agile testing is a team effort Agile testing needs automation http://www.agiletesting.info/what-is-agile-testing-112
  • 9.
    Test automation isa core agile practice. - Lisa Crispin (Agile Testing)
  • 10.
  • 11.
    Unit Tests Test aclass, function, or method in isolation Test common, normal use Test boundary cases for valid input Test failure conditions (invalid input, exceptions) http://starship.python.net/~tbryan/UnitTestTalk/slide2.html Tom Bryan
  • 12.
    Acceptance Tests Verifies UserStory meets expectations of the stakeholders Test with full stack running Easy to understand outside of Development Validate API, UI, persistence layer (db) Tests the system from the user’s perspective Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  • 13.
    Acceptance Test Example Feature:Login Wrong way Scenario: Tests login with invalid credentials Given I am on the Login screen When I enter "user1" in the username field And I enter "mypassword" in the password field And I click the Login button Then I should see the error message "Username/password is invalid" Right way Scenario: Tests login with invalid credentials Given I am on the Login screen When I enter invalid credentials Then I am not logged in and a meaningful error message is displayed
  • 14.
    More Examples Feature: Fixedamount withdrawal Scenario: Tests withdrawing a fixed amount Given I have $1000 in my account When I withdraw a fixed amount of $200 Then my account balance is $800 Scenario: Tests attempting withdrawal of a fixed amount when balance is too low Given I have $200 in my account When I withdraw a fixed amount of $300 Then I see “Insufficient funds to withdraw this amount.” Error
  • 15.
    Tests Are aSafety Net Image Source: drawingwater.org Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  • 16.
    What is thecost of finding a defect late? 20 Developers making 10 code changes a day 1 Day = 200 Changes 2 Weeks = 2,000 Changes Images Source: http://wendistry.com/wp-content/uploads/2010/03/haystack.jpg 2 Months = 8,000 Changes
  • 17.
  • 18.
    As a userplanning a trip, I want to know the last date I can change my flight without being charged a fee, so that I can avoid incurring a charge. Acceptance Criteria: 1. User must be logged in to create or edit a reservation 2. User can enter their fly date when creating or editing a reservation 3. Last date to change flight without a fee is displayed to the right of the fly date 4. Premium users can change their flight up to 3 days prior 5. All other users can change their flight up to two weeks prior 6. Date formats are based on language in Browser
  • 19.
    Push Testing Down •Strategize as a team on the testing of each story/feature Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  • 20.
    Push Testing Down •Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  • 21.
    Push Testing Down •Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level • Ensure entire team gains value from all automated tests Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  • 22.
    Push Testing Down •Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level • Ensure entire team gains value from all automated tests • Minimize duplication Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  • 23.
    Test-Driven Development Add a test. Runit. See it fail. Write code. Rinse, repeat Refactor. Run test. See it pass. Image Source: http://code.dortikum.net
  • 24.
    Acceptance Test-Driven Development Involve the• Product Owner “Power of • Developer • Tester 3” Describe • Use plain words – “Tests Application that the user cannot log in with an invalid password” Behavior Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  • 25.
    Automation Framework Strategy       Designfor maintainability Decide on execution frequency Decide max execution time Whole team owns Whole team gets value Make tests part of Continuous Integration Image Source: www.cwrmobility.com
  • 26.
    What Not ToAutomate Everything •On legacy systems, start with a smoke test •Automate what gives the “most bang for your buck” •Execution frequency is key GUI •Especially if the GUI is in flux •Can tests be covered at a lower level? Low priority functionality •Non-mission critical •Not frequently used •Very little code churn
  • 27.
    Baking quality inputs YOU in the driver’s seat!
  • 28.
    Automated tests don’tfind bugs, people do!
  • 29.
    Thank You! I lookforward to improving this based on your feedback.
  • 30.
    Agile Velocity Austin, TX Weprovide Agile Training, Coaching, & Implementation Services in the following areas: Organization - Culture, Structure, Lean, Leadership, Enterprise Optimization Product - Value Focus, Customer Needs, Prioritization, Planning, Portfolio, Strategy Team - Scrum, Kanban, Quality, Speed to Market, Tool Selection & Implementation Technical Practices - Test Automation, Test Driven Development (TDD), Continuous Integration/ Delivery Implementation - SaaS, Cloud, Architecture, Development, QA, Product Management
  • 31.
    BDD Resources     http://jbehave.org/ (Java) http://www.specflow.org/(.NET) http://cukes.info/ (Ruby) The Cucumber Book: Behaviour-Driven Development for Testers and Developers by Matt Wynne and Aslak Hellesøy