SlideShare uma empresa Scribd logo
1 de 27
QA & Quality Planning
for Agile projects
Agenda
• About QA/Testing
• Some terminology
• Traditional testing practices
• Formulating a test strategy for the project
• Iteration metrics
• Success factors for quality in agile projects
What is Quality
"Quality is a customer determination. It is based
on the customer's actual experience with the
product or service, measured against his or her
requirements”
Software Quality Assurance(SQA)
• Is a set of processes and methods to that is applied throughout the
software process to ensure quality of products
– Comply with standards (ex: ISO 9001,CMMI)
– Encompasses software development process
• Documentation
• Reviews , Inspections
• Testing
• Configuration management, source control
• Measurement and reporting
Software testing(quality control)
• Is a process of verifying and validating that it meets the business and
technical requirements of the product being developed
•Also identifies important defects, flaws, or bugs in the application code
that must
be fixed.
Essentially we check for
• Completeness
• Fitness for purpose
• Risks
Testing types
– Unit testing
• Automatic test on code level run every night or after new code is added – to verify no bugs
introduced
– Integration testing
• Testing interactions between different modules of the system
– Feature testing
• Performed by a QA when a feature is finished implemented
– System testing
• To verify whether the system as a whole meets the specified requirements
– ExploratoryTesting
• Exploratory testing is simultaneous learning, test design, and test execution.
– Regression Testing
• Test to detect side effects from changes to the system, i.e after bug fix
– User acceptance testing
• End user testing
– Compatibility testing
• Verification of compatibility between AMX applications and the different OS, office applications, browsers and
databases etc that we support
How Traditional Test Practices
Evolved
How Traditional Test Practices
Evolved
Agile testing defined
• Agile testing is a software testing practice that follows the principles of Agile
software development (remember agile manifesto..)
• Agile development integrates testing into the development process, rather than
keeping it as a separate and distinct SDLC
• Agile testing involves a cross-functional Agile team
• Agile teams use a “whole-team” approach to “bake in quality” to the software
product.
Role of the tester
• Have an agile mindset
• be an advocate to the end user
– Understand the need of end user due to absence of
detailed specs
– Participate in scrum meetings
– Absorb user stories/ ask questions to clarify
• Working directly with devs, designers etc.
• Cross functional
• Expect changes and adapt
Test Strategy in agile
• Have a test plan then get it validated and approved by whole team/ client
– Scope, resourcing, risks, test types, infrastructure, test environment test data, results
• Finding the right mix with testing methods. Have a right balance of
• Automation
– CI
– Unit
– UI/API
• User acceptance testing(beta testing)
• Exploratory testing
– Systems with heavy business logic favor test automation
– Consumer-facing systems favor beta testing
• Building a foundation for core agile practices
• Choose right people
Sample test plan
Test plan
Agile testing quadrant
Testing in agile
• We start our testing activities at Release planning stage
• Release planning
– Create test plans
• High level test planning
• budgeting enough time
– Participate in story sizing
“No story is done until its tested”
– Prioritizing
“What stories finish by release”
Testing in agile
• Each Sprint
– Participate in sprint planning
– Estimate tasks(QA input)
– Write test cases using stories(QA)
• High level test cases before coding begins- guide dev
• Detailed test cases written during coding
• Condition of satisfaction in user story
– Unit/ Integration tests(Dev)
• Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately
– Pair tests(Dev + QA)
• Performed when a part of a feature is finished implemented. Bugs found are fixed immediately
– Feature tests(QA)
• Performed when a feature is finished implemented. Errors found are logged in main project in bug system and
prioritized during next sprint planning. After all prioritized bugs are fixed, the feature is ready for System Test at
the end .
– Reviews (stories, req, test cases with customer, programmer)
• Increase collaboration and communications
Test cases
Test cases deriving techniques
• Boundary testing
• Equivalence classes
• Decision tables
• State transitional diagrams
• Risk Analysis
Testing in agile
• Each Sprint contd…
– Test automation
• Automate new functional test cases
• Run automated regression tests
– Perform non functional testing (load, security, usability etc.)
• Non-functional tests can be included as US/tasks in the sprints
– Demo to the stakeholders
Agile test automation pyramid
Testing in agile
• Hardening sprint (optional)
– A hardening sprint can be used for bug fixes in previous sprints. Bugs that are prioritized
will be considered here
– Do it near the release
– The end game(System test)
Every member in the team is involved in this.
• Mock deploy on staging
• Smoke test on staging
• Perform non functional testing (load, security, usability etc)
• Complete regression test
• Perform UAT tests
• Other tests
– Compatibility(DB upgrade etc)
– Installation
– Localization etc
Testing in agile
• Release
– Define Exit criteria
• Testing activities (bug severity, open bugs, coverage levels, metrics etc)
• Product Artifacts (user guide, installation guides, other necessary
documentation are in place)
– Participate in retrospectives
• Start
• Stop
• Continue
Testing-outlined
• Test strategy in agile development
Release
planning
(test plan)
Each Sprint
(Sprint QA
activities)
Hardening
Sprint
(system test)
Release QA
activities
Metrics
To enhance predictability…
– Measuring progress
• Burn down charts
• Estimated vs. Actual time for tasks
– Defect metrics
• Root cause analysis
• Results from defect tracking system
– Traceability metrics
• Test coverage (story vs. test cases)
• Code coverage
Success factors for high quality
agile projects
• Whole team approach
• Automation (regression)
• Collaboration with customer/stakeholders
• Adopt agile mindset
• Provide and obtain feedback
• Building a foundation of core agile practices
Q&A
Thank you

Mais conteĂşdo relacionado

Mais procurados

Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
Martin Ruddy
 

Mais procurados (20)

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
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Sap test center of excellence
Sap test center of excellenceSap test center of excellence
Sap test center of excellence
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
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 QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
TCoE
TCoETCoE
TCoE
 
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
 

Destaque

Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
alice yang
 
Lab 7b) test a web application
Lab 7b) test a web applicationLab 7b) test a web application
Lab 7b) test a web application
techbed
 
Methods to test an e-learning Web application.
Methods to test an e-learning Web application.Methods to test an e-learning Web application.
Methods to test an e-learning Web application.
telss09
 
Navyug Process Flow QA
Navyug Process Flow QANavyug Process Flow QA
Navyug Process Flow QA
Sadhvi Singh
 
How to organize qa process in agile speed
How to organize qa process in agile speedHow to organize qa process in agile speed
How to organize qa process in agile speed
Svitlana Dubyk
 
Agile Testing: It's about time
Agile Testing: It's about timeAgile Testing: It's about time
Agile Testing: It's about time
Atlassian
 

Destaque (18)

How to brew a tasty agile test strategy
How to brew a tasty agile test strategyHow to brew a tasty agile test strategy
How to brew a tasty agile test strategy
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
 
Lab 7b) test a web application
Lab 7b) test a web applicationLab 7b) test a web application
Lab 7b) test a web application
 
Experience Report in #DEWT5: Where is test strategy with an agile team
Experience Report in #DEWT5: Where is test strategy with an agile teamExperience Report in #DEWT5: Where is test strategy with an agile team
Experience Report in #DEWT5: Where is test strategy with an agile team
 
Methods to test an e-learning Web application.
Methods to test an e-learning Web application.Methods to test an e-learning Web application.
Methods to test an e-learning Web application.
 
Get into bed with qa and keep testing agile
Get into bed with qa and keep testing agileGet into bed with qa and keep testing agile
Get into bed with qa and keep testing agile
 
Demand For Data Scientist
Demand For Data ScientistDemand For Data Scientist
Demand For Data Scientist
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application Security
 
product Qa workflow
product Qa workflowproduct Qa workflow
product Qa workflow
 
Navyug Process Flow QA
Navyug Process Flow QANavyug Process Flow QA
Navyug Process Flow QA
 
Database Web Application User Test 2
Database Web Application User Test 2Database Web Application User Test 2
Database Web Application User Test 2
 
Sw testing and qa basics
Sw testing and qa basicsSw testing and qa basics
Sw testing and qa basics
 
Agile 20015 Boot Camp: Intro to Agile Testing - Everyone Owns Quality
Agile 20015 Boot Camp: Intro to Agile Testing - Everyone Owns QualityAgile 20015 Boot Camp: Intro to Agile Testing - Everyone Owns Quality
Agile 20015 Boot Camp: Intro to Agile Testing - Everyone Owns Quality
 
Getting Ready for UAT
Getting Ready for UATGetting Ready for UAT
Getting Ready for UAT
 
How to organize qa process in agile speed
How to organize qa process in agile speedHow to organize qa process in agile speed
How to organize qa process in agile speed
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy
 
QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel Lucent
 
Agile Testing: It's about time
Agile Testing: It's about timeAgile Testing: It's about time
Agile Testing: It's about time
 

Semelhante a Testing strategy for agile projects updated

1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing concepts
sulaimanr85
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
Syed Muhammad Hammad
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rizky Munggaran
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
vidhyyav
 

Semelhante a Testing strategy for agile projects updated (20)

Formulating Agile Testing Strategy
Formulating Agile Testing StrategyFormulating Agile Testing Strategy
Formulating Agile Testing Strategy
 
1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing concepts
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software testing
Software testingSoftware testing
Software testing
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
UNIT IV.ppt
UNIT IV.pptUNIT IV.ppt
UNIT IV.ppt
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 

Mais de Tharinda Liyanage (7)

Qa and Testing
Qa and TestingQa and Testing
Qa and Testing
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 
Useful JMeter functions for scripting
Useful JMeter functions for scriptingUseful JMeter functions for scripting
Useful JMeter functions for scripting
 
Introduction to Performance Testing
Introduction to Performance TestingIntroduction to Performance Testing
Introduction to Performance Testing
 
Coded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object ModelCoded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object Model
 
PerfTest in SOA
PerfTest in SOAPerfTest in SOA
PerfTest in SOA
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Christopher Logan Kennedy
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Testing strategy for agile projects updated

  • 1. QA & Quality Planning for Agile projects
  • 2. Agenda • About QA/Testing • Some terminology • Traditional testing practices • Formulating a test strategy for the project • Iteration metrics • Success factors for quality in agile projects
  • 3. What is Quality "Quality is a customer determination. It is based on the customer's actual experience with the product or service, measured against his or her requirements”
  • 4. Software Quality Assurance(SQA) • Is a set of processes and methods to that is applied throughout the software process to ensure quality of products – Comply with standards (ex: ISO 9001,CMMI) – Encompasses software development process • Documentation • Reviews , Inspections • Testing • Configuration management, source control • Measurement and reporting
  • 5. Software testing(quality control) • Is a process of verifying and validating that it meets the business and technical requirements of the product being developed •Also identifies important defects, flaws, or bugs in the application code that must be fixed. Essentially we check for • Completeness • Fitness for purpose • Risks
  • 6. Testing types – Unit testing • Automatic test on code level run every night or after new code is added – to verify no bugs introduced – Integration testing • Testing interactions between different modules of the system – Feature testing • Performed by a QA when a feature is finished implemented – System testing • To verify whether the system as a whole meets the specified requirements – ExploratoryTesting • Exploratory testing is simultaneous learning, test design, and test execution. – Regression Testing • Test to detect side effects from changes to the system, i.e after bug fix – User acceptance testing • End user testing – Compatibility testing • Verification of compatibility between AMX applications and the different OS, office applications, browsers and databases etc that we support
  • 7. How Traditional Test Practices Evolved
  • 8. How Traditional Test Practices Evolved
  • 9. Agile testing defined • Agile testing is a software testing practice that follows the principles of Agile software development (remember agile manifesto..) • Agile development integrates testing into the development process, rather than keeping it as a separate and distinct SDLC • Agile testing involves a cross-functional Agile team • Agile teams use a “whole-team” approach to “bake in quality” to the software product.
  • 10. Role of the tester • Have an agile mindset • be an advocate to the end user – Understand the need of end user due to absence of detailed specs – Participate in scrum meetings – Absorb user stories/ ask questions to clarify • Working directly with devs, designers etc. • Cross functional • Expect changes and adapt
  • 11. Test Strategy in agile • Have a test plan then get it validated and approved by whole team/ client – Scope, resourcing, risks, test types, infrastructure, test environment test data, results • Finding the right mix with testing methods. Have a right balance of • Automation – CI – Unit – UI/API • User acceptance testing(beta testing) • Exploratory testing – Systems with heavy business logic favor test automation – Consumer-facing systems favor beta testing • Building a foundation for core agile practices • Choose right people
  • 15. Testing in agile • We start our testing activities at Release planning stage • Release planning – Create test plans • High level test planning • budgeting enough time – Participate in story sizing “No story is done until its tested” – Prioritizing “What stories finish by release”
  • 16. Testing in agile • Each Sprint – Participate in sprint planning – Estimate tasks(QA input) – Write test cases using stories(QA) • High level test cases before coding begins- guide dev • Detailed test cases written during coding • Condition of satisfaction in user story – Unit/ Integration tests(Dev) • Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately – Pair tests(Dev + QA) • Performed when a part of a feature is finished implemented. Bugs found are fixed immediately – Feature tests(QA) • Performed when a feature is finished implemented. Errors found are logged in main project in bug system and prioritized during next sprint planning. After all prioritized bugs are fixed, the feature is ready for System Test at the end . – Reviews (stories, req, test cases with customer, programmer) • Increase collaboration and communications
  • 18. Test cases deriving techniques • Boundary testing • Equivalence classes • Decision tables • State transitional diagrams • Risk Analysis
  • 19. Testing in agile • Each Sprint contd… – Test automation • Automate new functional test cases • Run automated regression tests – Perform non functional testing (load, security, usability etc.) • Non-functional tests can be included as US/tasks in the sprints – Demo to the stakeholders
  • 21. Testing in agile • Hardening sprint (optional) – A hardening sprint can be used for bug fixes in previous sprints. Bugs that are prioritized will be considered here – Do it near the release – The end game(System test) Every member in the team is involved in this. • Mock deploy on staging • Smoke test on staging • Perform non functional testing (load, security, usability etc) • Complete regression test • Perform UAT tests • Other tests – Compatibility(DB upgrade etc) – Installation – Localization etc
  • 22. Testing in agile • Release – Define Exit criteria • Testing activities (bug severity, open bugs, coverage levels, metrics etc) • Product Artifacts (user guide, installation guides, other necessary documentation are in place) – Participate in retrospectives • Start • Stop • Continue
  • 23. Testing-outlined • Test strategy in agile development Release planning (test plan) Each Sprint (Sprint QA activities) Hardening Sprint (system test) Release QA activities
  • 24. Metrics To enhance predictability… – Measuring progress • Burn down charts • Estimated vs. Actual time for tasks – Defect metrics • Root cause analysis • Results from defect tracking system – Traceability metrics • Test coverage (story vs. test cases) • Code coverage
  • 25. Success factors for high quality agile projects • Whole team approach • Automation (regression) • Collaboration with customer/stakeholders • Adopt agile mindset • Provide and obtain feedback • Building a foundation of core agile practices
  • 26. Q&A

Notas do Editor

  1. Prepare a SQA plan for a project - Participate in the development of the project’s software process description - Review engineering activities to verify compliance with the defined process - Audits designated software work products to verify compliance the defined process - Ensure the deviations in software work and products according to a documented procedure - Records any noncompliance and reports to senior management
  2. A product is tested so that it can be judged for 1. completeness 2. fitness for purpose 3. risks
  3. UAT tests at the user story level Core agile practices - CI - Test environment - Manage technical debt  technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice - working incrementally - make coding and testing part of one process - synergy between pratices
  4. The quadrants are merely a taxonomy to help teams plan their testing and make sure they have all the resources they need to accomplish it. There are no hard and fast rules about what goes in what quadrant. Think through them as you do your release, theme, and iteration planning, so your whole team starts out by thinking about testing first. Most projects would start with Q2 tests, because those are where you get the examples that turn into specifications and tests that drive coding, along with prototypes and the like. However, I have worked on projects where we started out with performance testing (which is in Q4) on a spike of the architecture, because that was the most important criterion for the feature. If your customers are uncertain about their requirements, you might even do a spike and start with exploratory testing (Q3). Q3 and Q4 testing pretty much require that some code be written and deployable, but most teams iterate through the quadrants rapidly, working in small increments. Write a test for some small chunk of a feature, write the code, once the test is passing, perhaps automate more tests for it, do exploratory testing on it, do security or load testing on it, whatever, then add the next small chunk and go through the whole process again.
  5. Test plan- helps to identify possible issues and dependencies, to bring risks to be talked about and to be addressed and to think about the big picture. Story sizing- sometimes testing wasn’t include in estimates of story size. Sometimes testing a piece of functionality will take longer than coding it. To identify ripple effect and to uncover hidden stories with in a story.
  6. To achieve Definition of done. We have to make sure that each story is tested. Peer reviewed. Review stories from the customer and tester perspective with programmer. Look for mismatches Before the start of testing, the development team’s detailed design documents must be approved so that test case creation can start. Both coding and testing are performed incrementally and iteratively in Sprints (or iterations
  7. Test automation - need to reduce repetitive work of the tester so that more time can be spent doing exploratory testing. - need to identify repetitive tasks - identify tools, - skills
  8. Lowest tier made up of robust unit and component tests which are technology-facing tests that supports the team (TDD) has the biggest ROI. Other types of tech-facing tests such as performance testis may also be at unit level Middle tier includes most of the automated business-facing tests that supports the team. These are functional tests. These tests operate at the API level. Top tier represent the smallest automation effort and provides lowest ROI. They operate on presentation layer. They are much more brittle
  9. Test strategy document can be used to give new employees a high level understanding of how your test processes work. Keeping the agile nature in mind, we have identified areas that we can incorporate QA activities.
  10. Measuring progress- you need an idea how much work is left and whether some stories cannot be completed on time. Go for different plans as needed. Defect metrics- track what type of bugs are popping up and their root cause. Whether they could have been captured in unit test level so that training on writing unit tests. Misunderstood requirements, not enough time for iteration planning or UAT test cases are not detailed enough.
  11. Whole team- team committed, daily collaborate, testers get support, get right people Agile mindset- what can we do to help deliver software successfully?, apply agile principles and values, continually improve, not the quality police , be proactive, take resposibilty Automation- drive development with tests (unit tests), design for testability Feedback- team uses feedback to improve, testers are expert feedback providers, feedback makes course correction, do reprospectives Core agile practices - CI - Test environment - Manage technical debt - working incrementally - make coding and testing part of one process - synergy between practices Customer collaboration – ask questions, work with customer to understand the true needs, identify risks so customer can make best decisions