SlideShare a Scribd company logo
1 of 27
Download to read offline
QA in an Agile
Environment
© 2015 Intelliware Development Inc.
QA in Agile – Introduction
Software quality assurance (SQA) is defined as a planned and systematic
approach to the evaluation of the quality of and adherence to software product
standards, processes, and procedures.1 This systematic approach is actually
quite different in Agile and non-Agile environments. There are several key
differences in these approaches that we’ll address in this presentation.
What You’ll Learn in this Presentation:
• The role of QA on an Agile team
• The testing that QA should focus on
© 2015 Intelliware Development Inc. 1 https://jira.atlassian.com/secure/attachment/17146/sqa+activities.txt
Agile has two tenets in particular that muddy the waters around testing:
1. Teams are cross-functional and self-organizing
• Everyone is expected to be able to help deliver any story (minimal specialization)
• Everyone is responsible for ensuring high quality deliverables
2. Iterative development - every sprint’s deliverable is a potential release
candidate
• Testing must be ongoing through the entire development lifecycle
• Balance must be maintained between testing new functionality and system regression
testing
3© 2015 Intelliware Development Inc.
Why is QA in Agile so different from
Traditional QA?
Waterfall vs. Agile: The Role of QA
© 2015 Intelliware Development Inc.
There are several other important differences between QA in a traditional
(Waterfall) environment and QA in an Agile environment.2
2 https://dzone.com/articles/waterfall-vs-agile-qa-management
Agile Waterfall
Black box and white box testing, deep knowledge of internal work
ings of internal workings of the application.
Black box testing, no need for deep knowledge of internal
workings of the application.
Main function is to help produce killer applications. Main function is to certify the quality of the product.
Work in parallel with development, testing as soon as new source
code is produced.
Work in branches at the end of milestones.
Heavily based on automated testing.
Not much need for automated testing, if any. Only some UI
automated testing is performed.
Integrated with the development team. There is only one team. A completely separate team from development.
Key role interacting with the business. They make sure that the
expectation from the customer (acceptance criteria) are met.
Not much interaction with the business. Their purpose is to make
sure that the application meets whatever is specified in the
requirements document.
Waterfall vs. Agile: Management’s View of QA
© 2015 Intelliware Development Inc.
Management also sees QA differently in an Agile environment.3
3 https://dzone.com/articles/waterfall-vs-agile-qa-management
Agile Waterfall
With regards to development and QA, focus on
empowerment.
With Regards to development and QA, focus on
controlling.
With regards to business, focus on producing the best
application for the customer.
With regards to business focus on producing contracts for
business requirements, detailed architecture and planning.
Manage basic agile processes: Scrum, Lean, XP… Manage complex processes: RUP, CMMI
QA ON AGILE TEAMS
© 2015 Intelliware Development Inc.
7© 2015 Intelliware Development Inc.
Where do QA team members fit in?
In short, through the entire process!
1. Requirements generation
2. Estimations
3. Planning
4. Documentation
5. Day-to-day sprint execution
6. Defining “done”
7. And of course, testing!
Quality Assurance
Quality Control
1. Requirements Generation
• QA can assist the BA / Product Owner with writing story cards
• Identify missing user stories
• Identify what is out of scope
• Identify dependencies between user stories
• QA can assist the BA / Product Owner with detailed story
documents
• Identify edge cases
• Generate Acceptance Criteria
• Identify gaps in details on the detailed story documents
• Typically, QA team members know the ins and outs of the
whole system better than anyone else on the team!
8© 2015 Intelliware Development Inc.
2. Estimations
• Epic Estimations
• Identify functionality the developers may not have considered
• Provide overall system knowledge, particularly around
interdependencies
• Story Estimations
• Identify edge cases
• Developers often focus on “Happy Path”
• Identify potential impact on other parts of the system
• Identify potential automated regression tests
9© 2015 Intelliware Development Inc.
3. Planning
• Release Planning
• Identify sprints with significant regression test time
• Plan releases such that expected QA workload is sustainable
• Sprint Planning
• Identify user stories with excessive QA requirements
• Plan sprints such that expected QA workload is sustainable
• Remember – Story point estimates are based on
development effort
• Some user stories have QA requirements which exceed the norm; the
QA team is responsible for pointing this out to avoid QA overload
during the sprint
10© 2015 Intelliware Development Inc.
4. Documentation
• Test Cases
• Based off of acceptance criteria
• Contains specific details and/or test data
• Detailed Story Document
• Works with BA / Product Owner to ensure that any issues or gaps are
captured
• Sometimes responsible for writing acceptance criteria
• User Guides
• Sometimes responsible for writing user guides (due to their overall
system knowledge)
11© 2015 Intelliware Development Inc.
5. Day-to-Day Sprint Execution
• Communication
• Regular interaction with developers and BA / Product Owner
• Comments on tracking system items (epics, stories, bugs, etc.) for
historical reference
• Participation in core Agile meetings
• Kickoff, sprint planning, stand-up, demos, retrospectives, estimations
• Parallel Testing
• On days when user stories are completed, emphasis is on those
• On other days, emphasis is on system regression testing
• On some projects, writing of automated regression tests is a QA
responsibility
12© 2015 Intelliware Development Inc.
6. Defining Done
• Acceptance Criteria
• Ensuring the acceptance criteria is comprehensive
• Ensuring edge cases are identified and covered in the user story
• Regression
• Verifying new functionality has not impacted existing functionality
• Story Workflow Tracking
• Moving user stories to COMPLETE after successful test execution
• Assigning user stories back to developers after failed test execution
13© 2015 Intelliware Development Inc.
7. Testing
• Work in parallel with development
• Completion of testing of most user stories by end of sprint
• Some stories will complete testing in following sprint
• Identify and report issues
• Issues should be documented and communicated to the BA
• BA works with the customer or product owner to determine if they
need to be resolved in the current sprint
• Re-test issues that have been fixed
• Balance their time between new functionality and
regression testing
• Details to follow…
14© 2015 Intelliware Development Inc.
© 2015 Intelliware Development Inc.
AGILE TESTING
APPROACH
Parallel QA
• QA should take place in parallel with development
• Stories should be tested as they are completed during the sprint
• Prevents overload of the QA team at the end of the sprint (which is
typically what happens on traditional projects)
• Reduces the risk of surprises
• QA may not be completed by end of sprint – that’s okay
• QA for stories completed near the end of a sprint may spill into the
next sprint
• This is not unusual and ought to be accommodated
16© 2015 Intelliware Development Inc.
Test Automation
• Developers are responsible for writing automated unit tests
with every story
• Developers should also write automated integration tests
• On automated integration tests:
• Helps regularly regression test the system
• Harder to write (and slower to run) than unit tests
• Should not use mocking (or stubs, or fakes) in most cases
• Often requires a test-specific database configuration
• Many tools exist ,such as Selenium or Protractor, to assist
17© 2015 Intelliware Development Inc.
Examples of Developer Automated Testing
versus QA Manual Testing
• Developers focus on “System Logic”
• Does known input produce expected output?
• Are logical pathways followed at the correct time?
• Are calculations producing expected results?
• Does the system handle zero, negative, null, and extreme values correctly?
• Are exceptions thrown at appropriate times? And handled correctly?
• QA team members focus on “System Behaviour”
• If a user does ‘A’, ‘B’, and ‘C’, does the system respond with ‘D’ as expected?
• Does the system respond as expected in different states? Is it repeatable?
• Is the user experience satisfactory? Even under load?
• Can unexpected user interaction “break” the system?
• If a user interacts with system ‘A’, does system ‘B’ act appropriately?
• Are there inconsistencies between different parts of the system?
18© 2015 Intelliware Development Inc.
Testing Example #2: Compatible with Manual
Testing
• Getting around system security
• User logs into the system,
• then navigates to a secure area,
• then logs out of the system, and
• then clicks the back button to return to the secure area.
• An automated test can work, but faces the following challenges:
• Time consuming to write and to execute on every build
• Can fail due to network or database instability, causing the build to fail
• Numerous potential scenarios to be considered
• Different browsers, different secure areas, different cookie settings, etc.
• QA team members can try many combinations quickly and easily!
19© 2015 Intelliware Development Inc.
Balancing New Functionality & System
Regression Testing
• In Agile, QA must balance testing new functionality versus
system regression testing
• When stories are completed the focus is on testing new
functionality; confirming that acceptance tests work as
expected
• At other times, the focus shifts towards regression testing
• Manual testing will be focused on boundary and behavioural
testing that can’t be easily automated
• Automated regression tests can be written either by developers or
QA (depends on team composition and workload); they should run
on every build
20© 2015 Intelliware Development Inc.
© 2015 Intelliware Development Inc.
QA CHALLENGES IN
AGILE
1. Development time issues
• A story takes much longer than expected
• Reduces available QA time
• Developers focus on too many concurrent stories
• Results in many days of no new story completions
• Followed by multiple stories completing development
concurrently
22© 2015 Intelliware Development Inc.
2. Environment Complications
• Test server(s) having issues
• Time needs to be spent fixing the server(s)
• QA needs to wait for someone else to fix them
• Test data corruption
• Time needs to be spent tracking down data problems
• Time needs to be spent fixing data problems
• External systems being down
• While developers can mock these scenarios in unit tests, QA needs
the actual systems working for their testing
• Often requires waiting for systems to be restored
23© 2015 Intelliware Development Inc.
3. Unexpected Workload Increase
• Sprint scope changes
• New test cases need to be written
• May have to regression test based on story removal
• Large or high priority bugs
• Reproducing the issue
• Re-testing after development fix
24© 2015 Intelliware Development Inc.
Potential Remedies to QA Challenges in Agile
• 1. Organize development work
• Schedule higher risk stories early in the release (and sprint)
• Have developers focus on fewer concurrent stories
• Plan themed sprints to help reduce regression testing requirements
• Avoid including too many stories (in sprint planning) with high QA
requirements
• 2. Share responsibilities
• BA and/or developers can perform some QA duties if needed
• Regression testing (or production issue testing) can be done by
another team
• Developers can write additional automated tests
25© 2015 Intelliware Development Inc.
© 2013 Intelliware Development Inc.© 2015 Intelliware Development Inc.
About Intelliware Development Inc.
Intelliware is a custom software, mobile solutions and product development
company headquartered in Toronto, Canada. Intelliware is a leader in Agile
software development practices which ensure the delivery of timely high quality
solutions for clients. Intelliware is engaged as a technical partner by a wide
range of organizations in sectors that span Financial Services, Healthcare, ICT,
Retail, Manufacturing and Government.
/company/intelliware-development-inc-
/intelliware.inc
/intelliware_inc
/GooglePlusIntelliware
/www.intelliware.com
26
© 2013 Intelliware Development Inc.© 2015 Intelliware Development Inc.
Learn more about Agile in our Agile Methodology Series
27

More Related Content

What's hot

Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testingonsoftwaretest
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSyed Hassan Raza
 
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 TestingDimitri Ponomareff
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaEdureka!
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteriaSoftheme
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing processGloria Stoilova
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a pontaElias Nogueira
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
 
AI assisted testing using postman and openAI.pdf
AI assisted testing using postman and openAI.pdfAI assisted testing using postman and openAI.pdf
AI assisted testing using postman and openAI.pdfsivaganeshsivakumar1
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testingsriks7
 

What's hot (20)

Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testing
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s Guide
 
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
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
 
Test Life Cycle
Test Life CycleTest Life Cycle
Test Life Cycle
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
The Thinking Tester, Evolved
The Thinking Tester, EvolvedThe Thinking Tester, Evolved
The Thinking Tester, Evolved
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
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
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
 
AI assisted testing using postman and openAI.pdf
AI assisted testing using postman and openAI.pdfAI assisted testing using postman and openAI.pdf
AI assisted testing using postman and openAI.pdf
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
Cucumber Tool
Cucumber ToolCucumber Tool
Cucumber Tool
 

Similar to QA in an Agile Environment

#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...Agile Testing Alliance
 
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...Calidad Infotech
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
No more excuses QASymphony
No more excuses QASymphonyNo more excuses QASymphony
No more excuses QASymphonyQASymphony
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Lessons learnt Integrating Test into the Agile Lifecycle
Lessons learnt Integrating Test into the Agile LifecycleLessons learnt Integrating Test into the Agile Lifecycle
Lessons learnt Integrating Test into the Agile LifecycleTEST Huddle
 
Vladimir Lozanov How to deliver high quality apps to the app store
Vladimir Lozanov	How to deliver high quality apps to the app storeVladimir Lozanov	How to deliver high quality apps to the app store
Vladimir Lozanov How to deliver high quality apps to the app storeАліна Шепшелей
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)bharathanche
 

Similar to QA in an Agile Environment (20)

#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
 
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
A Comprehensive Step-by-Step Guide for Designing an Agile-Friendly Automation...
 
Agile Testing - What is it?
Agile Testing - What is it?Agile Testing - What is it?
Agile Testing - What is it?
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
No more excuses QASymphony
No more excuses QASymphonyNo more excuses QASymphony
No more excuses QASymphony
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Lessons learnt Integrating Test into the Agile Lifecycle
Lessons learnt Integrating Test into the Agile LifecycleLessons learnt Integrating Test into the Agile Lifecycle
Lessons learnt Integrating Test into the Agile Lifecycle
 
Vladimir Lozanov How to deliver high quality apps to the app store
Vladimir Lozanov	How to deliver high quality apps to the app storeVladimir Lozanov	How to deliver high quality apps to the app store
Vladimir Lozanov How to deliver high quality apps to the app store
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
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
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 

More from Intelliware Development Inc.

Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...
Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...
Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...Intelliware Development Inc.
 
UX – A Way of Thinking, Lessons from the Real World
UX – A Way of Thinking, Lessons from the Real WorldUX – A Way of Thinking, Lessons from the Real World
UX – A Way of Thinking, Lessons from the Real WorldIntelliware Development Inc.
 
Everyone can learn to code: a starter's guide to software development
Everyone can learn to code: a starter's guide to software developmentEveryone can learn to code: a starter's guide to software development
Everyone can learn to code: a starter's guide to software developmentIntelliware Development Inc.
 
The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3Intelliware Development Inc.
 
21 Compelling Software Development Facts & Figures: Software Stats
21 Compelling Software Development Facts & Figures: Software Stats21 Compelling Software Development Facts & Figures: Software Stats
21 Compelling Software Development Facts & Figures: Software StatsIntelliware Development Inc.
 
Canadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology StandardsCanadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology Standards Intelliware Development Inc.
 
2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise
2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise
2012 Toronto Liferay Roadshow - Mobilizing Your EnterpriseIntelliware Development Inc.
 

More from Intelliware Development Inc. (20)

The Challenges of Agile Adoption
The Challenges of Agile AdoptionThe Challenges of Agile Adoption
The Challenges of Agile Adoption
 
Intelliware's Agile Adoption Checklist
Intelliware's Agile Adoption ChecklistIntelliware's Agile Adoption Checklist
Intelliware's Agile Adoption Checklist
 
Conducting Agile Retrospectives
Conducting Agile Retrospectives Conducting Agile Retrospectives
Conducting Agile Retrospectives
 
Agile Room Team Dynamics
Agile Room Team DynamicsAgile Room Team Dynamics
Agile Room Team Dynamics
 
Agile Project Estimating
Agile Project EstimatingAgile Project Estimating
Agile Project Estimating
 
Agile Release & Iteration Planning
Agile Release & Iteration PlanningAgile Release & Iteration Planning
Agile Release & Iteration Planning
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
7 Myths of Agile Development
7 Myths of Agile Development7 Myths of Agile Development
7 Myths of Agile Development
 
What is Agile Development?
What is Agile Development?What is Agile Development?
What is Agile Development?
 
Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...
Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...
Enterprise Wearables: Wearing Our Parts On Our Sleeves - How Wearable Technol...
 
UX – A Way of Thinking, Lessons from the Real World
UX – A Way of Thinking, Lessons from the Real WorldUX – A Way of Thinking, Lessons from the Real World
UX – A Way of Thinking, Lessons from the Real World
 
Everyone can learn to code: a starter's guide to software development
Everyone can learn to code: a starter's guide to software developmentEveryone can learn to code: a starter's guide to software development
Everyone can learn to code: a starter's guide to software development
 
The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3The HL7 Games: Catching FHIR - Healthcare Standards after v3
The HL7 Games: Catching FHIR - Healthcare Standards after v3
 
21 Compelling Software Development Facts & Figures: Software Stats
21 Compelling Software Development Facts & Figures: Software Stats21 Compelling Software Development Facts & Figures: Software Stats
21 Compelling Software Development Facts & Figures: Software Stats
 
Agile Room Dynamics
Agile Room Dynamics   Agile Room Dynamics
Agile Room Dynamics
 
Canadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology StandardsCanadian Healthcare Codes and Terminology Standards
Canadian Healthcare Codes and Terminology Standards
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Agile Release & Iteration Planning
Agile Release & Iteration Planning   Agile Release & Iteration Planning
Agile Release & Iteration Planning
 
Agile Estimating
Agile Estimating Agile Estimating
Agile Estimating
 
2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise
2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise
2012 Toronto Liferay Roadshow - Mobilizing Your Enterprise
 

Recently uploaded

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 challengesrafiqahmad00786416
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
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 FMESafe Software
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
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 2024Victor Rentea
 
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 FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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...DianaGray10
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
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 DiscoveryTrustArc
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Recently uploaded (20)

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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

QA in an Agile Environment

  • 1. QA in an Agile Environment © 2015 Intelliware Development Inc.
  • 2. QA in Agile – Introduction Software quality assurance (SQA) is defined as a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures.1 This systematic approach is actually quite different in Agile and non-Agile environments. There are several key differences in these approaches that we’ll address in this presentation. What You’ll Learn in this Presentation: • The role of QA on an Agile team • The testing that QA should focus on © 2015 Intelliware Development Inc. 1 https://jira.atlassian.com/secure/attachment/17146/sqa+activities.txt
  • 3. Agile has two tenets in particular that muddy the waters around testing: 1. Teams are cross-functional and self-organizing • Everyone is expected to be able to help deliver any story (minimal specialization) • Everyone is responsible for ensuring high quality deliverables 2. Iterative development - every sprint’s deliverable is a potential release candidate • Testing must be ongoing through the entire development lifecycle • Balance must be maintained between testing new functionality and system regression testing 3© 2015 Intelliware Development Inc. Why is QA in Agile so different from Traditional QA?
  • 4. Waterfall vs. Agile: The Role of QA © 2015 Intelliware Development Inc. There are several other important differences between QA in a traditional (Waterfall) environment and QA in an Agile environment.2 2 https://dzone.com/articles/waterfall-vs-agile-qa-management Agile Waterfall Black box and white box testing, deep knowledge of internal work ings of internal workings of the application. Black box testing, no need for deep knowledge of internal workings of the application. Main function is to help produce killer applications. Main function is to certify the quality of the product. Work in parallel with development, testing as soon as new source code is produced. Work in branches at the end of milestones. Heavily based on automated testing. Not much need for automated testing, if any. Only some UI automated testing is performed. Integrated with the development team. There is only one team. A completely separate team from development. Key role interacting with the business. They make sure that the expectation from the customer (acceptance criteria) are met. Not much interaction with the business. Their purpose is to make sure that the application meets whatever is specified in the requirements document.
  • 5. Waterfall vs. Agile: Management’s View of QA © 2015 Intelliware Development Inc. Management also sees QA differently in an Agile environment.3 3 https://dzone.com/articles/waterfall-vs-agile-qa-management Agile Waterfall With regards to development and QA, focus on empowerment. With Regards to development and QA, focus on controlling. With regards to business, focus on producing the best application for the customer. With regards to business focus on producing contracts for business requirements, detailed architecture and planning. Manage basic agile processes: Scrum, Lean, XP… Manage complex processes: RUP, CMMI
  • 6. QA ON AGILE TEAMS © 2015 Intelliware Development Inc.
  • 7. 7© 2015 Intelliware Development Inc. Where do QA team members fit in? In short, through the entire process! 1. Requirements generation 2. Estimations 3. Planning 4. Documentation 5. Day-to-day sprint execution 6. Defining “done” 7. And of course, testing! Quality Assurance Quality Control
  • 8. 1. Requirements Generation • QA can assist the BA / Product Owner with writing story cards • Identify missing user stories • Identify what is out of scope • Identify dependencies between user stories • QA can assist the BA / Product Owner with detailed story documents • Identify edge cases • Generate Acceptance Criteria • Identify gaps in details on the detailed story documents • Typically, QA team members know the ins and outs of the whole system better than anyone else on the team! 8© 2015 Intelliware Development Inc.
  • 9. 2. Estimations • Epic Estimations • Identify functionality the developers may not have considered • Provide overall system knowledge, particularly around interdependencies • Story Estimations • Identify edge cases • Developers often focus on “Happy Path” • Identify potential impact on other parts of the system • Identify potential automated regression tests 9© 2015 Intelliware Development Inc.
  • 10. 3. Planning • Release Planning • Identify sprints with significant regression test time • Plan releases such that expected QA workload is sustainable • Sprint Planning • Identify user stories with excessive QA requirements • Plan sprints such that expected QA workload is sustainable • Remember – Story point estimates are based on development effort • Some user stories have QA requirements which exceed the norm; the QA team is responsible for pointing this out to avoid QA overload during the sprint 10© 2015 Intelliware Development Inc.
  • 11. 4. Documentation • Test Cases • Based off of acceptance criteria • Contains specific details and/or test data • Detailed Story Document • Works with BA / Product Owner to ensure that any issues or gaps are captured • Sometimes responsible for writing acceptance criteria • User Guides • Sometimes responsible for writing user guides (due to their overall system knowledge) 11© 2015 Intelliware Development Inc.
  • 12. 5. Day-to-Day Sprint Execution • Communication • Regular interaction with developers and BA / Product Owner • Comments on tracking system items (epics, stories, bugs, etc.) for historical reference • Participation in core Agile meetings • Kickoff, sprint planning, stand-up, demos, retrospectives, estimations • Parallel Testing • On days when user stories are completed, emphasis is on those • On other days, emphasis is on system regression testing • On some projects, writing of automated regression tests is a QA responsibility 12© 2015 Intelliware Development Inc.
  • 13. 6. Defining Done • Acceptance Criteria • Ensuring the acceptance criteria is comprehensive • Ensuring edge cases are identified and covered in the user story • Regression • Verifying new functionality has not impacted existing functionality • Story Workflow Tracking • Moving user stories to COMPLETE after successful test execution • Assigning user stories back to developers after failed test execution 13© 2015 Intelliware Development Inc.
  • 14. 7. Testing • Work in parallel with development • Completion of testing of most user stories by end of sprint • Some stories will complete testing in following sprint • Identify and report issues • Issues should be documented and communicated to the BA • BA works with the customer or product owner to determine if they need to be resolved in the current sprint • Re-test issues that have been fixed • Balance their time between new functionality and regression testing • Details to follow… 14© 2015 Intelliware Development Inc.
  • 15. © 2015 Intelliware Development Inc. AGILE TESTING APPROACH
  • 16. Parallel QA • QA should take place in parallel with development • Stories should be tested as they are completed during the sprint • Prevents overload of the QA team at the end of the sprint (which is typically what happens on traditional projects) • Reduces the risk of surprises • QA may not be completed by end of sprint – that’s okay • QA for stories completed near the end of a sprint may spill into the next sprint • This is not unusual and ought to be accommodated 16© 2015 Intelliware Development Inc.
  • 17. Test Automation • Developers are responsible for writing automated unit tests with every story • Developers should also write automated integration tests • On automated integration tests: • Helps regularly regression test the system • Harder to write (and slower to run) than unit tests • Should not use mocking (or stubs, or fakes) in most cases • Often requires a test-specific database configuration • Many tools exist ,such as Selenium or Protractor, to assist 17© 2015 Intelliware Development Inc.
  • 18. Examples of Developer Automated Testing versus QA Manual Testing • Developers focus on “System Logic” • Does known input produce expected output? • Are logical pathways followed at the correct time? • Are calculations producing expected results? • Does the system handle zero, negative, null, and extreme values correctly? • Are exceptions thrown at appropriate times? And handled correctly? • QA team members focus on “System Behaviour” • If a user does ‘A’, ‘B’, and ‘C’, does the system respond with ‘D’ as expected? • Does the system respond as expected in different states? Is it repeatable? • Is the user experience satisfactory? Even under load? • Can unexpected user interaction “break” the system? • If a user interacts with system ‘A’, does system ‘B’ act appropriately? • Are there inconsistencies between different parts of the system? 18© 2015 Intelliware Development Inc.
  • 19. Testing Example #2: Compatible with Manual Testing • Getting around system security • User logs into the system, • then navigates to a secure area, • then logs out of the system, and • then clicks the back button to return to the secure area. • An automated test can work, but faces the following challenges: • Time consuming to write and to execute on every build • Can fail due to network or database instability, causing the build to fail • Numerous potential scenarios to be considered • Different browsers, different secure areas, different cookie settings, etc. • QA team members can try many combinations quickly and easily! 19© 2015 Intelliware Development Inc.
  • 20. Balancing New Functionality & System Regression Testing • In Agile, QA must balance testing new functionality versus system regression testing • When stories are completed the focus is on testing new functionality; confirming that acceptance tests work as expected • At other times, the focus shifts towards regression testing • Manual testing will be focused on boundary and behavioural testing that can’t be easily automated • Automated regression tests can be written either by developers or QA (depends on team composition and workload); they should run on every build 20© 2015 Intelliware Development Inc.
  • 21. © 2015 Intelliware Development Inc. QA CHALLENGES IN AGILE
  • 22. 1. Development time issues • A story takes much longer than expected • Reduces available QA time • Developers focus on too many concurrent stories • Results in many days of no new story completions • Followed by multiple stories completing development concurrently 22© 2015 Intelliware Development Inc.
  • 23. 2. Environment Complications • Test server(s) having issues • Time needs to be spent fixing the server(s) • QA needs to wait for someone else to fix them • Test data corruption • Time needs to be spent tracking down data problems • Time needs to be spent fixing data problems • External systems being down • While developers can mock these scenarios in unit tests, QA needs the actual systems working for their testing • Often requires waiting for systems to be restored 23© 2015 Intelliware Development Inc.
  • 24. 3. Unexpected Workload Increase • Sprint scope changes • New test cases need to be written • May have to regression test based on story removal • Large or high priority bugs • Reproducing the issue • Re-testing after development fix 24© 2015 Intelliware Development Inc.
  • 25. Potential Remedies to QA Challenges in Agile • 1. Organize development work • Schedule higher risk stories early in the release (and sprint) • Have developers focus on fewer concurrent stories • Plan themed sprints to help reduce regression testing requirements • Avoid including too many stories (in sprint planning) with high QA requirements • 2. Share responsibilities • BA and/or developers can perform some QA duties if needed • Regression testing (or production issue testing) can be done by another team • Developers can write additional automated tests 25© 2015 Intelliware Development Inc.
  • 26. © 2013 Intelliware Development Inc.© 2015 Intelliware Development Inc. About Intelliware Development Inc. Intelliware is a custom software, mobile solutions and product development company headquartered in Toronto, Canada. Intelliware is a leader in Agile software development practices which ensure the delivery of timely high quality solutions for clients. Intelliware is engaged as a technical partner by a wide range of organizations in sectors that span Financial Services, Healthcare, ICT, Retail, Manufacturing and Government. /company/intelliware-development-inc- /intelliware.inc /intelliware_inc /GooglePlusIntelliware /www.intelliware.com 26
  • 27. © 2013 Intelliware Development Inc.© 2015 Intelliware Development Inc. Learn more about Agile in our Agile Methodology Series 27