Advancing Testing Using Axioms

advertisement
THE
TESTING
OF
Advancing
Testing Using
Axioms
Paul Gerrard


Axioms – a Brief Introduction
Advancing Testing Using Axioms
 First Equation of Testing
 Test Strategy and Approach
 Testing Improvement
 A Skills Framework for Testers
 Quantum Theory for Testing

Close
Surely, there must be SOME things that
ALL testers can AGREE ON?
Or are we destined to argue
FOREVER?


Started as a ‘thought experiment’ in my blog in
February 2008
Some quite vigorous debate on the web
 ‘great idea’
 ‘axioms don’t exist’
 ‘Paul has his own testing school’



Initial 12 ideas evolved to 16 test axioms
Testers Pocketbook: testers-pocketbook.com
Test Axioms Website test-axioms.com
•
Some very useful by-products
• Test strategy, improvement, skills framework
•
Interesting research areas!
• First Equation of Testing, Testing Uncertainty Principle,
Quantum Theory, Relativity, Exclusion Principle...
• You can tell I like physics
There are no agreed definitions
of test or testing!
The words software, IT, program,
technology, methodology, vmodel, entry/exit criteria, risk –
do not appear in definitions
American Heritage Dictionary:
Test: (noun)
•
•
•
A procedure for critical evaluation;
A means of determining the presence, quality, or
truth of something;
A trial.
A testing stakeholder is someone
who is interested in the outcome
of testing;
You can be your OWN
stakeholder (e.g. dev and users)
Let’s look at a few of the test
axioms
Testing needs
stakeholders
Test design is
based on models
Testers need
sources of
knowledge to select
things to test
Testing needs a test coverage
model or models
Our sources of
knowledge are
fallible and
incomplete
The value of
testing is
measured by the
confidence of
stakeholder
decision making
Testing never
goes as planned;
evidence arrives
in discrete
quanta
“Ohhhhh... Look at that, Schuster... Dogs are so cute when they
try to comprehend quantum mechanics.”
Testing never
finishes; it stops
Axioms
+ Context
+ Values
+ Thinking
=Approach




Separation of Axioms, context, values and
thinking
Tools, methodologies, certification, maturity
models promote approaches without
reference to your context or values
No thinking is required!
Without a unifying test theory you have no
objective way of assessing these products.
Strategy is a thought process
not a document
Axioms
Early Testing Communication
DeDuplication
Risks
Test
Strategy
Goals
Culture
Human
resource
Opportunities
Contract
Constraints
Skills
Environment
Process
(lack of?)
Timescales
Automation
User
involvement
Artefacts
Summary:
Identify and engage the
people or organisations
that will use and benefit
from the test evidence we
are to provide
Consequence if ignored or
violated:
There will be no mandate
or any authority for testing.
Reports of passes, fails or
enquiries have no audience.
Questions:
 Who are they?
 Whose interests do they





represent?
What evidence do they
want?
What do they need it for?
When do they want it?
In what format?
How often?
Summary:
Choose test models to derive
tests that are meaningful to
stakeholders. Recognise the
models’ limitations and the
assumptions that the models
make
Questions







Consequence if ignored or
violated:
Tests design will be
meaningless and not credible
to stakeholders.


Are design models available to use as
test models? Are they mandatory?
What test models could be used to
derive tests from the Test Basis?
Which test models will be used?
Are test models to be documented or
are they purely mental models?
What are the benefits of using these
models?
What simplifying assumptions do these
models make?
How will these models contribute to the
delivery of evidence useful to the
acceptance decision makers?
How will these models combine to
provide sufficient evidence without
excessive duplication?
How will the number of tests derived
from models be bounded?
Test Plan Identifier
Introduction
Test Items
Features to be Tested
Features not to be
Tested
6. Approach
7. Item Pass/Fail Criteria
8. Suspension Criteria
and Resumption
Requirements
1.
2.
3.
4.
5.
Test Deliverables
Testing Tasks
Environmental Needs
Responsibilities
Staffing and Training
Needs
14. Schedule
15. Risks and
Contingencies
16. Approvals
9.
10.
11.
12.
13.
Based on IEEE Standard 829-1998












Items 1, 2 – Administration
Items 3+4+5 – Scope Management, Prioritisation
Item 6 – All the Axioms are relevant
Items 7+8 – Good-Enough,Value
Item 9 – Stakeholder,Value, Confidence
Item 10 – All the Axioms are Relevant
Item 11 – Environment
Item 12 – Stakeholder
Item 13 – All the Axioms are Relevant
Item 14 – All the Axioms are Relevant
Item 15 – Fallibility, Event
Item 16 – Stakeholder Axioms
1.
Stakeholder Objectives
 Stakeholder management
 Goal and risk management
 Decisions to be made and how






(acceptance)
 How testing will provide confidence
and be assessed
 How scope will be determined
2.
Design approach
 Sources of knowledge (bases and
oracles)
 Sources of uncertainty
 Models to be used for design and
coverage
 Prioritisation approach
Delivery approach
3.
Test sequencing policy
Repeat test policies
Environment requirements
Information delivery approach
Incident management approach
Execution and end-game approach
Plan (high or low-level)
4.






Scope
Tasks
Responsibilities
Schedule
Approvals
Risks and contingencies
Test process improvement is a
waste of time
There are no “practice” Olympics to determine the
best
 There is no consensus about which practices are
best, unless consensus means “people I respect also
say they like it”
 There are practices that are more likely to be
considered good and useful than others, within a
certain community and assuming a certain context
 Good practice is not a matter of popularity. It’s a
matter of skill and context.

Derived from “No Best Practices”, James Bach, www.satisfice.com
Actually
its 11
(most were not
software related)

Google search
 “CMM” – 22,300,000
 “CMM Training” – 48,200
 “CMM improves quality” – 74 (BUT really 11 – most
of these have NOTHING to do with software)

A Gerrard Consulting client…
 CMM level 3 and proud of it (chaotic, hero culture)
 Hired us to assess their overall s/w process and make
recommendations (quality, time to deliver is slipping)
 40+ recommendations, only 7 adopted – they couldn’t
change
 How on earth did they get through the CMM 3 audit?



Using process change to fix cultural or
organisational problems is never going to
work
Improving test in isolation is never going to
work either
Need to look at changing context rather than
values…
Context <- your context
+ Values <- your values
+ Thinking <- your thinking
=Approach <- your approach
Context <- someone else's
+ Values <- someone else's
+ Thinking <- someone else's
=Approach <- someone else's
Axioms <- recognise
+ Context <- could change?
+ Values <- hard to change
+ Thinking <- just do some
=Approach <- your approach


Axioms represent the critical things to think
about
Associated questions act as checklists to:
 Assess your current approach
 Identify gaps, inconsistencies in current approach
 QA your new approach in the future


Axioms represent the WHAT
Your approach specifies HOW








Mission
Coalition
Vision
Communication
Action
Wins
Consolidation
Anchoring
Changes identified
here
If you must use one,
this is where your ‘test
model’ comes into play
Axioms indicate WHAT to think
about...
...so the Axioms point to SKILLS
Summary:
Choose test models to derive tests that
are meaningful to stakeholders.
Recognise the models’ limitations and
the assumptions that the models make.
Consequence if ignored or violated:
Tests design will be meaningless and not
credible to stakeholders.
Questions:
 Are design models available to use as
test models? Are they mandatory?
 What test models could be used to
derive tests from the Test Basis?
 Which test models will be used?
 Are test models to be documented
or are they purely mental models?
 What are the benefits of using these
models?
 What simplifying assumptions do
these models make?
 How will these models contribute to
the delivery of evidence useful to the
acceptance decision makers?
 How will these models combine to
provide sufficient evidence without
excessive duplication?
 How will the number of tests
derived from models be bounded?

A tester needs to understand:
 Test models and how to use them
 How to select test models from fallible sources of





knowledge
How to design test models from fallible sources of
knowledge
Significance, authority and precedence of test models
How to use models to communicate
The limitations of test models
Familiarity with common models
Is this all that current certification provides?

Functional testers are endangered:
 Certification covers process and clerical skills
 Functional testing is becoming a commodity and is
easy to outsource

To survive, testers need to specialise:






Management
Test automation
Test strategy, design, goal- and risk-based
Stakeholder management
Non-Functional testing
Business domain specialists...


Intellectual skills and capabilities are more
important than the clerical skills
Need to re-focus on:






Testing thought processes (Axioms)
Real-world examples, not theory
Testing as information provision
Goal and risk-based testing
Testing as a service (to stakeholders)
Practical, hands-on, real-world training, exercises
and coaching.
If evidence arrives in discrete
quanta...
...can we assign a value to it?

Tests are usually run one by one
Every individual test has some significance
Some tests expose failures but ultimately we
want all tests to PASS
When all tests pass – the stakeholders are
happy, aren’t they?
Can we measure confidence?

But...





Testers cannot usually:





Prepare all tests they COULD do
Run ALL tests in the plan
Re-test ALL fixes
Regression-test as much or as often as required
How do we judge the significance of tests?
 To include them in scope for planning (or not)
 To execute them in the right order?
 To ensure the most significant tests are run?


What stakeholders want ultimately, is every
test to pass
The ideal situation is:
 We have run all our tests
 All our tests pass
 Acceptance is a formality

Not all tests pass though
 We track incidents, severity and priority – great
 But how do we track the significance or value of
tests that pass?

Significance varies by objective:
 Criticality of the business goal it covers
 Criticality of the risk it covers

Significance varies by precedent:
 The first end-to-end test pass is significant
 Subsequent e2e passes are less significant

Significance varies by functional dependence:
 A test of shared functionality is more important than
standalone functionality

Significance by stakeholder:
 Customers and sponsor tests are more significant
than developer tests.



Stakeholders usually know how to judge the
significance of failures when tests FAIL
So why don’t we assess the significance of
tests BEFORE we run them?
If we did that:
 We could scope and prioritise more effectively
 We would know exactly which tests provide
enough information for an acceptance decision
 Acceptance criteria would be taken seriously.

Using business goals, risks and coverage to drive
testing is ‘advanced’ - but it is still VERY CRUDE

Quantum Testing proposal:


Need to assign a micro-significance to all tests
Need to assess macro-significance to collections of tests
As tests are created and executed, evidence
increases incrementally
 Manage progress by monitoring EVIDENCE rather
than by counting test cases.






We and our stakeholders could know the
value of tests BEFORE we run them
Stakeholders would understand WHAT we
are doing and WHY
The problem of ‘enough testing’ becomes a
shared challenge (testers and stakeholders)
Caveats: we assign significance qualitatively
rather than numerically
Significance is RELATIVE rather than absolute!


Axioms are context-neutral rules for testing
The Equation of Testing
 Separates axioms, context, values and thinking
 We can have sensible conversations about process


Axioms and associated questions provide
context neutral checklists for test strategy,
assessment/improvement and skills
Quantum Testing aims to address the
question, “how much testing is enough?”
THE
TESTING
OF
testaxioms.com
testers-pocketbook.com
gerrardconsulting.com
Thank-You!
Download