SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy Impetus Technologies
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
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)Leonard Fingerman
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API TestingSauce Labs
 
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
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 

Tendances (20)

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
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
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 Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Cypress testing
Cypress testingCypress testing
Cypress testing
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Test Automation
Test AutomationTest Automation
Test Automation
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API Testing
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
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
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 

Similaire à 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
 

Similaire à 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