SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 

Was ist angesagt? (20)

Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Testing as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIsTesting as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIs
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 

Ähnlich wie QA Best Practices in Agile World_new

Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
gaoliang641
 

Ähnlich wie 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