Your SlideShare is downloading. ×
0
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Advancing Testing Using Axioms
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Advancing Testing Using Axioms

993

Published on

This is the talk Paul Gerrard gave at Eurostar 2010.

This is the talk Paul Gerrard gave at Eurostar 2010.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
993
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. THE<br />AXIOMS<br />TESTING<br />OF<br />Advancing Testing Using Axioms<br />Paul Gerrard<br />
  • 2. Paul Gerrard<br />Paul is a consultant, teacher, author, webmaster, programmer, tester, conference speaker, rowing coach and a publisher. He has conducted consulting assignments in all aspects of software testing and quality assurance, specialising in test assurance. He has presented keynote talks and tutorials at testing conferences across Europe, the USA, Australia, South Africa and occasionally won awards for them.<br />Educated at the universities of Oxford and Imperial College London, Paul was the founding chair of the BCS ISEB Testing Certificate Scheme and a member of the Working Party that produced BS 7925 – the Component Test Standard. <br />Currently, he is Principal of Gerrard Consulting Limited and is the host of the UK Test Management Forum.<br />
  • 3. Agenda<br />Axioms – a Brief Introduction<br />Advancing Testing Using Axioms<br />First Equation of Testing<br />Test Strategy and Approach<br />Testing Improvement<br />A Skills Framework for Testers<br />Quantum Testing<br />Close<br />
  • 4. Test Axioms<br />Formulated as a context-neutral set of rules for testing systems<br />They represent the critical thinking processes required to test any system<br />There are clear opportunities to advance the practice of testing using them<br />Testers Pocketbook: testers-pocketbook.com<br />Test Axioms Website test-axioms.com<br />
  • 5. How can we use Test Axioms?<br /><ul><li>Test Axioms are not beginners guides
  • 6. They can help you to think critically about testing
  • 7. They expose flaws in other people’s thinking and their arguments about testing
  • 8. They generate some useful by-products
  • 9. They help you to separate context from values
  • 10. Interesting research areas!
  • 11. First Equation of Testing, Testing Uncertainty Principle, Quantum Theory, Relativity, Exclusion Principle...
  • 12. You can tell I like physics</li></li></ul><li>16 Proposed Axioms(in three groups)<br />Stakeholder, (Test) Design and (Test) Delivery<br />You have the little book<br />
  • 13. Stakeholder<br />axioms<br />
  • 14. Testing needs stakeholders (p64)<br />Summary:<br />Identify and engage the people or organisations that will use and benefit from the test evidence we are to provide<br />Consequence if ignored or violated:<br />There will be no mandate or any authority for testing. Reports of passes, fails or enquiries have no audience.<br />Questions:<br />Who are they?<br />Whose interests do they represent?<br />What evidence do they want?<br />What do they need it for?<br />When do they want it?<br />In what format?<br />How often?<br />
  • 15. Design axioms<br />Fallibility<br />
  • 16. Test design is based on models (p68)<br />Summary:<br />Choose test models to derive tests that are meaningful to stakeholders. Recognise the models’ limitations and the assumptions that the models make<br />Consequence if ignored or violated:<br />Tests design will be meaningless and not credible to stakeholders.<br />Questions<br />Are design models available to use as test models? Are they mandatory?<br />What test models could be used to derive tests from the Test Basis?<br />Which test models will be used?<br />Are test models to be documented or are they purely mental models?<br />What are the benefits of using these models?<br />What simplifying assumptions do these models make?<br />How will these models contribute to the delivery of evidence useful to the acceptance decision makers?<br />How will these models combine to provide sufficient evidence without excessive duplication?<br />How will the number of tests derived from models be bounded?<br />
  • 17. Delivery axioms<br />Environment<br />
  • 18. Advancing Testing Using Axioms<br />
  • 19. First Equation of Testing<br />Axioms+ Context+ Values+ Thinking<br /> =Approach<br />
  • 20. Why is the equation useful?<br />Separation of Axioms, context, values and thinking<br />Tools, methodologies, certification, maturity models promote approaches without reference to your context or values<br />No thinking is required!<br />Without a unifying test theory you have no objective way of assessing these products.<br />
  • 21. One context, multiple approaches<br />Given context, practitioners can promote different approaches based on their values<br />Valuesare preferences or beliefs<br />Pre-planned v exploratory<br />Predefined v custom process<br />Requirements-driven v goal-based<br />Standard documentation v face-to-face comms.<br />Some contexts preclude certain practices<br />“No best practices”<br />
  • 22. Axioms allow (ensure) different approaches and expose positions<br />Separating axioms, context and values clarifies positions, for example:<br />‘Structured’ (certified?) test advocates have little (useful) to say about Agile contexts<br />Exploratory test advocates have little (useful) to say about contract/requirements-based acceptance<br />The disputes between these positions is more about valuesthan practices in context<br />Is a consultant recommendation best for the stakeholders or the consultant?<br />
  • 23. Test Strategy and Approach<br />Strategy is a thought process not a document<br />
  • 24. Contexts of Test Strategy<br />Axioms<br />Communication<br />Early Testing<br />Risks<br />De-Duplication<br />Test<br />Strategy<br />Opportunities<br />Goals<br />Automation<br />Culture<br />Contract<br />User involvement<br />Constraints<br />Human resource<br />Artefacts<br />Skills<br />Environment<br />Process(lack of?)<br />Timescales<br />
  • 25. IEEE 829 Test Plan Outline<br />Test Plan Identifier<br />Introduction<br />Test Items<br />Features to be Tested<br />Features not to be Tested<br />Approach<br />Item Pass/Fail Criteria<br />Suspension Criteria and Resumption Requirements<br />Test Deliverables<br />Testing Tasks<br />Environmental Needs<br />Responsibilities<br />Staffing and Training Needs<br />Schedule<br />Risks and Contingencies<br />Approvals<br />Based on IEEE Standard 829-1998<br />
  • 26. I’m no fan of IEEE 829<br />Used as a strategy checklist<br />Scarily vague (don’t go there)<br />Used as a documentation template/standard<br />Flexible, not prescriptive, but encourages copy and edit mentality (documents that no one reads)<br />But many many testers seek guidance on<br />What to consider in a test strategy<br />Communicating their strategy to stakeholders and project participants<br />
  • 27. IEEE 829 Plan and Axioms<br />Items 1, 2 – Administration<br />Items 3+4+5 – Scope Management, Prioritisation<br />Item 6 – All the Axioms are relevant<br />Items 7+8 – Good-Enough, Value<br />Item 9 – Stakeholder, Value, Confidence<br />Item 10 – All the Axioms are Relevant<br />Item 11 – Environment<br />Item 12 – Stakeholder<br />Item 13 – All the Axioms are Relevant<br />Item 14 – All the Axioms are Relevant<br />Item 15 – Fallibility, Event<br />Item 16 – Stakeholder Axioms<br />
  • 28. A Better Test Strategy and Plan<br />Stakeholder Objectives<br />Stakeholder management<br />Goal and risk management<br />Decisions to be made and how (acceptance)<br />How testing will provide confidence and be assessed<br />How scope will be determined<br />Design approach<br />Sources of knowledge (bases and oracles)<br />Sources of uncertainty<br />Models to be used for design and coverage<br />Prioritisation approach<br />Delivery approach<br />Test sequencing policy<br />Repeat test policies<br />Environment requirements<br />Information delivery approach<br />Incident management approach<br />Execution and end-game approach<br />Plan (high or low-level)<br />Scope<br />Tasks<br />Responsibilities<br />Schedule<br />Approvals<br />Risks and contingencies<br />
  • 29. Testing Improvement<br />Test process improvement is a waste of time<br />
  • 30.
  • 31.
  • 32. Actually<br />its 11<br />(most were not software related)<br />
  • 33. The delusion of process models(e.g. CMM)<br />Google search<br />“CMM” – 22,300,000<br />“CMM Training” – 48,200<br />“CMM improves quality” – 74 (BUT really 11 – most of these have NOTHING to do with software)<br />A Gerrard Consulting client…<br />CMM level 3 and proud of it (chaotic, hero culture)<br />Hired us to assess their overall s/w process and make recommendations (quality, time to deliver is slipping)<br />40+ recommendations, only 7 adopted – they couldn’t change<br />How on earth did they get through the CMM 3 audit?<br />
  • 34. “Test Process Improvement is a Waste of Time”<br />Using process change to fix cultural or organisational problems is never going to work<br />Improving test in isolation is never going to work either<br />Need to look at changing context rather than values…<br />
  • 35. Why you are where you are<br />Context+ Values+ Thinking<br />=Approach<br /><- your context<br /><- your values<br /><- your thinking<br /><- your approach<br />
  • 36. Where maturity models come from<br />Context+ Values+ Thinking<br />=Approach<br /><- someone else's<br /><- someone else's<br /><- someone else's<br /><- someone else's<br />
  • 37. Making change happen<br />Axioms+ Context+ Values+ Thinking<br />=Approach<br /><- recognise<br /><- could change?<br /><- hard to change<br /><- just do some<br /><- your approach<br />
  • 38. Using the axioms and questions<br />Axioms represent the critical things to think about<br />Associated questions act as checklists to:<br />Assess your current approach<br />Identify gaps, inconsistencies in current approach<br />QA your new approach in the future<br />Axioms represent the WHAT<br />Your approach specifies HOW<br />
  • 39. Eight stage change process (after Kotter)<br />Mission<br />Coalition<br />Vision<br />Communication<br />Action<br />Wins<br />Consolidation<br />Anchoring<br />Changes identified here<br />If you must use one, this is where your ‘process model’ comes into play<br />
  • 40. A Skills framework for testers<br />Axioms indicate WHAT to think about...<br />...so the Axioms point to SKILLS<br />
  • 41. Test design is based on models (p68)<br />Summary:<br />Choose test models to derive tests that are meaningful to stakeholders. Recognise the models’ limitations and the assumptions that the models make.<br />Consequence if ignored or violated:<br />Tests design will be meaningless and not credible to stakeholders.<br />Questions:<br />Are design models available to use as test models? Are they mandatory?<br />What test models could be used to derive tests from the Test Basis?<br />Which test models will be used?<br />Are test models to be documented or are they purely mental models?<br />What are the benefits of using these models?<br />What simplifying assumptions do these models make?<br />How will these models contribute to the delivery of evidence useful to the acceptance decision makers?<br />How will these models combine to provide sufficient evidence without excessive duplication?<br />How will the number of tests derived from models be bounded?<br />
  • 42. Test design and modelling skills<br />A tester needs to understand:<br />Test models and how to use them<br />How to select test models from fallible sources of knowledge<br />How to design test models from fallible sources of knowledge<br />Significance, authority and precedence of test models<br />How to use models to communicate<br />The limitations of test models<br />Familiarity with common models<br />Is this all that current certification provides?<br />
  • 43. Training and certification must change<br />Intellectual skills and capabilities are more important than the clerical skills<br />Need to re-focus on:<br />Testing thought processes (Axioms)<br />Testing Stakeholder relationship management<br />Testing as an information provision service<br />Goal and risk-based testing<br />Real-world examples, not theory<br />Practical, hands-on, real-world training, exercises and coaching.<br />
  • 44. Quantum Testing<br />If evidence arrives in discrete quanta...<br />...can we assign a value to it?<br />
  • 45. How testing builds confidence<br />As tests are run, every individual test has some significance<br />Some tests expose failures but ultimately we want all tests to PASS<br />When all tests pass – the stakeholders are happy, aren’t they?<br />Can we measure confidence by counting tests?<br />Not really...<br />
  • 46. The value of a test varies by…<br />Coverage model:<br />A test could cover one or hundreds of functional conditions, ten thousand program statements or ten<br />Objective:<br />Criticality of the business goal it examples<br />Criticality of the risk it informs<br />Precedent:<br />The first end-to-end test pass is significant<br />The 100th variation of a similar test is less significant<br />Functional dependence:<br />A test of shared functionality used thousands of times per hour could be much more important than a peripheral feature used once/day<br />Stakeholder:<br />Are customers tests more or less significant than supplier tests?<br />Context:<br />The same test run at different times in different environments can have different value.<br />
  • 47. Quantum Testing<br /><ul><li>Only a stakeholder can assign a value to a test (but that is very hard thing to do) – (but see relativity)
  • 48. Testers can’t quantify value, but could define significance
  • 49. A test is significant (to stakeholders) if it:
  • 50. Can be related to a meaningful test objective
  • 51. Increases coverage with respect to a meaningful test model
  • 52. Is considered in an acceptance decision (at any level)
  • 53. Significance is a Boolean but could be 0 or 1
  • 54. The number of insignificant tests should be zero.</li></li></ul><li>Assessing significance<br />Significance can only be assessed by testers if:<br />Our test objectives, models, coverage goals are meaningful (to stakeholders) or<br />Testers are authorised to create their own objectives, measures and coverage goals or<br />Testers are their own stakeholder<br />Testers need a close, trusting relationship with their stakeholdersor authorised autonomy<br />E.g. exploratory testing won’t work if stakeholders do not allow autonomy<br />Testers should not ‘go it alone’.<br />
  • 55. The significance of significance<br />Test coverage models and goals that generate uniform distributions of tests are inefficient and uninformative<br />We need more and better test models<br />Models that are meaningful in context<br />Significance varies with context and can be used to explain why<br />e.g. some tests aren’t useful as regression tests<br />How much testing is enough?<br />Can never be answered by coverage alone.<br />
  • 56. Using significance (as booleans)<br />A test objective could be deemed as met when a set of significant tests are passed<br />Test objectives can often be aligned with business goals (or risks) e.g.:<br />Faultless end to end or straight-through processing in an ERP system<br />Customer order capture, money-in or complete financial reconciliations without failure<br />Could the business put a value on these goals being achieved?<br />Perhaps the business case provides this level of information?<br />
  • 57. Our current understanding of test value measurement<br />In terms of a mathematical treatment of testing we are some way off<br />Compare with:<br />Understanding of heat and energy in 18thcentury?<br />Economics in the early 20thCentury?<br />A complete theory of test value may never be achieved<br />Quantum testing suggests that:<br />Stakeholders judge value (relatively speaking)<br />Testers judge significance.<br />
  • 58. Close<br />Axioms are context-neutral rules for testing<br />The Equation of Testing<br />Separates axioms, context, values and thinking<br />We can have sensible conversations about process<br />Axioms and associated questions provide context neutral checklists for test strategy, assessment/improvement and skills<br />QT separates significance from value<br />Could it tell us, “how much testing is enough”?<br />Right now, we can ‘feel the heat’, but not measure temperature.<br />
  • 59. THE<br />AXIOMS<br />TESTING<br />OF<br />testaxioms.com<br />testers-pocketbook.com<br />gerrardconsulting.com<br />uktmf.com<br />Thank-You!<br />

×