SlideShare a Scribd company logo
QA Role
In Agile Teams
SOFTWARE ENGINEERING – CAPSTONE PROJECT
ANWAR SADAT
Capstone Project 2017 2
Today’s Discussion
• Agile Methods and Quality
• Comparison of QA in Traditional versus Agile
• Agile QA Responsibilities
• Common Mistakes
• Conclusion
Capstone Project 2017 3
Agile Methods and Quality
Agile principle #9:
“Continuous attention to technical excellence and good
design enhances agility.”
Technical excellence is achieved in
many ways, but all include a
constant focus on quality.
Observation: Agile projects
emphasize quality much more than
traditional.
Capstone Project 2017 4
Agile Methods and Quality
HOW TO APPLY IT?
Applying Agile to QA
Capstone Project 2017
Comparison
QA testers are integral part of
development team
TRADITIONAL AGILE
QA is separate team
QA to Dev: “You write buggy software!”
Dev to QA: “You’re not good enough
to be a software developer!”
“I am part of the development team with
specialized expertise in delivering quality.”
“What can I do to help?”
Capstone Project 2017 7
Comparison
Test continuously, as early as
possible
AGILE
Test at end
TRADITIONAL
Capstone Project 2017 8
Comparison
Rely on conversations & shared
knowledge
AGILE
Rely on documents
TRADITIONAL
Capstone Project 2017 9
Comparison
Test functional slices iteratively
AGILE
Test full system
TRADITIONAL
Iteration 2
Iteration 1 Iteration 3
Capstone Project 2017 10
Comparison
Dev Test
Requirement specs, detail designs, full system code
Test plans, bug reports
User stories
Acceptance test cases
Automation scripts
Functional slice testing
Unofficial testing
Wikis
Daily synchronization
Face-to-face conversations about bugs
Artifact Handoffs
TRADITIONAL AGILE
Holistic Development
Capstone Project 2017 11
Comparison
Conformance to Plan
TRADITIONAL AGILE
Emergent Goals
A - Start B - Planned Result
The Plan
C – Relevant
Goal
• Verify conformance to original plan
• Write bugs to direct path back to plan
• Welcome change
• Verify relevant goals
• Write bugs to enforce emergent plan
and changed requirements
Capstone Project 2017 12
Comparison
Automate all levels – unit,
functional, integration, release,
and regression
TRADITIONAL AGILE
Lots of manual testing,
automate regression suite if
possible
Capstone Project 2017 13
Comparison
TRADITIONAL AGILE
Hiring – testers that are
good at writing test plans
and executing test cases
Hiring – testers skilled in
automation, scripting, selecting
right tool for current needs
Capstone Project 2017 14
Comparison
Hiring – testers that have a knack
for collaboration and team-based
accountability
TRADITIONAL AGILE
Hiring – testers that can
take their assignment and
run with it
Agile QA Responsibilities
Capstone Project 2017
16
User Stories
• Help customer/team develop user stories
• Assist customer/proxy in defining acceptance criteria
• When I select the Pending Loans menu
item, I expect a new window with pending loans.
• When I select the Pending Loans menu
item, I expect to see only pending loans for me.
• When I close the window, I expect to be taken back to
the Main window.
View Pending Loans
As a loan rep,
I want to see all pending loans,
so that I have a visual reminder of follow-up
calls.
Capstone Project 2017 17
Product Backlog and Estimates
• Offer up items to product backlog
• Ensure testing effort is accounted for in user
story estimates
Priority Item # Description Estimate Sprint
Urgent
1 User login 2 1
2 Establish development environment 13 1
3 Display main window 8 1
4 Record video 40
5 Connect to video feeds 8
High
6 Change video feeds 13
7 Establish test automation harness 20
8 Zoom camera 5
9 Research competition 20 1
Med
10 Tile video feeds onto single screen 40
11 Regression test legacy SW components 40
12 Configure system 20
13 Playback video 13
QA-specific
line items
Capstone Project 2017 18
Sprint Backlog and Estimates
• Ensure test efforts are accounted for as sprint backlog tasks
• Participate in sprint planning and release planning
QA-specific
line items
Who Description
Estimate
(Hours)
Remaining
(Hours) Notes
User login
Chris Login window 8 4
Hide password 2 2
John Verify login id is correct 16 0 i/f with Security system
John Verify password is correct 16 12 i/f with Security system
Acceptance testing 8 8
Chris Block after 3 incorrect tries 24 0 Log occurrence to "watch file"
Mary Test case automation 24 8
Display main window
Bala, Tim Query DB for video connections 32 0 Bala to do DB arch
Tim Establish connections 16 16
Ralph Regress legacy DB 64 48
Total hours 210 98
Total relative points from product backlog 32 32
Team members with
QA expertise
Capstone Project 2017 19
Definition of Done
• Ensure that a solid “definition of done” is developed up front, for example:
• All new/modified code reviewed
• Coding standards compliance
• Static purification with 0 errors and 0 warnings
• Dynamic purification – no memory leaks
• All methods <= cyclomatic complexity 10
• All code checked in to Subversion prod branch
• 80% code coverage – unit testing
• Zero known bugs
• Acceptance tests verified by QA on clean system
• Acceptance tests verified by customer or proxy
Capstone Project 2017 20
Sashimi Acceptance Testing
• Verify functional slices
• Verify user stories satisfy
acceptance test cases
• Adhere to definition of done
• Verify incremental integration
• “Unofficial” testing for feedback
• Exploratory testing
Iteration 2
Iteration 1 Iteration 3
Capstone Project 2017 21
Sashimi Acceptance Testing
Deliver multiple times to QA in a sprint
Dev concentrates on bugfixes
several days prior to sprint end
QA writes additional tests
and creates automation
http://edgehopper.com/qatesting-in-an-agile-environment/
QA wraps up with final acceptance
QA assists iteration
planning
QA tests and
gives feedback
QA tests and gives feedback
Capstone Project 2017 22
Test Case Automation
• Choose appropriate tool for your needs
• Leverage previous experience and use of tools
• Focus on user actions and expected results for
acceptance test cases
• Anticipate what the result might look like
- Screen mocks
- Design diagrams
- Collaborative discussions
• Code the automation script
• Run it prior to receiving the software
- Verify the test case fails
- Prevents the test case from accidentally passing
- Similar to TDD
• Once software is received, verify the test case works
Capstone Project 2017 23
Popular Tools for Test Case Automation
Unit Testing / TDD
• xUnit
• UnitTest++
• Jtest
• utMySQL
• Etc.
Sashimi / Integration / Release / Regression
• FitNesse (open source)
• Selenium (open source)
• CruiseControl (CI)
• Watij, Watir, Watin (open source)
• TestComplete (by AutomatedQA)
• Quick Test Pro (HP Mercury)
• WinRunner (HP Mercury)
• LoadRunner (HP Mercury)
• SilkTest (Borland)
• Etc.
Capstone Project 2017 24
Release Testing
• Integration of multiple sprint’s functional slices
• Combining sashimi scripts into release automation
• Dependency testing
• Stress
• Performance
• Install / Uninstall
Capstone Project 2017 25
Regression Testing
• Subset (or all) can be executed nightly as CI build test
• Integration of previous releases and sprints
• Comprehensive, thorough verification
• Identify “lost” fixes and new issues
• Automated tests to expose bugs that were previously
fixed – in case they return
• Automated tests of new sprint functionality
“Regression Stagger” – if needed
Capstone Project 2017 26
Continuous Feedback
• Collaborates to share information
• Daily stand-up for synchronization
• Tracks bugs in tool, but communicates face-to-face
for awareness
• Ensures today’s efforts are in line with team priorities
and goals
• Supports the developers any way he/she can
• “WE” instead of me – don’t point fingers
Capstone Project 2017 27
Agile: Team-Based Quality
Software engineers
• QA begins with developers!
• Simple designs
• Supports strong “definition of done”
• Adhere to rigorous quality plan
• Use TDD to manage technical debt
• Use CI to find problems at earliest
opportunity
QA engineers
• Additional quality verification
• Supports strong “definition of done”
• Verify all levels of code output
- Sashimi
- Integrated, incremental sashimi
- Release/system
- Regression
• Automate, automate, automate
Common Mistakes
Capstone Project 2017 29
Common Mistakes
• QA sashimi tests run in subsequent sprint
- Violates “potentially shippable product increment”
• Mini-waterfall handoff to QA within sprint
- Violates lean/agile principles
• Manual testing of sashimi slices
- Latency of feedback
- You won’t have time
• QA not involved in user story development
- Violates holistic team-based approach
• QA not involved in release/sprint planning
- Violates “committed team” principle
• QA not physically located with project team
- Violates “co-location” principle
Conclusion
Capstone Project 2017 31
Take-Aways
• Agile – much more emphasis on QA than traditional approach
• QA test specialist is an integral member of the development team
• Being a QA tester is much more prestigious in Agile
- Peer with software developers
- Respect is shown through better communication & collaboration
- Required involvement up-front and throughout!
• Different role, different responsibilities, different skills
• Agile – much better chance at delivering high-quality software on
time
THANK YOU

More Related Content

PPT
QA Role In Agile Teams - by Michael Hall
PDF
QA Role in Agile Teams
PDF
Effective Testing Practices in an Agile Environment
PPTX
Introducing QA Into an Agile Environment
PPTX
ISTQB agile tester exam - Conclusions about Certification
PDF
QAAgility Trainings
PDF
Agile testing principles and practices - Anil Karade
PPTX
Test Management in Agile - Agile testing Days 2018
QA Role In Agile Teams - by Michael Hall
QA Role in Agile Teams
Effective Testing Practices in an Agile Environment
Introducing QA Into an Agile Environment
ISTQB agile tester exam - Conclusions about Certification
QAAgility Trainings
Agile testing principles and practices - Anil Karade
Test Management in Agile - Agile testing Days 2018

What's hot (20)

PPTX
Shift left as first transformation step into Quality Assurance
PDF
Agile & Lean @ MediaGeniX
PDF
What is Agile Testing?
PDF
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
PPTX
Introduction to Agile Testing
PPTX
Agile Testing Days -Trends and future in testing 2017
PPT
Software Testing with Agile Requirements Practices
PPTX
Agile Testing - presentation for Agile User Group
PPTX
Relieveing the Testing Bottle Neck - Webinar
PPTX
Quality Assurance to Test Engineering – Insights From our Journey by Oksana S...
PPT
Trends in Agile Testing by Lisa Crispin
PPTX
Introduction to Agile Testing
PPTX
Agile Resourcing
PDF
Agile Testing – embedding testing into agile software development lifecycle
PPT
Agile testing
PPTX
ISTQB Agile Extension
PDF
PDF
Tackling software testing challenges in the agile era
PPT
Agile Engineering Practices
ODP
Presentation on Agile Testing
Shift left as first transformation step into Quality Assurance
Agile & Lean @ MediaGeniX
What is Agile Testing?
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
Introduction to Agile Testing
Agile Testing Days -Trends and future in testing 2017
Software Testing with Agile Requirements Practices
Agile Testing - presentation for Agile User Group
Relieveing the Testing Bottle Neck - Webinar
Quality Assurance to Test Engineering – Insights From our Journey by Oksana S...
Trends in Agile Testing by Lisa Crispin
Introduction to Agile Testing
Agile Resourcing
Agile Testing – embedding testing into agile software development lifecycle
Agile testing
ISTQB Agile Extension
Tackling software testing challenges in the agile era
Agile Engineering Practices
Presentation on Agile Testing
Ad

Similar to Qa role in agile teams (20)

PDF
Agile case studies
PDF
Engaging IV&V Testing Services for Agile Projects
PPT
A confused tester in agile world finalversion
PDF
QA in an Agile Environment
PPT
! Testing for agile teams
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PPTX
Is Test Planning a lost art in Agile? by Michelle Williams
PDF
Agile testing practice
PDF
Testing in Agile Development
PPT
QA In Agile: solutions
PDF
manual-testing
PPTX
Testing strategy for agile projects updated
PPTX
Agile Qa Framework Jacky Wu
PPTX
Agile testing for mere mortals
PDF
The agile tester
PDF
High Performance Software Engineering Teams
PPT
QA in Agile
PPT
Qa In Agile
PPT
QA в Agile
PPTX
Testing in agile
Agile case studies
Engaging IV&V Testing Services for Agile Projects
A confused tester in agile world finalversion
QA in an Agile Environment
! Testing for agile teams
Role Of Qa And Testing In Agile 1225221397167302 8
Is Test Planning a lost art in Agile? by Michelle Williams
Agile testing practice
Testing in Agile Development
QA In Agile: solutions
manual-testing
Testing strategy for agile projects updated
Agile Qa Framework Jacky Wu
Agile testing for mere mortals
The agile tester
High Performance Software Engineering Teams
QA in Agile
Qa In Agile
QA в Agile
Testing in agile
Ad

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Institutional Correction lecture only . . .
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Pharma ospi slides which help in ospi learning
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Cell Structure & Organelles in detailed.
PPTX
Cell Types and Its function , kingdom of life
PDF
Insiders guide to clinical Medicine.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPH.pptx obstetrics and gynecology in nursing
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Sports Quiz easy sports quiz sports quiz
Renaissance Architecture: A Journey from Faith to Humanism
human mycosis Human fungal infections are called human mycosis..pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Institutional Correction lecture only . . .
Abdominal Access Techniques with Prof. Dr. R K Mishra
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Microbial diseases, their pathogenesis and prophylaxis
Basic Mud Logging Guide for educational purpose
Pharma ospi slides which help in ospi learning
Complications of Minimal Access Surgery at WLH
Cell Structure & Organelles in detailed.
Cell Types and Its function , kingdom of life
Insiders guide to clinical Medicine.pdf
O7-L3 Supply Chain Operations - ICLT Program

Qa role in agile teams

  • 1. QA Role In Agile Teams SOFTWARE ENGINEERING – CAPSTONE PROJECT ANWAR SADAT
  • 2. Capstone Project 2017 2 Today’s Discussion • Agile Methods and Quality • Comparison of QA in Traditional versus Agile • Agile QA Responsibilities • Common Mistakes • Conclusion
  • 3. Capstone Project 2017 3 Agile Methods and Quality Agile principle #9: “Continuous attention to technical excellence and good design enhances agility.” Technical excellence is achieved in many ways, but all include a constant focus on quality. Observation: Agile projects emphasize quality much more than traditional.
  • 4. Capstone Project 2017 4 Agile Methods and Quality HOW TO APPLY IT?
  • 6. Capstone Project 2017 Comparison QA testers are integral part of development team TRADITIONAL AGILE QA is separate team QA to Dev: “You write buggy software!” Dev to QA: “You’re not good enough to be a software developer!” “I am part of the development team with specialized expertise in delivering quality.” “What can I do to help?”
  • 7. Capstone Project 2017 7 Comparison Test continuously, as early as possible AGILE Test at end TRADITIONAL
  • 8. Capstone Project 2017 8 Comparison Rely on conversations & shared knowledge AGILE Rely on documents TRADITIONAL
  • 9. Capstone Project 2017 9 Comparison Test functional slices iteratively AGILE Test full system TRADITIONAL Iteration 2 Iteration 1 Iteration 3
  • 10. Capstone Project 2017 10 Comparison Dev Test Requirement specs, detail designs, full system code Test plans, bug reports User stories Acceptance test cases Automation scripts Functional slice testing Unofficial testing Wikis Daily synchronization Face-to-face conversations about bugs Artifact Handoffs TRADITIONAL AGILE Holistic Development
  • 11. Capstone Project 2017 11 Comparison Conformance to Plan TRADITIONAL AGILE Emergent Goals A - Start B - Planned Result The Plan C – Relevant Goal • Verify conformance to original plan • Write bugs to direct path back to plan • Welcome change • Verify relevant goals • Write bugs to enforce emergent plan and changed requirements
  • 12. Capstone Project 2017 12 Comparison Automate all levels – unit, functional, integration, release, and regression TRADITIONAL AGILE Lots of manual testing, automate regression suite if possible
  • 13. Capstone Project 2017 13 Comparison TRADITIONAL AGILE Hiring – testers that are good at writing test plans and executing test cases Hiring – testers skilled in automation, scripting, selecting right tool for current needs
  • 14. Capstone Project 2017 14 Comparison Hiring – testers that have a knack for collaboration and team-based accountability TRADITIONAL AGILE Hiring – testers that can take their assignment and run with it
  • 16. Capstone Project 2017 16 User Stories • Help customer/team develop user stories • Assist customer/proxy in defining acceptance criteria • When I select the Pending Loans menu item, I expect a new window with pending loans. • When I select the Pending Loans menu item, I expect to see only pending loans for me. • When I close the window, I expect to be taken back to the Main window. View Pending Loans As a loan rep, I want to see all pending loans, so that I have a visual reminder of follow-up calls.
  • 17. Capstone Project 2017 17 Product Backlog and Estimates • Offer up items to product backlog • Ensure testing effort is accounted for in user story estimates Priority Item # Description Estimate Sprint Urgent 1 User login 2 1 2 Establish development environment 13 1 3 Display main window 8 1 4 Record video 40 5 Connect to video feeds 8 High 6 Change video feeds 13 7 Establish test automation harness 20 8 Zoom camera 5 9 Research competition 20 1 Med 10 Tile video feeds onto single screen 40 11 Regression test legacy SW components 40 12 Configure system 20 13 Playback video 13 QA-specific line items
  • 18. Capstone Project 2017 18 Sprint Backlog and Estimates • Ensure test efforts are accounted for as sprint backlog tasks • Participate in sprint planning and release planning QA-specific line items Who Description Estimate (Hours) Remaining (Hours) Notes User login Chris Login window 8 4 Hide password 2 2 John Verify login id is correct 16 0 i/f with Security system John Verify password is correct 16 12 i/f with Security system Acceptance testing 8 8 Chris Block after 3 incorrect tries 24 0 Log occurrence to "watch file" Mary Test case automation 24 8 Display main window Bala, Tim Query DB for video connections 32 0 Bala to do DB arch Tim Establish connections 16 16 Ralph Regress legacy DB 64 48 Total hours 210 98 Total relative points from product backlog 32 32 Team members with QA expertise
  • 19. Capstone Project 2017 19 Definition of Done • Ensure that a solid “definition of done” is developed up front, for example: • All new/modified code reviewed • Coding standards compliance • Static purification with 0 errors and 0 warnings • Dynamic purification – no memory leaks • All methods <= cyclomatic complexity 10 • All code checked in to Subversion prod branch • 80% code coverage – unit testing • Zero known bugs • Acceptance tests verified by QA on clean system • Acceptance tests verified by customer or proxy
  • 20. Capstone Project 2017 20 Sashimi Acceptance Testing • Verify functional slices • Verify user stories satisfy acceptance test cases • Adhere to definition of done • Verify incremental integration • “Unofficial” testing for feedback • Exploratory testing Iteration 2 Iteration 1 Iteration 3
  • 21. Capstone Project 2017 21 Sashimi Acceptance Testing Deliver multiple times to QA in a sprint Dev concentrates on bugfixes several days prior to sprint end QA writes additional tests and creates automation http://edgehopper.com/qatesting-in-an-agile-environment/ QA wraps up with final acceptance QA assists iteration planning QA tests and gives feedback QA tests and gives feedback
  • 22. Capstone Project 2017 22 Test Case Automation • Choose appropriate tool for your needs • Leverage previous experience and use of tools • Focus on user actions and expected results for acceptance test cases • Anticipate what the result might look like - Screen mocks - Design diagrams - Collaborative discussions • Code the automation script • Run it prior to receiving the software - Verify the test case fails - Prevents the test case from accidentally passing - Similar to TDD • Once software is received, verify the test case works
  • 23. Capstone Project 2017 23 Popular Tools for Test Case Automation Unit Testing / TDD • xUnit • UnitTest++ • Jtest • utMySQL • Etc. Sashimi / Integration / Release / Regression • FitNesse (open source) • Selenium (open source) • CruiseControl (CI) • Watij, Watir, Watin (open source) • TestComplete (by AutomatedQA) • Quick Test Pro (HP Mercury) • WinRunner (HP Mercury) • LoadRunner (HP Mercury) • SilkTest (Borland) • Etc.
  • 24. Capstone Project 2017 24 Release Testing • Integration of multiple sprint’s functional slices • Combining sashimi scripts into release automation • Dependency testing • Stress • Performance • Install / Uninstall
  • 25. Capstone Project 2017 25 Regression Testing • Subset (or all) can be executed nightly as CI build test • Integration of previous releases and sprints • Comprehensive, thorough verification • Identify “lost” fixes and new issues • Automated tests to expose bugs that were previously fixed – in case they return • Automated tests of new sprint functionality “Regression Stagger” – if needed
  • 26. Capstone Project 2017 26 Continuous Feedback • Collaborates to share information • Daily stand-up for synchronization • Tracks bugs in tool, but communicates face-to-face for awareness • Ensures today’s efforts are in line with team priorities and goals • Supports the developers any way he/she can • “WE” instead of me – don’t point fingers
  • 27. Capstone Project 2017 27 Agile: Team-Based Quality Software engineers • QA begins with developers! • Simple designs • Supports strong “definition of done” • Adhere to rigorous quality plan • Use TDD to manage technical debt • Use CI to find problems at earliest opportunity QA engineers • Additional quality verification • Supports strong “definition of done” • Verify all levels of code output - Sashimi - Integrated, incremental sashimi - Release/system - Regression • Automate, automate, automate
  • 29. Capstone Project 2017 29 Common Mistakes • QA sashimi tests run in subsequent sprint - Violates “potentially shippable product increment” • Mini-waterfall handoff to QA within sprint - Violates lean/agile principles • Manual testing of sashimi slices - Latency of feedback - You won’t have time • QA not involved in user story development - Violates holistic team-based approach • QA not involved in release/sprint planning - Violates “committed team” principle • QA not physically located with project team - Violates “co-location” principle
  • 31. Capstone Project 2017 31 Take-Aways • Agile – much more emphasis on QA than traditional approach • QA test specialist is an integral member of the development team • Being a QA tester is much more prestigious in Agile - Peer with software developers - Respect is shown through better communication & collaboration - Required involvement up-front and throughout! • Different role, different responsibilities, different skills • Agile – much better chance at delivering high-quality software on time