SlideShare a Scribd company logo
Agile Testing and the Role of the
           Agile Tester

                               Declan Whelan
                           dwhelan@dpwhelan.com


  This presentation is licensed under a Creative Commons Attribution 2.5 License, which
 means you can share and adapt it, including commercial and derivative works, as long as
                          you include attribution to Declan Whelan.
Agenda
•   What is Agility?
•   Agile Testing Success Factors
•   Agile/Scrum Overview
•   What is Quality?
    • Context-Driven School of Testing
    • Session-Based Testing & Low-Tech Dashboards
• Agile Quality
    – Agile Testing Matrix
    – Agile Tester Activities
    – Test Automation
Notes on this Presentation
This presentation was originally delivered at the QUEST
Toronto 2008 conference. Prior to the conference it was
discovered that information on session based testing was not
properly attributed to James Bach (http://www.satisfice.com).
Unfortunately an updated presentation was not available in
time to be included on the USB sticks provided.
This updated presentation correctly attributes this material to
James and also includes some minor formatting changes.
Declan wishes to apologize to James for the omission and to
thank him both for his understanding and his contributions to
exploratory testing.
Agile Testing Success Factors
Testers are part        • Be cathedral builders not stone cutters
  of the team           • Collective ownership


 Agile testing          • Drop the “Quality Police” mindset
   mindset              • Focus on team goals & customer value


                        • Automate tests wherever practical
Automate tests          • Need rapid feedback


Look at the big         • Balance against developer focus on
                          technical implementation
   picture              • Use agile test matrix as guide
                   Source: http://www.agiletester.ca/
Agile Testing Success Factors
                       • Session-based testing,
 Foundation of           agile test environments
critical practices     • Informative workspace


                       • Collaborate with customers
  Collaborate          • Collaborate within team


                       • Team retrospectives
  Continually
                       • Personal training: reading, blogs,
   improve               QAI, local QA groups

                 Source: http://www.agiletester.ca/
Traditional Approach - Waterfall


         Requirements     Analysis &         Code                Test                 Deploy
 Cost    • Business       Design             • C#, C, C++ etc.   • Validation Tests
  Of       Requirements   • System           • Big-Bang          • Verification
         • Technical        Specifications     Integration         Tests
Change     Requirements   • Component
                            Specifications




                                                Time
Agile Approach
          Iteration 1         Iteration 2          Iteration 3         Iteration 4
          Requirements        Requirements         Requirements        Requirements

         Analysis & Design   Analysis & Design    Analysis & Design   Analysis & Design
 Cost
  of           Code                Code                 Code                Code
Change
               Test                Test                 Test                Test

                                                                           Deploy




                                           Time
What is Agility?
“Values, principles and practices that
  foster team communication and
    feedback to regularly deliver
  customer value through working
             software.”
Agile Values

Individuals & Interactions                             Working Software
                                                         Comprehensive
   Processes & Tools
                                                         Documentation



Customer Collaboration                                Responding to Change

  Contract Negotiation                                  Following a Plan

                         http://agilemanifesto.org/
Source: Brian Marick
Quarry
Lean
Engineering
XP – Customer Bill of Rights
• You have the right to an overall plan, to know what can be
  accomplished, when, and at what cost.

• You have the right to see progress in a running system, proven
  to work by passing repeatable tests that you specify.

• You have the right to change your mind, to substitute
  functionality, and to change priorities.

• You have the right to be informed of schedule changes, in time
  to choose how to reduce scope to restore the original date.
  You can even cancel at any time and be left with a useful
  working system reflecting investment to date.
XP – Tester Bill of Rights
• You have the right to bring up issues related to quality and process
  at any time.
• You have the right to ask questions of customers and programmers
  and receive timely answers.
• You have the right to ask for and receive help from anyone on the
  project team, including programmers, managers and customers.
• You have the right to make and update your own estimates for your
  own tasks and have these included in estimates for stories.
• You have the right to the tools you need to do your job in a timely
  manner.
• You have the right to expect your project team, not just yourself, to
  be responsible for quality.
           Source: http://home.att.net/~lisa.crispin/XPTesterBOR.htm
Scrum Overview




 http://www.mountaingoatsoftware.com/scrum_figures
Story

                Card




Confirmation           Conversation
What is a Story?
• Functionality that      Independent
  provides value
                          Negotiable
• Written in business
  (domain) language       Valuable
• Ideally < 2 days work
                          Estimable
• “As a <role>, I want
  to <feature> so that    Small
  <benefit>”
                          Testable
Story Card
• The “headline” for some new functionality.
• It is an “invitation to a conversation”.
• Written in business (domain) language.
• It is not a specification … specifications are
  documented using story tests.
• Stories can be used to drive additional work
  such as building test scripts/frameworks
Story Conversation
• Exchange of thoughts, opinions, and feelings.
• Takes place over time, particularly when the
  story is estimated.
• Conversations also occur at the iteration
  planning meeting when the story is scheduled
  for implementation.
• Supplement with documents as needed.
Story Confirmation
• Story tests are acceptance tests for the
  product owner
• Product owner specifies the story tests but
  will collaborate with team to create them
• Team can add additional tests
• Most tests can and should be automated (e.g.
  FIT, xBehave, xSpec, stress tests, load tests)
Task
• Some atomic unit of work that can be “done”.
• Development estimate includes design,
  development, unit test, refactoring, check in
• Usually maintained on a whiteboard or
  bulletin board for wide visibility
• Add testing tasks for non-functional “ility”
  testing
• Typically 1-4 hours effort
Scrum Overview




 http://www.mountaingoatsoftware.com/scrum_figures
Scrum Team
    Product
                     ScrumMaster             Team
    Owner
• Feature           • Represents       • Self organizing
  definition          management       • Cross-
• Release dates     • Removes            functional
• Single decision     obstacles        • Estimates
  point             • Ensures Scrum    • Tracks
• Accepts or          process          • Gets ‘er done
  rejects work      • Servant leader
• ROI
Product Backlog
• Master list of all
  “features”
• High priority features
  are split into “stories”
  achievable within an
  iteration.
• Each “story” is
  prioritized and
  scoped.
Sprint Planning Meeting
• Highest priority
  stories are
  reviewed.
• Team selects stories
• Team breaks stories
  down into tasks &
  re-estimates.
• Team commits to
  next iteration’s
  deliverables.
Sprint Backlog
Daily Scrum
• Each team member
  describes:
  – What they did
  – What they plan to do
  – Obstacles
• ScrumMaster tracks
  and resolves
  obstacles
• 10 – 15 minutes
Sprint Demo
• Team demonstrates
  working software to
  product owner
• Product owner accepts
  or rejects completed
  work
• Result should be
  potentially shippable
Sprint Retrospective
• Team meets to review:
   – What is working?
   – What is not working?
• Team adds tasks for
  immediate actions for
  working better
What is Quality?


Jerry Weinberg:

   “Value to some person(s).”
Testing Schools of Thought
            • How much has                     • Controlled process                    • Focus on QA vs.
              been tested?                     • Formal rules                            testing
            • Objectivity                      • Standards &                           • Process
            • Branch of                          certification                           watchdog
              CS/Math                          • Conformance focus                     • Risk driven
                                                                                       • QA signoff
             Analytic                           Factory                                Quality

                                       • Skilled mental activity
                                       • People set context
        Agile Helps
                                       • Testing provides information
        Set Context                    • Value driven


                                       Context Driven
Source: http://www.qaiasia.com/bpw/innerpages/documents/Process_Improvement/Model_and_Framework/PI_007-shrinivas_kulkarni.pdf
Context-Driven Principles
1. The value of any practice depends on its context.
2. There are good practices in context, but there are no best
   practices.
3. People, working together, are the most important part of any
   project's context.
4. Projects unfold over time in ways that are often not predictable.
5. The product is a solution. If the problem isn't solved, the product
   doesn't work.
6. Good software testing is a challenging intellectual process.
7. Only through judgment and skill, exercised cooperatively
   throughout the entire project, are we able to do the right things at
   the right times to effectively test our products.
                  Source: http://www.context-driven-testing.com
Session Based Testing
A method specifically designed
to make exploratory testing
auditable and measurable on a
wider scale.



    Source: http://en.wikipedia.org/wiki/Exploratory_testing
Session Based Structure

                 Charter


  Parsing
                               Session
  Results




       Debrief             Report
Testing Dashboard
Area         Effort Assessment
                 Coverage Comments




       Source: http://www.satisfice.com/rst.pdf
Agile Quality – A Team Deliverable
 Agile Practice   Benefits
 Whole Team       • Quality is not just a tester
                    responsibility
                  • Quality is more than just testing
                  • Testing role shifts to quality infusion
                    throughout project life cycle
 Continuous       • Developers cannot check in code
 Integration        with failing tests
 Continuous       • Avoids long delays with “big-bang”
 Testing            testing after the “final build”
                  • Bugs found closer to when they are
                    introduced making them easier to fix
Agile Testing Challenges
• Team may not value testers
• Testers may not value team
• Unclear role of testers on team
• Testing is often squeezed as deadlines
  approach
• Developers and testers are often in different
  operational silos
• Team may not have the skills or domain
  expertise to develop/test effectively
Agile Testing Approach
• Testers are first class citizens on agile teams and part
  of the “whole team” supporting customers, business
  stakeholders, developers and other team members
• Testers support quality infusion through entire team
  and product cycle
• Test tasks and stories are planned and executed like
  development tasks and stories
• Automate where possible and use session-based
  testing for exploratory testing
• Communicate through information radiators
Brian Marick’s Agile Testing Matrix
  Automate                               Customer Facing                     Manual

                         Functional Tests          User Acceptance Tests
                         Customer Tests                 Exploratory Tests
Supports Development




                                                                                  Critiques Product
                       Story Tests/Examples                Usability Tests
                                             Q2    Q3

                                             Q1    Q4


                            Unit Tests                  Performance Tests
                         Integration Tests                   Load Tests
  Automate                               Technology Facing                    Tools
Tester Activities
         Product Owner                                                 Customer
                                          Customer Facing
          Collaboration                                               Collaboration

                       Product Specifications                 UAT Design
Supports Development




                             Test Ideas                  Exploratory Testing




                                                                                      Critiques Product
                              Testing         Q2    Q3    Usability Testing
                             Test Ideas       Q1    Q4
                                                              Test Scripts
                         Test Development
                                                                Testing
                              Testing
                                                              Test Analysis
                 Developer                                                 IT
                                          Technology Facing
                Collaboration                                        Collaboration
Agile Testing Iterations
     Q3, Q4:              Q1:                 Q2:
     Product           Testing &           Planning &
     Testing         Collaboration         Test Ideas


          Working             Working              Working
Stories             Stories             Stories
          Product             Product              Product




    Previous            Current             Next
    Iteration          Iteration          Iteration
Why Automate Tests?
•   Provides safety net
•   Supports rapid iterations
•   Provides footholds to keep notching upward
•   Provides rapid feedback
•   Focuses effort on what is valuable
•   Frees people to do their best work

       Need to balance automation costs against delivered value
Types of Automated Tests
                           TestComplete
 UI Tests    Through UI      SilkTest
                           TestDirector   c
Functional   In business
                           Fit/FitNesse
                                          o
              language
  Tests
                                          s
Unit Tests
               In same
             language as
                system
                              xUnit       t
Agile Testing Success Factors
Testers are part        • Be cathedral builders not stone cutters
  of the team           • Collective ownership


 Agile testing          • Drop the “Quality Police” mindset
   mindset              • Focus on team goals & customer value


                        • Automate tests wherever practical
Automate tests          • Need rapid feedback


Look at the big         • Balance against developer focus on
                          technical implementation
   picture              • Use agile test matrix as guide
                   Source: http://www.agiletester.ca/
Agile Testing Success Factors
                       • Session-based testing,
 Foundation of           agile test environments
critical practices     • Informative workspace


                       • Collaborate with customers
  Collaborate          • Collaborate within team

                       • Team retrospectives
  Continually          • Personal training:
   improve               reading, blogs, QAI, local QA
                         groups
                 Source: http://www.agiletester.ca/
Agile Testing Reading List
• Agile Project Management
  Jim Highsmith; 2004

• Lean Software Development
  Mary & Tom Poppendieck; 2003

• Extreme Programming Explained 2nd Edition
  Kent Beck, Cynthia Andres; 2004

• Testing Extreme Programming
  Lisa Crispin; 2002

• Agile Testing: The Tester Role on an Agile Project
  Lisa Crispin, Janet Gregory; Can pre-order on Amazon
Web Sites
•   http://www.exampler.com (Brian Marick)
•   http://www.developsense.com (Michael Bolton)
•   http://www.satisfice.com (James Bach)
•   http://www.context-driven-testing.com
•   http://www.kohl.ca/blog (Jonathon Kohl)
•   http://tech.groups.yahoo.com/group/agile-testing
•   http://www.agiletester.ca/ (Lisa Crispin, Janet Gregory)
•   www.agilemanifesto.com
•   www.agilealliance.org
Session Based Testing Extras
The following additional information on
session based testing was primarily obtained
or derived from a set of slides called “Rapid
Software Testing” by James Bach.




          Source: http://www.satisfice.com/rst.pdf
Session Based Structure

                 Charter


  Parsing
                               Session
  Results




       Debrief             Report
Goals
Find bugs fast

Fix bugs fast – through rapid testing feedback

Visibility

Transparency

Auditability

Maximize testing value
Charter
A goal or agenda for a test session in 1
to 3 sentences.

Created by the test team prior to the
start of testing, but may be added or
changed at any time.

Often created from a specification, test
plan, or by examining results from
previous test sessions.
  Source: http://en.wikipedia.org/wiki/Session-based_testing#Charter
Session
An uninterrupted period of time spent testing,
ideally lasting one to two hours.

Each session is focused on a charter, but
testers can also explore new opportunities or
issues during this time.

The tester creates and executes test cases
on-the-fly and records their progress.

  Source: http://en.wikipedia.org/wiki/Session-based_testing#Session
Report
• Charter                               • Any files used
• Areas Tested                          • % of time spent on
• Detailed notes on how                   charter vs. other:
  testing was conducted                 • Session start time and
• A list of any bugs found                duration
• A list of issues:                     • Tester name
   – open questions
   – product concerns
   – process concerns

   Source: http://en.wikipedia.org/wiki/Session-based_testing#Session_Report
Debrief
A debrief is a short discussion
between the manager and tester
(or testers) about the session and
the session report.




Source: http://en.wikipedia.org/wiki/Session-based_testing#Session_Report
Parsing Results
With a standardized Session
Report, software tools can be used to parse
and store the results as aggregate data for
reporting and metrics.

This allows reporting on the number of
sessions per area or a breakdown of time
spent on testing, bug investigation, and
setup / other activities.

Source: http://en.wikipedia.org/wiki/Session-based_testing#Parsing_Results
Low Tech Testing Dashboard




     Source: http://www.satisfice.com/rst.pdf
The Test Status Problem
  “What’s the status of testing?”

   “What are you doing today?”

   “When will you be finished?”

     “Why is it taking so long?”

  “Have you tested _______, yet?”
    Source: http://www.satisfice.com/rst.pdf
Testing Reporting Challenges
• Management has little patience for detailed test status
  reports.

• Management doesn’t understand testing:
   • Testing is confused with improving.
   • Testing is considered a linear, independent task.
   • Testing is assumed to be exhaustive.
   • Testing is assumed to be continuous.
   • Test results are assumed to stay valid over time.
   • Impact of regression testing is not appreciated.
   • Test metrics are hard to interpret.
              Source: http://www.satisfice.com/rst.pdf
A Low Tech Dashboard Solution
 Report test cycle progress in a simple, structured way...


         ...that shows progress toward a goal...


               ... manages expectations...


                ...and inspires support...


             ...for an effective test process.
            Source: http://www.satisfice.com/rst.pdf
Testing Dashboard
Area         Effort Assessment
                 Coverage Comments




       Source: http://www.satisfice.com/rst.pdf
The Dashboard Concept




   Source: http://www.satisfice.com/rst.pdf
Product Area




Source: http://www.satisfice.com/rst.pdf
Test Effort




Source: http://www.satisfice.com/rst.pdf
Test Coverage




Source: http://www.satisfice.com/rst.pdf
Quality Assessment




 Source: http://www.satisfice.com/rst.pdf
Comments




Source: http://www.satisfice.com/rst.pdf

More Related Content

What's hot (20)

PPT
Scrum Testing Methodology
Gaya1985
 
PDF
Automated vs manual testing
Kanoah
 
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
a34sharm
 
PDF
Agile Testing – embedding testing into agile software development lifecycle
Kari Kakkonen
 
PPTX
Agile testing - Testing From Day 1
Kaizenko
 
PPTX
Quality Assurance and Software Testing
pingkapil
 
PDF
Agile QA Process
Anand Bagmar
 
PPTX
Agile Testing and Test Automation
Naveen Kumar Singh
 
PDF
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Edureka!
 
PDF
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
PPTX
Agile Testing by Example
Mikalai Alimenkou
 
PPT
Agile testing
Yogita patil
 
PPTX
Testing Best Practices
Axway Appcelerator
 
PPTX
Introducing QA Into an Agile Environment
Joseph Beale
 
PPTX
Agile Testing Strategy
tharindakasun
 
PDF
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
PDF
Software testing methods, levels and types
Confiz
 
PPT
QA process Presentation
Nadeeshani Aththanagoda
 
PPTX
The shift left strategy
Clearsky testautomation
 
PPTX
Agile Qa Framework Jacky Wu
Jacky Wu
 
Scrum Testing Methodology
Gaya1985
 
Automated vs manual testing
Kanoah
 
Role Of Qa And Testing In Agile 1225221397167302 8
a34sharm
 
Agile Testing – embedding testing into agile software development lifecycle
Kari Kakkonen
 
Agile testing - Testing From Day 1
Kaizenko
 
Quality Assurance and Software Testing
pingkapil
 
Agile QA Process
Anand Bagmar
 
Agile Testing and Test Automation
Naveen Kumar Singh
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Edureka!
 
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff
 
Agile Testing by Example
Mikalai Alimenkou
 
Agile testing
Yogita patil
 
Testing Best Practices
Axway Appcelerator
 
Introducing QA Into an Agile Environment
Joseph Beale
 
Agile Testing Strategy
tharindakasun
 
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
Software testing methods, levels and types
Confiz
 
QA process Presentation
Nadeeshani Aththanagoda
 
The shift left strategy
Clearsky testautomation
 
Agile Qa Framework Jacky Wu
Jacky Wu
 

Similar to Agile Testing: The Role Of The Agile Tester (20)

PDF
Agile testing practice
Mary Jiang
 
KEY
Essential practices and thinking tools for Agile Adoption
Steven Mak
 
PDF
Agile process
alind tiwari
 
PDF
Tester Challenges in Agile ?
alind tiwari
 
PDF
Agile practices for management
Icalia Labs
 
PDF
Agile Software Development in practice: Experience, Tips and Tools from the T...
Valerie Puffet-Michel
 
PPTX
Software testing
Dhanasekaran Narayanaswamy
 
PDF
Testers in an agile world
Ilan Kirschenbaum
 
PDF
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Cognizant
 
PDF
Agile product development and management
Ashwinee Kumar
 
PPTX
Do The Right Thing - Empowering Your Test Teams
SmartBear
 
PPTX
Agile marries itil
Mats Janemalm
 
PPT
Agile2011 Conference – Key Take Aways
Synerzip
 
PPT
! Testing for agile teams
Dennis Popov
 
PPTX
Holistic Product Development
Gary Pedretti
 
PPTX
Agile testing
Joe Phan
 
PDF
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar
 
PPT
extreme Programming
Bilal Shah
 
Agile testing practice
Mary Jiang
 
Essential practices and thinking tools for Agile Adoption
Steven Mak
 
Agile process
alind tiwari
 
Tester Challenges in Agile ?
alind tiwari
 
Agile practices for management
Icalia Labs
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Valerie Puffet-Michel
 
Software testing
Dhanasekaran Narayanaswamy
 
Testers in an agile world
Ilan Kirschenbaum
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Cognizant
 
Agile product development and management
Ashwinee Kumar
 
Do The Right Thing - Empowering Your Test Teams
SmartBear
 
Agile marries itil
Mats Janemalm
 
Agile2011 Conference – Key Take Aways
Synerzip
 
! Testing for agile teams
Dennis Popov
 
Holistic Product Development
Gary Pedretti
 
Agile testing
Joe Phan
 
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar
 
extreme Programming
Bilal Shah
 
Ad

More from Declan Whelan (18)

PPTX
Technical debt is a systemic problem - not a personal failing
Declan Whelan
 
PPTX
From Technical Debt to Technical Health
Declan Whelan
 
PPTX
effective agile adoption
Declan Whelan
 
PPTX
Big Balls of Mud
Declan Whelan
 
PDF
Navigating Organizational Change
Declan Whelan
 
PPT
Simple Design
Declan Whelan
 
PDF
Domain Driven Design and Hexagonal Architecture with Rails
Declan Whelan
 
PPT
Win Win Conversations
Declan Whelan
 
PDF
Agile 2012 Simple Design Applied
Declan Whelan
 
PPTX
Releasing your teams energy through 'pull' conversations
Declan Whelan
 
KEY
Specification by Example
Declan Whelan
 
KEY
Solid principles
Declan Whelan
 
PPTX
Learning is Key to Agile Success: Agile Vancouver 2010
Declan Whelan
 
PPTX
Agile learning agile 2010
Declan Whelan
 
PPTX
Agile Learning (60 minute version)
Declan Whelan
 
PPTX
Cuke2Beer
Declan Whelan
 
PPTX
Agile Learning from Agile 2009
Declan Whelan
 
PPTX
Agile, Tdd And .Net
Declan Whelan
 
Technical debt is a systemic problem - not a personal failing
Declan Whelan
 
From Technical Debt to Technical Health
Declan Whelan
 
effective agile adoption
Declan Whelan
 
Big Balls of Mud
Declan Whelan
 
Navigating Organizational Change
Declan Whelan
 
Simple Design
Declan Whelan
 
Domain Driven Design and Hexagonal Architecture with Rails
Declan Whelan
 
Win Win Conversations
Declan Whelan
 
Agile 2012 Simple Design Applied
Declan Whelan
 
Releasing your teams energy through 'pull' conversations
Declan Whelan
 
Specification by Example
Declan Whelan
 
Solid principles
Declan Whelan
 
Learning is Key to Agile Success: Agile Vancouver 2010
Declan Whelan
 
Agile learning agile 2010
Declan Whelan
 
Agile Learning (60 minute version)
Declan Whelan
 
Cuke2Beer
Declan Whelan
 
Agile Learning from Agile 2009
Declan Whelan
 
Agile, Tdd And .Net
Declan Whelan
 
Ad

Recently uploaded (20)

PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
Designing Production-Ready AI Agents
Kunal Rai
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
July Patch Tuesday
Ivanti
 
Designing Production-Ready AI Agents
Kunal Rai
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 

Agile Testing: The Role Of The Agile Tester

  • 1. Agile Testing and the Role of the Agile Tester Declan Whelan [email protected] This presentation is licensed under a Creative Commons Attribution 2.5 License, which means you can share and adapt it, including commercial and derivative works, as long as you include attribution to Declan Whelan.
  • 2. Agenda • What is Agility? • Agile Testing Success Factors • Agile/Scrum Overview • What is Quality? • Context-Driven School of Testing • Session-Based Testing & Low-Tech Dashboards • Agile Quality – Agile Testing Matrix – Agile Tester Activities – Test Automation
  • 3. Notes on this Presentation This presentation was originally delivered at the QUEST Toronto 2008 conference. Prior to the conference it was discovered that information on session based testing was not properly attributed to James Bach (http://www.satisfice.com). Unfortunately an updated presentation was not available in time to be included on the USB sticks provided. This updated presentation correctly attributes this material to James and also includes some minor formatting changes. Declan wishes to apologize to James for the omission and to thank him both for his understanding and his contributions to exploratory testing.
  • 4. Agile Testing Success Factors Testers are part • Be cathedral builders not stone cutters of the team • Collective ownership Agile testing • Drop the “Quality Police” mindset mindset • Focus on team goals & customer value • Automate tests wherever practical Automate tests • Need rapid feedback Look at the big • Balance against developer focus on technical implementation picture • Use agile test matrix as guide Source: http://www.agiletester.ca/
  • 5. Agile Testing Success Factors • Session-based testing, Foundation of agile test environments critical practices • Informative workspace • Collaborate with customers Collaborate • Collaborate within team • Team retrospectives Continually • Personal training: reading, blogs, improve QAI, local QA groups Source: http://www.agiletester.ca/
  • 6. Traditional Approach - Waterfall Requirements Analysis & Code Test Deploy Cost • Business Design • C#, C, C++ etc. • Validation Tests Of Requirements • System • Big-Bang • Verification • Technical Specifications Integration Tests Change Requirements • Component Specifications Time
  • 7. Agile Approach Iteration 1 Iteration 2 Iteration 3 Iteration 4 Requirements Requirements Requirements Requirements Analysis & Design Analysis & Design Analysis & Design Analysis & Design Cost of Code Code Code Code Change Test Test Test Test Deploy Time
  • 8. What is Agility? “Values, principles and practices that foster team communication and feedback to regularly deliver customer value through working software.”
  • 9. Agile Values Individuals & Interactions Working Software Comprehensive Processes & Tools Documentation Customer Collaboration Responding to Change Contract Negotiation Following a Plan http://agilemanifesto.org/
  • 12. Lean
  • 14. XP – Customer Bill of Rights • You have the right to an overall plan, to know what can be accomplished, when, and at what cost. • You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify. • You have the right to change your mind, to substitute functionality, and to change priorities. • You have the right to be informed of schedule changes, in time to choose how to reduce scope to restore the original date. You can even cancel at any time and be left with a useful working system reflecting investment to date.
  • 15. XP – Tester Bill of Rights • You have the right to bring up issues related to quality and process at any time. • You have the right to ask questions of customers and programmers and receive timely answers. • You have the right to ask for and receive help from anyone on the project team, including programmers, managers and customers. • You have the right to make and update your own estimates for your own tasks and have these included in estimates for stories. • You have the right to the tools you need to do your job in a timely manner. • You have the right to expect your project team, not just yourself, to be responsible for quality. Source: http://home.att.net/~lisa.crispin/XPTesterBOR.htm
  • 17. Story Card Confirmation Conversation
  • 18. What is a Story? • Functionality that Independent provides value Negotiable • Written in business (domain) language Valuable • Ideally < 2 days work Estimable • “As a <role>, I want to <feature> so that Small <benefit>” Testable
  • 19. Story Card • The “headline” for some new functionality. • It is an “invitation to a conversation”. • Written in business (domain) language. • It is not a specification … specifications are documented using story tests. • Stories can be used to drive additional work such as building test scripts/frameworks
  • 20. Story Conversation • Exchange of thoughts, opinions, and feelings. • Takes place over time, particularly when the story is estimated. • Conversations also occur at the iteration planning meeting when the story is scheduled for implementation. • Supplement with documents as needed.
  • 21. Story Confirmation • Story tests are acceptance tests for the product owner • Product owner specifies the story tests but will collaborate with team to create them • Team can add additional tests • Most tests can and should be automated (e.g. FIT, xBehave, xSpec, stress tests, load tests)
  • 22. Task • Some atomic unit of work that can be “done”. • Development estimate includes design, development, unit test, refactoring, check in • Usually maintained on a whiteboard or bulletin board for wide visibility • Add testing tasks for non-functional “ility” testing • Typically 1-4 hours effort
  • 24. Scrum Team Product ScrumMaster Team Owner • Feature • Represents • Self organizing definition management • Cross- • Release dates • Removes functional • Single decision obstacles • Estimates point • Ensures Scrum • Tracks • Accepts or process • Gets ‘er done rejects work • Servant leader • ROI
  • 25. Product Backlog • Master list of all “features” • High priority features are split into “stories” achievable within an iteration. • Each “story” is prioritized and scoped.
  • 26. Sprint Planning Meeting • Highest priority stories are reviewed. • Team selects stories • Team breaks stories down into tasks & re-estimates. • Team commits to next iteration’s deliverables.
  • 28. Daily Scrum • Each team member describes: – What they did – What they plan to do – Obstacles • ScrumMaster tracks and resolves obstacles • 10 – 15 minutes
  • 29. Sprint Demo • Team demonstrates working software to product owner • Product owner accepts or rejects completed work • Result should be potentially shippable
  • 30. Sprint Retrospective • Team meets to review: – What is working? – What is not working? • Team adds tasks for immediate actions for working better
  • 31. What is Quality? Jerry Weinberg: “Value to some person(s).”
  • 32. Testing Schools of Thought • How much has • Controlled process • Focus on QA vs. been tested? • Formal rules testing • Objectivity • Standards & • Process • Branch of certification watchdog CS/Math • Conformance focus • Risk driven • QA signoff Analytic Factory Quality • Skilled mental activity • People set context Agile Helps • Testing provides information Set Context • Value driven Context Driven Source: http://www.qaiasia.com/bpw/innerpages/documents/Process_Improvement/Model_and_Framework/PI_007-shrinivas_kulkarni.pdf
  • 33. Context-Driven Principles 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products. Source: http://www.context-driven-testing.com
  • 34. Session Based Testing A method specifically designed to make exploratory testing auditable and measurable on a wider scale. Source: http://en.wikipedia.org/wiki/Exploratory_testing
  • 35. Session Based Structure Charter Parsing Session Results Debrief Report
  • 36. Testing Dashboard Area Effort Assessment Coverage Comments Source: http://www.satisfice.com/rst.pdf
  • 37. Agile Quality – A Team Deliverable Agile Practice Benefits Whole Team • Quality is not just a tester responsibility • Quality is more than just testing • Testing role shifts to quality infusion throughout project life cycle Continuous • Developers cannot check in code Integration with failing tests Continuous • Avoids long delays with “big-bang” Testing testing after the “final build” • Bugs found closer to when they are introduced making them easier to fix
  • 38. Agile Testing Challenges • Team may not value testers • Testers may not value team • Unclear role of testers on team • Testing is often squeezed as deadlines approach • Developers and testers are often in different operational silos • Team may not have the skills or domain expertise to develop/test effectively
  • 39. Agile Testing Approach • Testers are first class citizens on agile teams and part of the “whole team” supporting customers, business stakeholders, developers and other team members • Testers support quality infusion through entire team and product cycle • Test tasks and stories are planned and executed like development tasks and stories • Automate where possible and use session-based testing for exploratory testing • Communicate through information radiators
  • 40. Brian Marick’s Agile Testing Matrix Automate Customer Facing Manual Functional Tests User Acceptance Tests Customer Tests Exploratory Tests Supports Development Critiques Product Story Tests/Examples Usability Tests Q2 Q3 Q1 Q4 Unit Tests Performance Tests Integration Tests Load Tests Automate Technology Facing Tools
  • 41. Tester Activities Product Owner Customer Customer Facing Collaboration Collaboration Product Specifications UAT Design Supports Development Test Ideas Exploratory Testing Critiques Product Testing Q2 Q3 Usability Testing Test Ideas Q1 Q4 Test Scripts Test Development Testing Testing Test Analysis Developer IT Technology Facing Collaboration Collaboration
  • 42. Agile Testing Iterations Q3, Q4: Q1: Q2: Product Testing & Planning & Testing Collaboration Test Ideas Working Working Working Stories Stories Stories Product Product Product Previous Current Next Iteration Iteration Iteration
  • 43. Why Automate Tests? • Provides safety net • Supports rapid iterations • Provides footholds to keep notching upward • Provides rapid feedback • Focuses effort on what is valuable • Frees people to do their best work Need to balance automation costs against delivered value
  • 44. Types of Automated Tests TestComplete UI Tests Through UI SilkTest TestDirector c Functional In business Fit/FitNesse o language Tests s Unit Tests In same language as system xUnit t
  • 45. Agile Testing Success Factors Testers are part • Be cathedral builders not stone cutters of the team • Collective ownership Agile testing • Drop the “Quality Police” mindset mindset • Focus on team goals & customer value • Automate tests wherever practical Automate tests • Need rapid feedback Look at the big • Balance against developer focus on technical implementation picture • Use agile test matrix as guide Source: http://www.agiletester.ca/
  • 46. Agile Testing Success Factors • Session-based testing, Foundation of agile test environments critical practices • Informative workspace • Collaborate with customers Collaborate • Collaborate within team • Team retrospectives Continually • Personal training: improve reading, blogs, QAI, local QA groups Source: http://www.agiletester.ca/
  • 47. Agile Testing Reading List • Agile Project Management Jim Highsmith; 2004 • Lean Software Development Mary & Tom Poppendieck; 2003 • Extreme Programming Explained 2nd Edition Kent Beck, Cynthia Andres; 2004 • Testing Extreme Programming Lisa Crispin; 2002 • Agile Testing: The Tester Role on an Agile Project Lisa Crispin, Janet Gregory; Can pre-order on Amazon
  • 48. Web Sites • http://www.exampler.com (Brian Marick) • http://www.developsense.com (Michael Bolton) • http://www.satisfice.com (James Bach) • http://www.context-driven-testing.com • http://www.kohl.ca/blog (Jonathon Kohl) • http://tech.groups.yahoo.com/group/agile-testing • http://www.agiletester.ca/ (Lisa Crispin, Janet Gregory) • www.agilemanifesto.com • www.agilealliance.org
  • 49. Session Based Testing Extras The following additional information on session based testing was primarily obtained or derived from a set of slides called “Rapid Software Testing” by James Bach. Source: http://www.satisfice.com/rst.pdf
  • 50. Session Based Structure Charter Parsing Session Results Debrief Report
  • 51. Goals Find bugs fast Fix bugs fast – through rapid testing feedback Visibility Transparency Auditability Maximize testing value
  • 52. Charter A goal or agenda for a test session in 1 to 3 sentences. Created by the test team prior to the start of testing, but may be added or changed at any time. Often created from a specification, test plan, or by examining results from previous test sessions. Source: http://en.wikipedia.org/wiki/Session-based_testing#Charter
  • 53. Session An uninterrupted period of time spent testing, ideally lasting one to two hours. Each session is focused on a charter, but testers can also explore new opportunities or issues during this time. The tester creates and executes test cases on-the-fly and records their progress. Source: http://en.wikipedia.org/wiki/Session-based_testing#Session
  • 54. Report • Charter • Any files used • Areas Tested • % of time spent on • Detailed notes on how charter vs. other: testing was conducted • Session start time and • A list of any bugs found duration • A list of issues: • Tester name – open questions – product concerns – process concerns Source: http://en.wikipedia.org/wiki/Session-based_testing#Session_Report
  • 55. Debrief A debrief is a short discussion between the manager and tester (or testers) about the session and the session report. Source: http://en.wikipedia.org/wiki/Session-based_testing#Session_Report
  • 56. Parsing Results With a standardized Session Report, software tools can be used to parse and store the results as aggregate data for reporting and metrics. This allows reporting on the number of sessions per area or a breakdown of time spent on testing, bug investigation, and setup / other activities. Source: http://en.wikipedia.org/wiki/Session-based_testing#Parsing_Results
  • 57. Low Tech Testing Dashboard Source: http://www.satisfice.com/rst.pdf
  • 58. The Test Status Problem “What’s the status of testing?” “What are you doing today?” “When will you be finished?” “Why is it taking so long?” “Have you tested _______, yet?” Source: http://www.satisfice.com/rst.pdf
  • 59. Testing Reporting Challenges • Management has little patience for detailed test status reports. • Management doesn’t understand testing: • Testing is confused with improving. • Testing is considered a linear, independent task. • Testing is assumed to be exhaustive. • Testing is assumed to be continuous. • Test results are assumed to stay valid over time. • Impact of regression testing is not appreciated. • Test metrics are hard to interpret. Source: http://www.satisfice.com/rst.pdf
  • 60. A Low Tech Dashboard Solution Report test cycle progress in a simple, structured way... ...that shows progress toward a goal... ... manages expectations... ...and inspires support... ...for an effective test process. Source: http://www.satisfice.com/rst.pdf
  • 61. Testing Dashboard Area Effort Assessment Coverage Comments Source: http://www.satisfice.com/rst.pdf
  • 62. The Dashboard Concept Source: http://www.satisfice.com/rst.pdf
  • 66. Quality Assessment Source: http://www.satisfice.com/rst.pdf