SlideShare a Scribd company logo
An Introduction to
Agile Software Testing
Hello!
I am Joe Phan
I’d like to give you a view about agile testing.
You can find me a:
◆ https://www.linkedin.com/in/joe-phan-28b25a120/
◆ Grenade.Eminem@gmail.com
2
When do we test?
3
Waterfall model - SDLC
4
Traditional Model Limitations
◆ Impossible to anticipate and estimate all tasks early in
big projects
◆ Difficult to define requirements precisely without
customers getting Hands On feel of product
◆ Changes later in the development cycle could be
expensive to handle
◆ Working software delivered only at end of cycle
5
Waterfall Problems
◆ Late delivery
◆ Over budget
◆ Wrong thing is delivered
◆ Testing “bottleneck” at end
◆ Heavyweight documentation
6
Waterfall Problems
7
What is Agility?
Values, principles and practices that foster team
communication and feedback to regularly deliver
customer value through working software.
8
9
Agile Approach
Use big image
Separate Teams
Use big image
How Agile Changes Things
◆ Whole Team Approach
◆ Coding and Testing are One Process
◆ Feedback, collaboration key
◆ TDD/ATDD practices
◆ Test-infected developers
12
A Team
Use big image
The 7 Success Factors for Agile Testing
◆ Use the whole team approach
◆ Adopt an agile testing mindset
◆ Automate your regression testing
◆ Provide and obtain feedback
◆ Build a foundation of core agile practices
◆ Collaborate with customers
◆ Look at the big picture
14
Do Your Best Work
◆ Whole Team approach
Collaborate with customers, developers
◆ Business examples, turned into tests
◆ Agile Testing Quadrants
◆ Test Automation Pyramid
◆ Exploratory testing
15
Whole Team Approach
◆ Team commitment to quality
◆ Team responsible for testing
◆ Testers get support, training
◆ Anyone can do any task
◆ Testers transfer testing knowledge
◆ Collaboration
16
Early and Frequent Feedback
◆ Avoiding requirements misunderstandings
◆ Clarifying customer feature requests
◆ Discovering (via continuous integration), isolating, and resolving
quality problems early
◆ Providing information to the Agile team regarding its productivity
and ability to deliver
◆ Promoting consistent project momentum
17
Testing is Not a Phase
◆ Development = testing + coding
Write test, write code, test
◆ Unit and Acceptance Test levels
◆ Automated tests
Free time for exploratory testing
18
Agile Testing Quadrants
19
Test Automation Pyramid
20
What is Exploratory Testing?
◆ Exploratory testing is a testing approach where you explore the
system and venture into those aspects and functionalities which
may or may not directly affect the system’s outputs, in order to find
underlying errors.
◆ The purpose of performing exploratory tests is to learn more about
the system and its functionality and using your existing knowledge
about the system to find errors.
21
Scrum Process
Sprints
◆ Scrum projects make progress in a series of “sprints”
◆ Typical duration is 2–4 weeks or a calendar month at most
◆ A constant duration leads to a better rhythm
◆ Product is designed, coded, and tested during the sprint
◆ Product is potentially shippable after every Sprint
23
Scrum framework
24
Scrum framework
2515
Roles
◆ Product Owner
• Defines features and release plans
• Responsible for development schedule and prioritizing Product Backlog
• Accept or reject work results
• DARK - Desire, Authority, Responsibility, Knowledge (Business and
Technical)
◆ Scrum Master
• Coaches the development team and responsible for productivity
• Facilitates Scrum ceremonies
• Establishes and enforces Scrum rules and responsible for the success of
the process
• Shields the team from noise and removes obstacles
• Enables close cooperation across all roles
26
Roles
◆ Team
• Cross-functional:Programmers, testers, user experience
designers, etc.
• Responsible for self-organising tasks and committing to work
(no one assigns stories or tasks to team members, team must self-
organise)
• Teams are self-organizing
27
Scrum framework
28
Sprint planning (4 hours + 4 hours)
29
Sprint Events
◆ Daily scrum meeting (10-15 mins)
• What did you do yesterday?
• What will you do today?
• What is blocking your work?
◆ Sprint review
• Demo of new features to customer/product owner
• Team presents work accomplished during the sprint
• All major stakeholders participate
◆ Sprint retrospective
• Periodic post mortem to review what's working and what's not
• Short workshop session for team to review lessons learned
and discuss actions for the next Sprint
• All major stakeholders participate30
Scrum framework
31
Product backlog
◆ A list of all desired work on the project
◆ Ideally expressed such that each item has value to the users or
customers of the product
◆ Prioritized by the product owner
◆ Reprioritized at the start of each sprint
32
A sample product backlog
33
A Sprint Backlog
34
A Sprint Backlog
35
QA Activities in Agile Testing
◆ Provide effort estimates during release and sprint plan
◆ Collaborate with business analysts and developers in
defining requirements and designs
◆ Prepare test conditions based on design discussions
• Just in time test cases only for current sprint and not entire
project
◆ Execute test conditions and report issues
• Usually, test driven development
◆ Automate feature specific test cases
◆ Report status, impediments in daily standup meetings
◆ Participate in Sprint review meeting36
Testing
Testing is the process of
evaluating a product by learning
about it through exploration and
experimentation, which includes
to some degree: questioning,
study, modeling, observation,
inference, etc.
Checking vs. Testing
Checking
Checking is confirmative
(verification and validation of what
we already know). The outcome of
a check is simply a pass or fail
result; the outcome doesn’t require
human interpretation. Hence
checking should be the first target
for automation.
37
Checking vs. Testing
James Bach points out that checking
does require some element of testing; to
create a check requires an act of test
design, and to act upon the result of a
check requires test result interpretation
and learning. But its important to
distinguish between the two because
when people refer to Testing they really
mean Checking.
38
Checking vs. Testing
Michael Bolton : “A development strategy that
emphasizes checking at the expense of
testing is one in which we’ll emphasize
confirmation of existing knowledge over
discovery of new knowledge. That might be
okay. A few checks might constitute sufficient
testing for some purpose; no testing and no
checking at all might even be sufficient for
some purposes. But the more we emphasize
checking over testing, and the less testing we
do generally, the more we leave ourselves
vulnerable to the Black Swan.
39

More Related Content

PPT
Agile QA presentation
PDF
Quality Assurance: An Overview
PPT
Agile testing
PPTX
QA Best Practices in Agile World_new
PDF
Integrate testing activities in Agile (EuroSTAR webinar)
PPT
Agile testing
PDF
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Agile QA presentation
Quality Assurance: An Overview
Agile testing
QA Best Practices in Agile World_new
Integrate testing activities in Agile (EuroSTAR webinar)
Agile testing
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...

What's hot (20)

PDF
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
PDF
Project Management Tips to Improve Test Planning
PDF
Test Process Improvement in Agile
PPT
Test strategy &-testplanning
PDF
Agile QA Process
PPTX
Agile Testing
PPTX
Test Process Improvement with TPI NEXT - what the model does not tell you but...
PPTX
ISTQB Advanced Test Manager Training 2012 - Testing Process
PPT
Niels Malotaux - Help We Have a QA Problem!
PDF
Test Design with Action-based Testing Methodology - Ngo Hoang Minh
PDF
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
PPTX
Agile Testing Days -Trends and future in testing 2017
PPT
Agile Testing Process
PPT
Erik Boelen - Testing, The Next Level
PPT
Geoff Thompson - Why Do We Bother With Test Strategies
PPTX
Agile QA: Redefining Quality in the Wild West
PPT
Lean testing
PPT
Jarian van de Laar - Test Policy - Test Strategy
PDF
Using the test process improvement models. Case study based on TPI Next model...
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Project Management Tips to Improve Test Planning
Test Process Improvement in Agile
Test strategy &-testplanning
Agile QA Process
Agile Testing
Test Process Improvement with TPI NEXT - what the model does not tell you but...
ISTQB Advanced Test Manager Training 2012 - Testing Process
Niels Malotaux - Help We Have a QA Problem!
Test Design with Action-based Testing Methodology - Ngo Hoang Minh
Henrik Andersson - Exploratory Testing Champions - EuroSTAR 2010
Agile Testing Days -Trends and future in testing 2017
Agile Testing Process
Erik Boelen - Testing, The Next Level
Geoff Thompson - Why Do We Bother With Test Strategies
Agile QA: Redefining Quality in the Wild West
Lean testing
Jarian van de Laar - Test Policy - Test Strategy
Using the test process improvement models. Case study based on TPI Next model...
Ad

Similar to Agile testing (20)

PPT
Testing in Agile Projects
PDF
The Case for Agile testing
PDF
Automation in Scrum Testing: Speed Without Sacrificing Quality
PPTX
Agile Testing: The Role Of The Agile Tester
PPT
! Testing for agile teams
PDF
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
PDF
Testing in Agile Development
PDF
Agile testing practice
PPT
Quality assurance activities in agile
PPTX
Integrate Test Activities in Agile
PPTX
Introduction to Agile Testing
PDF
[Paul Holland] Trends in Software Testing
PDF
Helpful Practices in Agile Testing
PDF
IIBA and Solvera May Event - Testing w Agile slides
PDF
Agile testing overview
PDF
Agile testingoverview
PDF
Testers in an agile world
PDF
Agile testing (n)
PDF
Test i agile projekter af Gitte Ottosen, Sogeti
PDF
Agile case studies
Testing in Agile Projects
The Case for Agile testing
Automation in Scrum Testing: Speed Without Sacrificing Quality
Agile Testing: The Role Of The Agile Tester
! Testing for agile teams
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
Testing in Agile Development
Agile testing practice
Quality assurance activities in agile
Integrate Test Activities in Agile
Introduction to Agile Testing
[Paul Holland] Trends in Software Testing
Helpful Practices in Agile Testing
IIBA and Solvera May Event - Testing w Agile slides
Agile testing overview
Agile testingoverview
Testers in an agile world
Agile testing (n)
Test i agile projekter af Gitte Ottosen, Sogeti
Agile case studies
Ad

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Cloud computing and distributed systems.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mobile App Security Testing_ A Comprehensive Guide.pdf
Big Data Technologies - Introduction.pptx
Cloud computing and distributed systems.
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Agricultural_Statistics_at_a_Glance_2022_0.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...

Agile testing

  • 1. An Introduction to Agile Software Testing
  • 2. Hello! I am Joe Phan I’d like to give you a view about agile testing. You can find me a: ◆ https://www.linkedin.com/in/joe-phan-28b25a120/ ◆ Grenade.Eminem@gmail.com 2
  • 3. When do we test? 3
  • 5. Traditional Model Limitations ◆ Impossible to anticipate and estimate all tasks early in big projects ◆ Difficult to define requirements precisely without customers getting Hands On feel of product ◆ Changes later in the development cycle could be expensive to handle ◆ Working software delivered only at end of cycle 5
  • 6. Waterfall Problems ◆ Late delivery ◆ Over budget ◆ Wrong thing is delivered ◆ Testing “bottleneck” at end ◆ Heavyweight documentation 6
  • 8. What is Agility? Values, principles and practices that foster team communication and feedback to regularly deliver customer value through working software. 8
  • 9. 9
  • 12. How Agile Changes Things ◆ Whole Team Approach ◆ Coding and Testing are One Process ◆ Feedback, collaboration key ◆ TDD/ATDD practices ◆ Test-infected developers 12
  • 13. A Team Use big image
  • 14. The 7 Success Factors for Agile Testing ◆ Use the whole team approach ◆ Adopt an agile testing mindset ◆ Automate your regression testing ◆ Provide and obtain feedback ◆ Build a foundation of core agile practices ◆ Collaborate with customers ◆ Look at the big picture 14
  • 15. Do Your Best Work ◆ Whole Team approach Collaborate with customers, developers ◆ Business examples, turned into tests ◆ Agile Testing Quadrants ◆ Test Automation Pyramid ◆ Exploratory testing 15
  • 16. Whole Team Approach ◆ Team commitment to quality ◆ Team responsible for testing ◆ Testers get support, training ◆ Anyone can do any task ◆ Testers transfer testing knowledge ◆ Collaboration 16
  • 17. Early and Frequent Feedback ◆ Avoiding requirements misunderstandings ◆ Clarifying customer feature requests ◆ Discovering (via continuous integration), isolating, and resolving quality problems early ◆ Providing information to the Agile team regarding its productivity and ability to deliver ◆ Promoting consistent project momentum 17
  • 18. Testing is Not a Phase ◆ Development = testing + coding Write test, write code, test ◆ Unit and Acceptance Test levels ◆ Automated tests Free time for exploratory testing 18
  • 21. What is Exploratory Testing? ◆ Exploratory testing is a testing approach where you explore the system and venture into those aspects and functionalities which may or may not directly affect the system’s outputs, in order to find underlying errors. ◆ The purpose of performing exploratory tests is to learn more about the system and its functionality and using your existing knowledge about the system to find errors. 21
  • 23. Sprints ◆ Scrum projects make progress in a series of “sprints” ◆ Typical duration is 2–4 weeks or a calendar month at most ◆ A constant duration leads to a better rhythm ◆ Product is designed, coded, and tested during the sprint ◆ Product is potentially shippable after every Sprint 23
  • 26. Roles ◆ Product Owner • Defines features and release plans • Responsible for development schedule and prioritizing Product Backlog • Accept or reject work results • DARK - Desire, Authority, Responsibility, Knowledge (Business and Technical) ◆ Scrum Master • Coaches the development team and responsible for productivity • Facilitates Scrum ceremonies • Establishes and enforces Scrum rules and responsible for the success of the process • Shields the team from noise and removes obstacles • Enables close cooperation across all roles 26
  • 27. Roles ◆ Team • Cross-functional:Programmers, testers, user experience designers, etc. • Responsible for self-organising tasks and committing to work (no one assigns stories or tasks to team members, team must self- organise) • Teams are self-organizing 27
  • 29. Sprint planning (4 hours + 4 hours) 29
  • 30. Sprint Events ◆ Daily scrum meeting (10-15 mins) • What did you do yesterday? • What will you do today? • What is blocking your work? ◆ Sprint review • Demo of new features to customer/product owner • Team presents work accomplished during the sprint • All major stakeholders participate ◆ Sprint retrospective • Periodic post mortem to review what's working and what's not • Short workshop session for team to review lessons learned and discuss actions for the next Sprint • All major stakeholders participate30
  • 32. Product backlog ◆ A list of all desired work on the project ◆ Ideally expressed such that each item has value to the users or customers of the product ◆ Prioritized by the product owner ◆ Reprioritized at the start of each sprint 32
  • 33. A sample product backlog 33
  • 36. QA Activities in Agile Testing ◆ Provide effort estimates during release and sprint plan ◆ Collaborate with business analysts and developers in defining requirements and designs ◆ Prepare test conditions based on design discussions • Just in time test cases only for current sprint and not entire project ◆ Execute test conditions and report issues • Usually, test driven development ◆ Automate feature specific test cases ◆ Report status, impediments in daily standup meetings ◆ Participate in Sprint review meeting36
  • 37. Testing Testing is the process of evaluating a product by learning about it through exploration and experimentation, which includes to some degree: questioning, study, modeling, observation, inference, etc. Checking vs. Testing Checking Checking is confirmative (verification and validation of what we already know). The outcome of a check is simply a pass or fail result; the outcome doesn’t require human interpretation. Hence checking should be the first target for automation. 37
  • 38. Checking vs. Testing James Bach points out that checking does require some element of testing; to create a check requires an act of test design, and to act upon the result of a check requires test result interpretation and learning. But its important to distinguish between the two because when people refer to Testing they really mean Checking. 38
  • 39. Checking vs. Testing Michael Bolton : “A development strategy that emphasizes checking at the expense of testing is one in which we’ll emphasize confirmation of existing knowledge over discovery of new knowledge. That might be okay. A few checks might constitute sufficient testing for some purpose; no testing and no checking at all might even be sufficient for some purposes. But the more we emphasize checking over testing, and the less testing we do generally, the more we leave ourselves vulnerable to the Black Swan. 39