SlideShare uma empresa Scribd logo
1 de 25
QA best practices
in Agile world
What is Agile?
Agile is a time boxed, iterative approach to software delivery that builds
software incrementally from the start of the project, instead of trying to
deliver it all at once near the end.
Agile Manifesto
12 principles of agile development
• Satisfy the customer through early and continuous delivery
• Welcome changing requirements, even late in development
• Deliver working software frequently
• Business people and developers work together daily
• Build projects around motivated individuals
• Convey information via face-to-face conversation
• Working software is the primary measure of progress
• Maintain a constant pace indefinitely
12 principles of agile development
• Give continuous attention to technical excellence
• Simplify: maximize the amount of work not done
• Teams self-organize
• Teams retrospect and tune their behaviors
The Software Development Evolution –
Traditional to Agile
• Growing Realization that Requirements are never fully understood
• Fast paced development environments using new development Technologies and
Tools
• Shortened product delivery cycles
• Increased involvement of business users in the development cycle
• Migration towards Agile product development models like SCRUM, RUP, XP
Agile Misconception
• Compromises on quality
• Testers get easily influenced by developers,
• Testers concerns/voice is less heard
• Agile squeezes all SDLC phases in 2 to 4 weeks (which ideally should
happen in 4 to 8 months)
The challenges?
• Is QA part of the development team?
• Can we fit QA in the same iteration as development?
• Does QA costs more in Agile as product seems to change from sprint to sprint?
• Do we need “test plan”?
• Are story acceptance tests enough?
• When do we know testing is done?
• Do we need to track bugs?
Why Agile Testing
• Faster time-to-market
• Increases revenue and market share
• Reduces cost
• Improves quality
• Happy customers and happy employees
Being Agile
Testing best practices in Agile world
• Communication is the key
• Onsite customer, programmers in shared space
• Communicate in person, not via document
• Rapid feedback
• Short increments
• Measure progress only by working code
Testing best practices in Agile world
• Attend daily stand ups, sprint planning, retrospective sessions
• Execute acceptance criteria manually (current sprint)
• Automate smoke tests UI/regression (previous sprint)
• Demo effectiveness of testing
Testing is continues, NOT a Phase
Testing is Collaborative
• Quality is everyone’s problem, not just of testers
• Testing is the responsibility of the whole team
Quick feedback
• Faster feedback loops Increase Agility – the ability to respond to
change
• Test Automation provides quick feedback on how the software is
behaving
“Leave no broken windows”
• Fix bugs as they are found
• The sooner you find a defect, the cheaper it is to fix
What are acceptance tests?
• Tests that demonstrate business purpose from end user’s point of view
• Black-box testing
What is Acceptance Test Driven
Development(ATDD)
A practice in which the whole team collaboratively discusses acceptance criteria,
with examples, and then distills them into a set of concrete acceptance tests before
development begins.
QA Role in Release Planning
• In contrast to traditional processes testers are involved from day one of the
project.
• Sizing Stories – QA gives estimate for testing effort for the upcoming stories. In
some cases testing a piece of functionality might take longer than coding it.
• Prioritizing – Stories that have many unknown areas or have high business impact
should be planned in an early iteration, so there is time to recover if story blows
up.
• Infrastructure – Plan for CI setup, test environment, test data set up
QA role at the iteration kick-off
Write high level test cases
Write detailed test cases
Acceptance testing for API
Detailed functional testing for API
Exploratory testing
Automation
Review high level test cases with developers
Release Sprint Testing (Harding Sprint)
Following testing activities need to occur during release sprint before finally
shipping the product.
• Final pass of end-to-end system integration test
• Final performance/security test
• Documentation touch ups
• User Acceptance Test
• Time required is greatly reduced (from initial 3 weeks to 1 week, in our case ) as
compared to traditional process and less likelihood of any surprises.
Agile testing-Summary
• Increased customer satisfaction
• On time deliveries without compromising quality
• Iteration wise testing makes QA more focused on specific
functionality which results in effective testing.
• Due to stable builds test cases execution was fast
• Reduction in number of defects observed in testing
Thank you
QA Best Practices in Agile World_new

Mais conteúdo relacionado

Mais procurados

Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Derk-Jan de Grood
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileTechWell
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best PracticesStephen Ritchie
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 

Mais procurados (20)

Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018Test Management in Agile - Agile testing Days 2018
Test Management in Agile - Agile testing Days 2018
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond Agile
 
Agile Testing Best Practices
Agile Testing Best PracticesAgile Testing Best Practices
Agile Testing Best Practices
 
TCoE
TCoETCoE
TCoE
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Qa testing best practices
Qa testing best practicesQa testing best practices
Qa testing best practices
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 

Semelhante a QA Best Practices in Agile World_new

Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxManishaPatil932723
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015ITSpringBY
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
 
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Emerasoft, solutions to collaborate
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa managergaoliang641
 
Agile software development
Agile software developmentAgile software development
Agile software developmentSiddharth Sharma
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsPerfecto Mobile
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Applying Quality to the Project and Product Management Process
Applying Quality to the Project and Product Management ProcessApplying Quality to the Project and Product Management Process
Applying Quality to the Project and Product Management ProcessKaali Dass PMP, PhD.
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
Digital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolisDigital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolisPeter Varhol
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 

Semelhante a QA Best Practices in Agile World_new (20)

Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptx
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
7 steps to Software test automation success
7 steps to Software test automation success7 steps to Software test automation success
7 steps to Software test automation success
 
UNIT IV.ppt
UNIT IV.pptUNIT IV.ppt
UNIT IV.ppt
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Applying Quality to the Project and Product Management Process
Applying Quality to the Project and Product Management ProcessApplying Quality to the Project and Product Management Process
Applying Quality to the Project and Product Management Process
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Digital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolisDigital transformation through devops dod indianapolis
Digital transformation through devops dod indianapolis
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 

QA Best Practices in Agile World_new

  • 1. QA best practices in Agile world
  • 2. What is Agile? Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.
  • 4. 12 principles of agile development • Satisfy the customer through early and continuous delivery • Welcome changing requirements, even late in development • Deliver working software frequently • Business people and developers work together daily • Build projects around motivated individuals • Convey information via face-to-face conversation • Working software is the primary measure of progress • Maintain a constant pace indefinitely
  • 5. 12 principles of agile development • Give continuous attention to technical excellence • Simplify: maximize the amount of work not done • Teams self-organize • Teams retrospect and tune their behaviors
  • 6. The Software Development Evolution – Traditional to Agile • Growing Realization that Requirements are never fully understood • Fast paced development environments using new development Technologies and Tools • Shortened product delivery cycles • Increased involvement of business users in the development cycle • Migration towards Agile product development models like SCRUM, RUP, XP
  • 7. Agile Misconception • Compromises on quality • Testers get easily influenced by developers, • Testers concerns/voice is less heard • Agile squeezes all SDLC phases in 2 to 4 weeks (which ideally should happen in 4 to 8 months)
  • 8. The challenges? • Is QA part of the development team? • Can we fit QA in the same iteration as development? • Does QA costs more in Agile as product seems to change from sprint to sprint? • Do we need “test plan”? • Are story acceptance tests enough? • When do we know testing is done? • Do we need to track bugs?
  • 9. Why Agile Testing • Faster time-to-market • Increases revenue and market share • Reduces cost • Improves quality • Happy customers and happy employees
  • 11. Testing best practices in Agile world • Communication is the key • Onsite customer, programmers in shared space • Communicate in person, not via document • Rapid feedback • Short increments • Measure progress only by working code
  • 12. Testing best practices in Agile world • Attend daily stand ups, sprint planning, retrospective sessions • Execute acceptance criteria manually (current sprint) • Automate smoke tests UI/regression (previous sprint) • Demo effectiveness of testing
  • 13. Testing is continues, NOT a Phase
  • 14. Testing is Collaborative • Quality is everyone’s problem, not just of testers • Testing is the responsibility of the whole team
  • 15. Quick feedback • Faster feedback loops Increase Agility – the ability to respond to change • Test Automation provides quick feedback on how the software is behaving
  • 16. “Leave no broken windows” • Fix bugs as they are found • The sooner you find a defect, the cheaper it is to fix
  • 17. What are acceptance tests? • Tests that demonstrate business purpose from end user’s point of view • Black-box testing
  • 18. What is Acceptance Test Driven Development(ATDD) A practice in which the whole team collaboratively discusses acceptance criteria, with examples, and then distills them into a set of concrete acceptance tests before development begins.
  • 19.
  • 20. QA Role in Release Planning • In contrast to traditional processes testers are involved from day one of the project. • Sizing Stories – QA gives estimate for testing effort for the upcoming stories. In some cases testing a piece of functionality might take longer than coding it. • Prioritizing – Stories that have many unknown areas or have high business impact should be planned in an early iteration, so there is time to recover if story blows up. • Infrastructure – Plan for CI setup, test environment, test data set up
  • 21. QA role at the iteration kick-off Write high level test cases Write detailed test cases Acceptance testing for API Detailed functional testing for API Exploratory testing Automation Review high level test cases with developers
  • 22. Release Sprint Testing (Harding Sprint) Following testing activities need to occur during release sprint before finally shipping the product. • Final pass of end-to-end system integration test • Final performance/security test • Documentation touch ups • User Acceptance Test • Time required is greatly reduced (from initial 3 weeks to 1 week, in our case ) as compared to traditional process and less likelihood of any surprises.
  • 23. Agile testing-Summary • Increased customer satisfaction • On time deliveries without compromising quality • Iteration wise testing makes QA more focused on specific functionality which results in effective testing. • Due to stable builds test cases execution was fast • Reduction in number of defects observed in testing