How to Implement AgileQA
-
Upload
arina-bondar -
Category
Documents
-
view
226 -
download
0
Transcript of How to Implement AgileQA
-
7/30/2019 How to Implement AgileQA
1/26
A Practical Guide to implementing Agile
QA process on Scrum Projects
Agile QA
Syed Rayhan
Co-founder, Code71, Inc.Contact:[email protected]
Blog:http://blog.syedrayhan.com
Company:http://www.code71.com
Product:http://www.scrumpad.com
-
7/30/2019 How to Implement AgileQA
2/26
2www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
My Background
Expertise
Career
Iterative incremental development
Technology planning and architecture
On-shore/Off-shore software development usingAgile/Scrum
Interests
Co-founder, Code71, Inc.
13+ years of total experience
Co-author of Enterprise Java with UML
Cultural aspect of self-organizing team
Scrum for projects delivered remotely
Agile engineering practices
-
7/30/2019 How to Implement AgileQA
3/26
3www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Agenda
Recap
Individual Practices
Section 2
Section 4
Section 3
A Case Study
Holistic View of QA
Section 5
IntroductionSection 1
Q&ASection 6
-
7/30/2019 How to Implement AgileQA
4/26
4www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
What to Expect
Focus
Context
Build common base of understanding
Develop a set of gudielines- process, roles, and team composition
Address typical questions asked
Key
Takeaways
How to perform QA on an Agile/Scrum project
Agile/QA best practices
Teams and organizations are adopting Agile/Scrum
Teams struggle with making the transition from waterfall to
Agile/Scrum
-
7/30/2019 How to Implement AgileQA
5/26
5www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Agenda
Recap
Individual Practices
Section 2
Section 4
Section 3
A Case Study
Holistic View of QA
Section 5
IntroductionSection 1
Q&ASection 6
-
7/30/2019 How to Implement AgileQA
6/26
6www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
The challenges?
Is QA part of the development team?
Can we fit QA in the same iteration as development?
How can we scale Agile QA?
Who does QA?
Does QA costs more in Agile as product seems to change from
sprint to sprint?
Do we need test plan?
Are story acceptance tests enough?
When do we know testing is done?
Who defines test cases?
Do we need to track bugs?
-
7/30/2019 How to Implement AgileQA
7/267www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
What is QA (Quality Assurance)?
To ensure Software is working right
How?
Test, Test, Test
-
7/30/2019 How to Implement AgileQA
8/268www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Types of Testing?
Unit Testing
Integration Testing
Functional Testing
System Testing
Regression Testing
Acceptance Testing
Load Testing
Smoke Testing
Black
Box
White
Box
-
7/30/2019 How to Implement AgileQA
9/269www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Who Performs What?
Unit Testing
Integration Testing
System Testing
Regression Testing
Acceptance Testing
Load Testing
Smoke Testing
What? Who? When? Automation?
Developer
Developer
Tester
Developer/Tester
Client/Users
Tester/Support Engineer
Performance Engineer
Coding
Coding
Test
Build/Test
Deployment/
Delivery
Deployment
Deployment
Always
Always
Possible
Possible
Possible
Possible
Always
-
7/30/2019 How to Implement AgileQA
10/2610
www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Right tools for right tests?
Unit Testing
Integration Testing
System Testing
Regression Testing
Acceptance Testing
Load Testing
Smoke Testing
Test Tool
NUnit, JUnit, Mock, DBUnit
Unit test tools, HttpUnit, SoapUI,
RESTClient
JMeter, Httperf
FIT, FitNesse
Selenium, Fit, WET, Watir, WatiN
Unit test tools, System test tools
Regression test tools
-
7/30/2019 How to Implement AgileQA
11/2611
www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
What is missing?
Assumptions
1. Right Spec
2. Right Design
Reality?
Measures
Spec review
Design review
Spec
Design
Code reviewCode
3. Right amount of Tests
Test CoverageTest
Assumptions are farther from truth
4. Right Tests
-
7/30/2019 How to Implement AgileQA
12/2612
www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Team Composition?
We will primarily focus on single-team model for our discussion
1Dev
Test
2 3
1 2 3
iterationregion
Prod 1 2
1Dev
Test
2 3
1 2 3
iterationregion
Prod 1 2
Out-of-Cycle
In-Cycle
2
1
-
7/30/2019 How to Implement AgileQA
13/2613
www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Team Dynamics
Product owners
Developers
backlog
Acceptance tests
Additional tests
Team reviewTesters
-
7/30/2019 How to Implement AgileQA
14/2614
www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
QG#4QG#3QG#2
Quality Funnel
QG#1 QG#5
bugs
bugs
Backlog
Review
Design
Review
Unit & Int.
Test,CI
Code
Review
System
Test
-
7/30/2019 How to Implement AgileQA
15/26
15www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Agenda
Recap
Individual Practices
Section 2
Section 4
Section 3
A Case Study
Holistic View of QA
Section 5
IntroductionSection 1
Q&ASection 6
-
7/30/2019 How to Implement AgileQA
16/26
16www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Test Coverage
Tests coverage metrics can tell you what code is not tested
A measure of the proportion of a program
exercised by a test suite, usually expressed asa percentage.
Function coverage
Path coverage
Statement coverage
Types of coverage
Definition
Measure Usually expressed as a percentage
-
7/30/2019 How to Implement AgileQA
17/26
17www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Continuous Integration as the Glue
MonitorSource Code
Build RegressionTest
TestCoverage
Report
Continuous Integration is Continuous QA
-
7/30/2019 How to Implement AgileQA
18/26
18www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Test Case Prioritization
high
high
low
low
1
2
Frequency of use
Risk of having bugs
3
4
hot
warm
normal
cold
-
7/30/2019 How to Implement AgileQA
19/26
19www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Inspect and Adapt through QA Lens
Five whys of root cause analysis
Prioritize bugs over stories
Log bugs found by testers
Quality MetricsDefect Rate Bug count per iteration
Defect Density Bug count per moduleBug count per function point
-
7/30/2019 How to Implement AgileQA
20/26
20www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
How to Scale?
Presentation
Business
Data
Service#1 Service#2 Service#3
Application#1 Application#2
SOA
-
7/30/2019 How to Implement AgileQA
21/26
21www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Agenda
Recap
Individual Practices
Section 2
Section 4
Section 3
A Case Study
Holistic View of QA
Section 5
IntroductionSection 1
Q&ASection 6
-
7/30/2019 How to Implement AgileQA
22/26
22www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
A Case Study
Project
A large enterprise system that includes technologies like
ASP.Net, BizTalk, Workflow, Scanning, SQL Server, DataWarehouse, and Mainframe
Team2 product owners, 1 scrum master, 1 architect, 5 developers,
1 QA tester
Sprint 2 weeks
QAProcess Refinescope,
acceptance
test cases
Identify UI
elements,
test data
QA schedule
Write test scripts
test data
Day 1, 2 Day 3, 4 Day 5-8 Day 9 Day 10
Final
Test
&
Fix
Demo
&
Acceptanc
e Test
-
7/30/2019 How to Implement AgileQA
23/26
23www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Agenda
Recap
Individual Practices
Section 2
Section 4
Section 3
A Case Study
Holistic View of QA
Section 5
IntroductionSection 1
Q&ASection 6
-
7/30/2019 How to Implement AgileQA
24/26
24www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Recap
In-cycle QA is critical to the success of a project
System testing is not the only quality gate, it includes all types of testing
and reviews
Test automation is critical to in-cycle QA
Target at least 90% test coverage
Continuous Integration is Continuous QA
Prioritize test cases based on risk and frequency of usage
-
7/30/2019 How to Implement AgileQA
25/26
25www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Recap contd.
All known bugs should be fixed first
Right size story with well-thought out acceptance tests improves quality
Include all Quality Gates as part of definition ofDone
Analyze each bug to understand where (Quality Gate) it should have been
caught and improve (Inspect and adapt)
QA is not a designated persons responsibility, it is a teams responsibility
(self-organizing team)
-
7/30/2019 How to Implement AgileQA
26/26
26www.Code71.com www.ScrumPad.comCopyright 2004-2008 Code71, Inc.
Q&A
QA is not an act, but a habit
Contact:[email protected]
Blog: http://blog.syedrayhan.com
Company:http://www.code71.com
Product: http://www.scrumpad.com
QA is making sure rightsoftware works right
mailto:[email protected]:[email protected]://www.code71.com/http://www.code71.com/mailto:[email protected]:[email protected]