Professional Documents
Culture Documents
Bob Galen
Bob Galen
Introduction
http://www.context-driven-testing.com/
Analytic Quality
Standard
Context-Driven Agile
Declare goals
How do we know when we’re finished?
Phased exit criteria, release criteria, hand-off criteria – be clear &
be concise
What is the overriding purpose of the product?
How do we support it – well?
Define testing practices
Not so much process, as rules of the road for this engagement
Bug flows
Implications to Testing
Become active early and often; collaboration with development
Observe, learn, and adjust with the evolution of the application –
don’t assume static models
Become a team quality champion, serving as an example by
providing data, insights and techniques
Don’t get stuck in approaches; always add value
Implications to Testing
Become active early and often; collaboration with development
Continuously observe, learn, and adjust with the evolution of the
application – don’t become too dependent (stuck) in your plans
Become intimate with the customer; understand the true value
drivers for the release
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 38
7 Core Principles of
Lean Software Development
Implications to Testing
Test whenever possible; take incremental releases
Test what works; skip what doesn’t
Provide real-time (daily) constructive feedback for development
Apply risk-based testing techniques
Automate as much as possible; as soon as possible; to reduce
cycle-time
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 39
7 Core Principles of
Lean Software Development
Implications to Testing
Become active early and often; collaboration with development;
truly become an active partner in “paired” development & testing
Apply risk-based testing techniques
Automate as much as possible; as soon as possible; to reduce
cycle-time
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 40
7 Core Principles of
Lean Software Development
Implications to Testing
Be proud of your profession; continuously learn new ways and
approaches for you domain
Remain Open Minded!
Become a business partner; become intimate with how customers
USE your applications
Apply scenario based testing
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 41
7 Core Principles of
Lean Software Development
fragmentary
pure scripted freestyle exploratory
test cases
vague scripts (scenarios) charters roles
Probability of Instability
In traditional
Overall Complexity
prioritization
(Probability: 0-3) x
(Impact: 0-3) = Risk Coverage & Timing
Level First release (cycle)
Calculate a risk level for Middle cycles
each suite Last release(s) (2 cycles)
Rank order them Pre-Production Release
e
Av e S s
im
e
e
as
C o rag ze
P r G ya e
as
pT e
as
nT
d t m
ec e
M iio r i g - y
S e T im
i
tC
C 1 e le
D eio r i m e
P r e n ine x it
E x im
E nio r i G a
e le
io
O pm p e
es
lR
s igty
d ty
ag
ut
lR
P r d le
l
fT
iti a
er
tu
na
e
Test Suites
#o
Av
C2
C3
Fi
In
Accept - Smoke 25 S M High High Med 4 1 2 3 2 2 1 2
Func - Database Meta-data Integrity 45 M H Low Med High 5 3 3 4 2 2 3 3
Func - Mware, Business rules 75 L H Low High High 10 2 5 3 5 5 5 5
Func - Real-time data 30 M M High Low High 5 1 2 3 1 1 2 2
Func - Intelligent Searching 45 L M High High High 5 5 3 8 3 3 3 3
Func - Area 3 25 S T Med Med Med 5 1 2 2 1 1 1 2
Func - Area 4 40 S T Med Med Med 5 1 2 2 1 1 1 2
Func - Area 5 45 S T Med Med Med 5 1 2 2 1 1 1 2
Func - Common UI Features 150 S T Med Med High 15 2 10 7 5 5 10 10
Comp - Operating systems 30 S T Low Low High 2 3 3 4 1 1 3 3
Comp - Browsers & databases 130 S M Low Low High 3 10 5 11 1 1 5 5
Perf - 5 sources, 5 user scenarios 25 L H Low Med High 15 3 5 4 3 3 5 5
Defect Verifications N/A N/A N/A Low High Low 5 1 5 2 5 5 1 5
Regression N/A N/A N/A High Low High 0 1 15 16 4 4 15 15
Automation N/A N/A N/A Low Low Low 10 1 5 2 1 1 1 5
Total Test Cases 665.0 Totals: 94 36 69
Average / time per test case 0.30 Total Time 74 35 35 58 69
Test team members 3.5 Team/Person Days 21 10 10 16 20
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 76
Risk–Based Testing
Your Context
A big part of your risk–based approach has to be
grounded in your context as it relates to
Team ratio’s
Equipment investments & capacity
Methodology
Product domain & any regulatory or compliance requirements
Testing process and activities
Automation strategies
No hard lines; always trade-offs
History of Pareto
Charting
Using Pareto as a risk-based localization technique
Monitoring risk migration
Also known as the 80-20 rule, the law of the vital few, and the
principle of factor sparsity
Joseph Duran brought the principle forward as a potential quality
management technique
In probability theory referenced as a Pareto distribution
In software applications –
20% of the application code produces 80% of the defects
20% of the developers produce 80% of the defects
20% of the test cases (ideas) find 80% of the defects
20% of the test cases (ideas) take 80% of your time to design &
test
20% of the product will be used by 80% of the customers
20% of the requirements will meet 80% of the need
Copyright © 2009 RGalen Consulting Group,
Fall / Winter 2008 v2 LLC 83
Pareto Principle
“Thinking” Examples
Leads to the notion of defect clustering. Many have
observed that software bugs will cluster in specific
modules, classes, components, etc.
35 120
30
30 100 100
25
25 90
80 80
70
Defects
20 # Bugs
15 60
15 55 Cum %
10 10
40
10 30 5
5 20
0 0
UI Mware Parsing SOAP Reports Help
30
25
20
# of Defects
15
10
0
Jan 1-15 Jan 16-31 Feb 1-14 Feb 15-28 Mar 1-15 Mar 16-30
Proje ct w e e ks
Coverage
By way of example (Cohen) a set of 300 randomly selected test
cases provided 67% statement coverage and 58% decision
coverage for an application. While 200 All-Pairs derived test
cases provided 92% statement and 85% decision coverage.
You won’t find all of your bugs exclusively using this tool!
Features
Model Driven w/allowance for sub-models of variable pairings
Allows for specification of constraints and conditional constraints
Allows for parameters and aliasing
Supports variable weighting and seeding for reuse of previous
testing cases and “fixed” tests
Questions?
Thank you!
Test Preparation
Risk
Based
Tests &
Coverage
Context-Based Testing
4 Schools paper – http://www.io.com/~wazmo/papers/four_schools.pdf (Updated in
March 2007 for Factory School name change and to add the Agile School)
Portal - http://www.compendiumdev.co.uk/page.php?title=context_driven_testing
Bret Pettichord’s site – http://www.pettichord.com/
http://www.context-driven-testing.com/
Lean Software
http://en.wikipedia.org/wiki/Lean_software_development
Mary & Tom Poppendieck’s site – www.poppendieck.com
Lean Software - http://www.leansoftwareinstitute.com/
Rational Edge (good) article - http://www-
128.ibm.com/developerworks/rational/library/oct06/nelson/index.html
http://www.satisfice.com/rst-appendices.pdf
Pareto Principal
http://en.wikipedia.org/wiki/Pareto_principle
Research paper - http://cmriindia.nic.in/PROCEEDINGS%20OF%20ACIT-
%202006/SESSION%201A/S%20Samaddar%20&%20S%20Bhattacharya.doc
All-Pairs
Wikipedia - http://en.wikipedia.org/wiki/All-pairs_testing
James Bach tool download - http://www.satisfice.com/tools.shtml
Bernie Berger’s 2003 StarEast paper source -
http://www.stickyminds.com/getfile.asp?ot=XML&id=6488&fn=XDD6488filelistfilename
1.pdf
James discussing the Microsoft PICT (free) All-Pairs generation tool –
http://www.satisfice.com/blog/archives/53
http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-
8c6f76cc014b/pict33.msi
http://pairwise.org
PICT Overview - http://ripper.eeginc.com/mercury/1134/wed/37633_Merrell_330.pdf
Constraints? http://www.testingeducation.org/wtst5/PairwisePNSQC2004.pdf
Pairwise.org - http://www.pairwise.org/default.html
Michael Bolton paper - http://www.developsense.com/testing/PairwiseTesting.html