THEAXIOMSTESTINGOFPaul Gerrard
This talk is an experiment118 slides in 35 minutes ;-)Ever seen presentationzen.com?(and I had some fun with Google images)
Test Axioms – Do They Exist?What might they look like?But first, some video…
Pentagon Wars
A comedy, where the military officers lack principles except for…
The NewTest Manager
The book/film is based on a true story – a farceMy question for you is…
Is there a single, agreed set of guiding principles for testing and test managers?
More formally…
Are there a set of  axioms that provide a framework for all test approaches?
What is an Axiom?
An uncontested principle
2 + 2 = ???Something soself-evidently true it requires no proof
A foundation for thinking and behaviour
More formally…An axiom is something that is impossible to prove to be true but could be disproved with a single experiment/example.
Example AxiomDeclaration of independence para 2:“We hold these Truths to be self-evident, that all Men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty, and the pursuit of Happiness.”
Example Axiom 2“The shortest distance between two points is a straight line”
We believe Axioms are INFALLIBLE(but we are prepared to be proven wrong)We KNOW that heuristics are FALLIBLE(cf the Context-Driven School)
Testers like principles
“Testing as the conscience of the project”Testers tend to take principled stances
So, it would help if we had a set of principles or axioms to refer to
We all have our favourite ‘testing sayings’ but…There is no agreed set of laws so our profession is based on weak foundations.Repeat after me….
We need to start with a definition of ‘test’American Heritage Dictionary:Test: (noun)A procedure for critical evaluation;
A means of determining the presence, quality, or truth of something;
A trial. OK – that’s the intro…Let’s play:“Hunt the Axiom”
The testing community has many experts and evangelists
Many books on software testing…And there appear to be 713 of them …
Chapter 1	PrinciplesChapter 2	Approachblah blah etc…
But… there are some differences in opinion
Diverse principles promoted by diverse set of ‘experts’
Beizer, Black, Craig, Jaskiel, Gerrard, Thompson, Hetzel, Kaner, Bach, Petticord, Falk, Nguyen, Kit, Perry, Pol,  Teunissen, van Veenendaaland many more…
Each present their own test principles
What do we observe here?
Variable,credible,some even usefullet’s look closer…
Differing backgrounds and experience of ‘experts’
When some of them were written
Early focus on BUGS
Test thinking has evolved
Testing as a lifecycle activityModel-based testingTest-obsessedTesting as explorationBusiness goal-based testingAgile testingTest-first, test-drivenRisk-based testingTesting as learning
Some ‘principles’ appear again and again
Testing is an intellectually difficult activity
Complete testing is impossible
Independence of mind has value
Focusing on bugs is good
Testing builds confidence…and so on…
But some ‘principles’ are not universally accepted
…advocated as the professional approach by some…
Dynamic, concurrent test design and execution, using heuristics and an agile mentality is promoted by some…
What could theTest Axioms look like?
Some suggested criteria for Test Axioms…
From any perspective, they are self-evidently true
They apply to any test approach
Axioms are not guidelines
They are context insensitive
They are not practicesPractices are always context-sensitive
They are easy to understand
Corollaries
A non-Axiomatic testing approach is ‘unsound'
Projects that ignore the axioms might well be eCcEntRicWorse, you might be working in a …
Project fromHELL
…or the people doing the testing, aren’t
Different approaches reflect a different emphasis on the same axioms
Some people think that’s wrong
“If you believe in axioms, you have a closed mind”“Murder is wrong” is axiomatic.
“There are no universal axioms in our field”ALL the Axioms have been compared with the writings of the folk who have objected.
“Axioms define a school of testing”I believe Test Axioms exist.If we can get them right ALL schools of testing MUST align with them.
Do I want to be a School?Too many schools push dogma, demand obedience to school rules and mark people for life. They put up barriers to entry and exit and require members to sing the same school song. No thanks.
Axioms are just a high level abstraction– that’s all
Sound test approaches align with the Axioms or…
…the Axioms are wrong
The Proposed Axioms
Axiom NameThe AxiomAxioms are one-liners that succinctly state the principle.
Stakeholder AxiomTesting needs stakeholders
Test Basis AxiomYou need a source of knowledge to select things to test
Test Oracle AxiomTest needs a source of knowledge to evaluate actual behaviour
Fallibility AxiomYour sources of knowledge are fallible and incomplete
Scope Management AxiomIf you don’t manage scope, you may never meet stakeholder expectations
Design AxiomTest design is based on models
Coverage AxiomTesting requires a coverage model or models
Delivery AxiomThe usefulness of the intelligence produced by test determines the value of testing
Environment AxiomTest execution requires a known, controlled environment
Event AxiomTesting never goes as planned
Prioritisation AxiomThe most important tests are those that uncover the best intelligence, fast
Execution Sequencing AxiomRun your most important tests first – you may not have time to run them later
Repeat-Test AxiomRepeated tests are inevitable
Good-Enough AxiomAcceptance is always a compromise
Never-Finished AxiomTesting never finishes; it stops
Value AxiomThe value of intelligence is independent of who produces it
The Seventeenth AxiomSuggestions?
Applications of Test Axioms
Think of the Axioms as thinking tools
Test Strategy
Contexts of Test StrategyAxiomsCommunicationEarly TestingRisksDe-DuplicationTestStrategyOpportunitiesGoalsAutomationCultureContractUser involvementConstraintsHuman resourceArtefactsSkillsEnvironmentProcess(lack of?)Timescales
First Equation of TestingAxioms+ Context+ Values+ Thinking Approach
ValuesCome from your personal or organisational view of testing.Your ‘School’ of thought perhaps.
StakeholderAxiom-Pairsgenerate questionsBasisOracleFallibilityScopeValueCoverageNever-FinishedDeliveryGood-EnoughEnvironmentRepeat-TestEventDesignPrioritisationSequencing
StakeholderWhat tests do the different stakeholders value most?What information do the different stakeholders want first?Sequencing
Process Assessment and Improvement
Each Axiom triggers questions naturally
These questions frame a more natural assessmentMuch better than generic ‘maturity models’ that MUST BE context-dependent
E.g. Stakeholder questions(aka stakeholder analysis)Who are they?What intelligence do they want?What do they need it for?When do they want it?In what format?How often?Etc.
A Framework for Tester Competencies
EventCoverageRiskManagementNeverFinishedStakeholderAxioms drive competencies - exampleManaging Uncertainty
Facilitation, influencing and reporting
Expectation management
Crisis managementClosing Comments
I believe Test Axioms existWe need to define, refine, and agree them
Axioms could  be very usefulWill\
Axioms don’t constrainIf they exist, they stimulate thinking
They represent the set of core values and beliefs about testing(...Anything?)
Reminder:our definition of ‘test’A procedure for critical evaluation
A means of determining the presence, quality, or truth of something
A trial. Did you notice anything about the Axioms?The words software, system, technology, methodology, v-model, entry/exit criteria, risk – do not appear

The Axioms of Testing