SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Test Axioms – An Introduction

                                        Paul Gerrard
                               Principal, Gerrard Consulting
                      PO Box 347, Maidenhead, Berkshire, SL6 2GU, UK
                             paul at gerrardconsulting dot com


                                              Abstract

       Is it possible to define a set of axioms that provide a framework for software testing that all
       the variations of test approach currently being advocated align with or obey? In this respect,
       an axiom would be an uncontested principle; something self-evidently and so obviously true
       and not requiring proof. What would such test axioms look like? This paper summarises some
       preliminary work on defining a set of Test Axioms. Some applications of the axioms that
       would appear useful are suggested for future development. It is also suggested the work of
       practitioners and researchers is on very shaky ground unless we refine and agree these
       Axioms. This is a work in progress.

1 DO TEST AXIOMS EXIST?
1.1   No Single Set of Guiding Test Principles

       It is arguable how long the discipline we call software testing has existed, but published
       papers on software testing and references to testing as an activity separate from development
       appear in the mid-1970s. Of course, testing as an activity existed long before then and it has
       been suggested [1] that Ada Lovelace, by being the first programmer was, implicitly, the first
       tester too.
       Almost every book on testing, self-promoted schools, ad-hoc and organised testing groups,
       and ‘test evangelists’ (let’s call them) set out their guiding principles before presenting their
       approach, method, dogma, techniques, heuristics etc. It seems to be in our genes as testers that
       we need a guiding set of principles to define our credo. Perhaps, as practitioners, we are so
       used to having to defend our position that these principles help our credibility and/or
       confidence. But it also appears that few of the books actually describe the thought process –
       from stated principle to advised practice.
       There is a very diverse set of guiding principles being promoted in the literature. As I look at
       my bookshelf, I flick through early chapters of a few select books. In roughly alphabetical
       order, Beizer [2], Black [3], Craig and Jaskiel [4], Gerrard and Thompson [5], Hetzel [6],
       Kaner Bach and Petticord [7], Kaner Falk and Nguyen [8], Kit [9], Patton [10], Perry [11], Pol
       Teunnissen and van Veenendaal [12] all, to varying degrees present:
           A definition of testing (or several definitions, with their preferred variation)
           Some fundamental principles of testing they subscribe to
           An approach, ethos, philosophy, method that they adhere to.
       Most other books show the same pattern. What do we observe here?
       Firstly, we get a wide range of objectives, all of which are credible, have value and can be
       used as a guide. These objectives don’t reflect different agendas of the authors, but they do
       probably reflect the varying backgrounds and experiences of the authors and the time the


© 2008 Paul Gerrard                                                    Version 1.0 29 July 2008 Page 1
books were written. Approaches in books, papers and methodologies span a wide spectrum of
       high structure, high ceremony to more agile, dynamic, exploratory approaches.
       Earlier writings on software testing focus on the rather narrow objective of finding bugs. Over
       time, the focus has broadened to cover reviews, testing as a whole-lifecycle process and the
       business aspects of test, namely information provision for decision-support with risk and
       benefits/results management as the drivers.
       Second, 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 practices ‘derived from principle’ are not
       universally accepted. Pre-meditated, thoroughly documented, planned, prepared testing is
       advocated as the professional approach by some, but criticised as expensive, ineffective,
       stupefying and inflexible by others. Dynamic, concurrent test design and execution, using
       heuristics and an agile mentality are promoted by some, but grudgingly acknowledged as
       being of limited use in small projects by others.
       The differing approaches advocated by the various authors may reflect different backgrounds
       and experiences. Perhaps this is the reason why approaches are promoted and supported so
       assertively. If an approach is based on one's experience, it is hard to compromise, as one's
       experience cannot be changed. Obviously, an approach that is appropriate to a web start-up is
       probably not appropriate for a safety-critical application, or a compliance or evidence-driven
       testing project. Context is everything.
       But why do different authors promote different basic principles?

1.2   The Foundations of Software Testing are Disputed (to say the least)
       Is it realistic to believe that there are an underlying set of principles that underpin all testing,
       regardless of context? Neil Thompson [13] attempted to build a bridge between the various
       ‘schools’, identify a set of 'always-good practices' and used the Goldratt thinking tools. The
       context-driven school resist the notion of 'Best Practices'. One might quibble with the context-
       driven principles as stated [14], but it must surely be acknowledged that all testing and
       practices are context-dependent and there can be no 'best practices' for all contexts.
       A better characterisation of the two schools might be those that promote test design as a pre-
       meditated activity or one that is contemporaneous to test execution. But the split between the
       schools is not clear-cut – it is one of emphasis, rather than slavish adherence.
       The Software Testing discipline seems not to have an agreed foundation. An unsafe,
       unsatisfactory and indefensible situation!

1.3   The Contexts in Which Test Axioms Apply
       There is a valid objection to the notion of axioms in testing. The business spectrum of
       contexts in which projects exists is huge. The technical spectrum is just as wide. How can
       there be a set of ‘laws’ that describe or define the approaches testers must make? Testing has
       been described as a ‘social science’ [15]. How can there be a set of immutable laws for a
       human, error-prone activity like that?
       In physics, Newton’s laws were shown to be an approximation when Einstein properly
       accounted for relativistic effects. As time passes, every law seems to be shown to be
       approximately true, or true in only some contexts. In the context of non-relativistic motion
       (i.e. velocities that are within our normal human experience) Newton’s laws apply with
       acceptable accuracy but they are an approximation.
       Inevitably, there cannot be a set of Test Axioms which hold for all contexts, so let me say
       this: The ‘Testing Axioms’ postulated herein are axiomatic in conventional projects.



© 2008 Paul Gerrard                                                     Version 1.0 29 July 2008 Page 2
1.4   The Test Axioms Apply in Conventional Projects
       If an axiom (stated here) does not hold in your context, then your context is ‘eccentric’. What
       do I mean by eccentric? Here are some examples (more than one of which I have experienced
       personally):
           You are asked to test an object or system that does not exist;
           The outcome of testing is of no interest to anyone on the project;
           There are no limits in terms of time, cost or effort in your project;
           Testing is regarded as an activity with no outputs or deliverables (of value);
           Testing is regarded as a purely clerical activity;
           Testers are required to lie about or suppress their findings.
       In my experience, projects that exhibit these characteristics could reasonably be described as,
       ‘Projects from Hell’ – at least from a tester’s perspective.

1.5   So, What Should Test Axioms Look Like?
       If the industry needs an agreed set of underlying axioms, what would they look like? Here are
       my suggested criteria for Test Axioms:
           From the perspective of any software tester, they are self-evidently true.
           The axioms apply to any test approach from an end to end perspective to the perspective
           of an individual doing just a little testing.
           The axioms are distinct from guidelines or principles that reflect a particular context.
           They are context insensitive.
           They are not practices, although ‘established’ or ‘novel’ practices may be chosen to
           adhere to or implement the axiom.
           A testing approach must adhere to or implement the axioms or be deemed 'incomplete'.
       Different approaches reflect a difference in emphasis across the range of axioms, rather than a
       different set of implemented axioms.
       The axioms represent mechanisms designed to meet the objectives of the testing in scope. A
       mechanism may be a well-defined, documented process, an informal or even ad-hoc activity -
       but that mechanism must be understood and used by participants in the test.

2 THE PROPOSED TEST AXIOMS

       Table 1 presents the tabulated set of sixteen proposed Test Axioms. Each Test Axiom has a
       name. This is just shorthand that makes cross-referencing of the Axioms easy. The
       Stakeholder Axiom is an example. The Axioms are most commonly set out in a matter-of-fact
       way, which is what I propose they are.
       The implications of an Axiom are set out in a descriptive way, as an Action or Narrative. To
       better explain an Axiom, the consequences of disregarding it are set out in the ‘if you don’t
       recognise the axiom’ column.




© 2008 Paul Gerrard                                                    Version 1.0 29 July 2008 Page 3
Table 1, Proposed Test Axioms
Name            Axiom                 Action/Narrative                        If you don’t recognise
                                                                              the axiom


Stakeholder     Testing needs         Identify and engage the people          You won’t have a mandate
                stakeholders          or organisations that will use          or any authority for testing.
                                      and benefit from the test               Reports of passes, fails or
                                      evidence you are to provide.            enquiries have no audience.

Test Basis      Test needs a          Identify and agree the goals,           How will you select things to
                source of             requirements, heuristics, risks,        test?
                knowledge to select   hearsay needed to identify
                                      targets of testing.
                things to test


Test Oracle     Test needs a          Define the sources of                   How will you assess
                source of             knowledge whether                       whether tested software
                knowledge to          documented, physical,                   behaves correctly or not?
                                      experience or hearsay-based
                evaluate actual
                                      to be used to determine
                behaviour             expected behaviour.


Fallibility     Your sources of       Test bases, oracles,                    It is naive to think otherwise,
                knowledge are         requirements, goals are fallible        as human error has an
                fallible and          because the people who write            impact at every stage of the
                                      them are human.                         development lifecycle.
                incomplete


Scope           If you don’t manage   You must have a mechanism               It is possible, and probable
Management      scope, you may        for identifying and agreeing the        that stakeholders will
                never meet            items in and out of scope               assume you will test
                                      (documentation, software or             ‘everything’. You may also
                stakeholder
                                      other deliverable or output) and        test and report progress of
                expectations          managing change.                        tests that are of no interest
                                                                              to stakeholders.

Design          Test design is        Identify, adopt and agree a             Test design will be
                based on models       model or models to be used to           subjective, random and
                                      select test cases.                      inconsistent – and not be
                                                                              credible.

Coverage        Testing requires a    You must have a means of                You may not be able to
                coverage model or     evaluating narratively,                 answer questions such as,
                models                qualitatively or quantitatively         ‘what has been tested?’,
                                      the testing you plan to do or           ‘what has not been tested?’,
                                      have done.                              ‘have you finished testing?’

Delivery        The usefulness of     Define what and how you need            Different stakeholders
                the intelligence      to report from testing. Define a        require different formats and
                produced by test      mechanism, frequency, media             analyses of intelligence and
                                      and format for the evidence to          may not find your test
                determines the
                                      be provided.                            reporting useful for decision
                value of testing                                              making.


Environment     Test execution        Establish the need and                  Environments may be
                requires a known,     requirements for an                     delivered late or not at all or
                controlled            environment to be used for              not be as required. This will
                                      testing, including a mechanism          delay testing or undermine
                environment
                                      for managing changes to that            the credibility of testing
                                      environment – in good time.             performed.




© 2008 Paul Gerrard                                                     Version 1.0 29 July 2008 Page 4
Name              Axiom                      Action/Narrative                   If you don’t recognise
                                                                                the axiom


Event             Testing never goes         Define a mechanism for             Unplanned events can stop
                  as planned                 managing and communicating         testing or adversely affect
                                             events planned or unplanned        your plans and cause delay
                                             that have a bearing on the         to testing, bug fixing or
                                             successful delivery of test        undermine your tests.
                                             evidence.

Prioritisation    The most important         Select and agree the means of      Stakeholders may not get
                  tests are those that       prioritising the tests to          the intelligence they require
                  uncover the best           determine which of the infinite    to make decisions because
                                             set of tests that could be         the necessary tests have
                  intelligence, fast
                                             prepared and run are prepared      not been planned.
                                             and run.

Execution         Run your most              Agree a means of sequencing        Stakeholders may not get
Sequencing        important tests first      the tests to ensure the ‘most      the intelligence they require
                  – you may not have         important tests’ are run if        to make decisions because
                                             execution time is limited or       the necessary tests have
                  time to run them
                                             testing is stopped.                not been executed.
                  later


Repeat-Test       Repeated tests are         Define and agree a policy for      There may be no time in
                  inevitable                 re-testing and regression          your plan for assuring fixes
                                             testing.                           and that they do not cause
                                                                                side-effects.

Good-             Acceptance is              Appreciate that the acceptance     You may be frustrated
Enough            always a                   decision will always be made       because the system is
                  compromise                 on partial information.            imperfect because your
                                                                                values do not match those
                                                                                of stakeholders.

Never-            Testing never              Recognise that testing is time     You may be unable to
Finished          finishes; it stops         limited and may not complete.      articulate achievement,
                                             Test outcomes and reporting        coverage and the risks of
                                             should focus on achievement.       incomplete testing.

Value             The value of               The outcome of a test and the      Setting aside vested
                  intelligence is            way intelligence is presented      interests, recognise that
                  independent of who         defines its value, regardless of   non-independent testers
                                             its source.                        may be best placed to test
                  produces it
                                                                                most effectively.




3 APPLICATIONS
        There appear to be several potential applications of the Test Axioms:
            the need for a practice in context can be justified;
            as drivers for questions in a test approach assessment or process audit;
            as a thinking tool to suppport stakeholder engagement and test strategy;
            as a framework for tester education and development.
        In short, the value of each Axiom is primarily as a Thinking Tool for testers. Some are most
        appropriate to test strategy and management, but they can also apply to the very next test you
        need to plan, create and execute as a hands-on tester.


© 2008 Paul Gerrard                                                       Version 1.0 29 July 2008 Page 5
4 CHALLENGE TO ACADEMIA AND INDUSTRY
       This paper has suggested that the founding principles of all software testing are undefined,
       disputed and of varying value. A set of Testing Axioms upon which all of our testing related
       activity and research can be founded has been proposed. If the industry cannot agree on such
       a set of Axioms, how can we talk or work with confidence in our profession?
       This is a work in progress and the author will gratefully receive comments, criticisms or
       suggestions for further Test Axioms.

5 REFERENCES
       [1]     Isabel Evans, Growing Our Industry: Cultivating Testing, Star East 2008, Orlando.
       [2]     Beizer, B, Software Testing Techniques, VNR, New York 1990.
       [3]     Black, R, Managing the Testing Process, Microsoft Press, Redmond, 1999.
       [4]     Craig, R & Jaskiel, S, Systematic Software Testing, Artech House, Norwood, 2002.
       [5]     Gerrard, P & Thompson N, Risk-Based E-Business Testing, Artech House, Norwood,
               2002.
       [6]     Hetzel, W, The Complete Guide to Software Testing, QED, Massachusets, 1984.
       [7]     Kaner, C, Bach, J, Pettichord, B, Lessons Learned in Software Testing, Wiley, New
               York, 2002.
       [8]     Kaner, C, Falk, J, Nguyen, H Q, Testing Computer Software, VNR, New York, 1988.
       [9]     Kit, E, Software Testing in the Real World, ACM Press, New York, 1995.
       [10]    Patton, R, Software Testing, SAMS, Indianapolis, 2006.
       [11]    Perry, W P, Effective Methods for Software Testing, John Wiley, New York, 1995.
       [12]    Pol M, Teunissen, R, van Veenendaal, E, Software Testing, Addison Wesley,
               London, 2002.
       [13]    Thompson, N, "Best Practices and Context-Driven: Building a Bridge",
               www.tiscl.com
       [14]    “The Seven Basic Principles of the Context-Driven School”, www.context-driven-
               testing.com
       [15]    Kaner, C, “Software Testing as a Social Science”,
               www.kaner.com/pdfs/KanerCUSECstss.pdf




© 2008 Paul Gerrard                                                  Version 1.0 29 July 2008 Page 6

Contenu connexe

Tendances

Test driven development
Test driven developmentTest driven development
Test driven developmentNascenia IT
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
Testing documents
Testing documentsTesting documents
Testing documentssuhasreddy1
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis Rik Marselis
 
Software Quality Assurance - Software Engineering PPT by Devansh Koolwal
Software Quality Assurance - Software Engineering PPT by Devansh KoolwalSoftware Quality Assurance - Software Engineering PPT by Devansh Koolwal
Software Quality Assurance - Software Engineering PPT by Devansh KoolwalDevansh Koolwal
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
Test Execution
Test ExecutionTest Execution
Test ExecutionRajathi-QA
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introductionOana Feidi
 
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life CycleDefect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cyclepavansmiles
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologiessdettech
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de TesteElias Nogueira
 

Tendances (20)

Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Software Quality Assurance - Software Engineering PPT by Devansh Koolwal
Software Quality Assurance - Software Engineering PPT by Devansh KoolwalSoftware Quality Assurance - Software Engineering PPT by Devansh Koolwal
Software Quality Assurance - Software Engineering PPT by Devansh Koolwal
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Test Execution
Test ExecutionTest Execution
Test Execution
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
 
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life CycleDefect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
 
Agile QA process
Agile QA processAgile QA process
Agile QA process
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologies
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de Teste
 

Similaire à Test Axioms – An Introduction

Test analysis identifying test conditions
Test analysis identifying test conditionsTest analysis identifying test conditions
Test analysis identifying test conditionsromi wisarta
 
Theories, models and frameworks 2017
Theories, models and frameworks 2017Theories, models and frameworks 2017
Theories, models and frameworks 2017Martha Seife
 
Test analysis: indentifying test conditions
Test analysis: indentifying test conditionsTest analysis: indentifying test conditions
Test analysis: indentifying test conditionsJeri Handika
 
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASESIDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASESNathandisya
 
Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven TestingSQABD
 
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docxoswald1horne84988
 
Rapid Software Testing: Strategy
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: StrategyTechWell
 
Solving research problem_3539ce35db1215c11a780b1712d47e46
Solving research problem_3539ce35db1215c11a780b1712d47e46Solving research problem_3539ce35db1215c11a780b1712d47e46
Solving research problem_3539ce35db1215c11a780b1712d47e46Kæsy Chaudhari
 
What is a Research design and its types
What is a Research design and its typesWhat is a Research design and its types
What is a Research design and its typesShivangiVerma51
 
Researchmethodology 110218234528-phpapp02
Researchmethodology 110218234528-phpapp02Researchmethodology 110218234528-phpapp02
Researchmethodology 110218234528-phpapp02Hamizo
 
Research methodology
Research methodologyResearch methodology
Research methodologyAshish Sahu
 

Similaire à Test Axioms – An Introduction (20)

Test analysis identifying test conditions
Test analysis identifying test conditionsTest analysis identifying test conditions
Test analysis identifying test conditions
 
Theories, models and frameworks 2017
Theories, models and frameworks 2017Theories, models and frameworks 2017
Theories, models and frameworks 2017
 
Test analysis: indentifying test conditions
Test analysis: indentifying test conditionsTest analysis: indentifying test conditions
Test analysis: indentifying test conditions
 
New microsoft word document (2)
New microsoft word document (2)New microsoft word document (2)
New microsoft word document (2)
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASESIDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
 
Test Management
Test ManagementTest Management
Test Management
 
Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven Testing
 
exploratory-testing - Read only not hidden
exploratory-testing - Read only not hiddenexploratory-testing - Read only not hidden
exploratory-testing - Read only not hidden
 
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx
05995 Topic Discussion 3Number of Pages 2 (Double Spaced).docx
 
Rapid Software Testing: Strategy
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: Strategy
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Solving research problem_3539ce35db1215c11a780b1712d47e46
Solving research problem_3539ce35db1215c11a780b1712d47e46Solving research problem_3539ce35db1215c11a780b1712d47e46
Solving research problem_3539ce35db1215c11a780b1712d47e46
 
Assessment
AssessmentAssessment
Assessment
 
What is a Research design and its types
What is a Research design and its typesWhat is a Research design and its types
What is a Research design and its types
 
Experimental Research
Experimental ResearchExperimental Research
Experimental Research
 
Researchmethodology 110218234528-phpapp02
Researchmethodology 110218234528-phpapp02Researchmethodology 110218234528-phpapp02
Researchmethodology 110218234528-phpapp02
 
Research methodology
Research methodologyResearch methodology
Research methodology
 
Research methodology
Research methodologyResearch methodology
Research methodology
 
Brm 2
Brm 2Brm 2
Brm 2
 

Plus de Paul Gerrard

Managing Projects with Intelligence
Managing Projects with IntelligenceManaging Projects with Intelligence
Managing Projects with IntelligencePaul Gerrard
 
What is the Value of Testing and how can we increase it?
What is the Value of Testing and how can we increase it?What is the Value of Testing and how can we increase it?
What is the Value of Testing and how can we increase it?Paul Gerrard
 
Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?Paul Gerrard
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of TestingPaul Gerrard
 
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?Paul Gerrard
 
Rethinking the Role of Testers
Rethinking the Role of TestersRethinking the Role of Testers
Rethinking the Role of TestersPaul Gerrard
 
Using Stories to Test Requirements and Systems
Using Stories to Test Requirements and SystemsUsing Stories to Test Requirements and Systems
Using Stories to Test Requirements and SystemsPaul Gerrard
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsPaul Gerrard
 
Business Story Method - Overview
Business Story Method - OverviewBusiness Story Method - Overview
Business Story Method - OverviewPaul Gerrard
 
Maelscrum / Business Story Manager Overview
Maelscrum / Business Story Manager OverviewMaelscrum / Business Story Manager Overview
Maelscrum / Business Story Manager OverviewPaul Gerrard
 

Plus de Paul Gerrard (11)

Managing Projects with Intelligence
Managing Projects with IntelligenceManaging Projects with Intelligence
Managing Projects with Intelligence
 
What is the Value of Testing and how can we increase it?
What is the Value of Testing and how can we increase it?What is the Value of Testing and how can we increase it?
What is the Value of Testing and how can we increase it?
 
Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?Will The Test Leaders Stand Up?
Will The Test Leaders Stand Up?
 
Leadership
LeadershipLeadership
Leadership
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
 
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?
The Pursuit of Quality - Chasing Tornadoes or Just Hot Air?
 
Rethinking the Role of Testers
Rethinking the Role of TestersRethinking the Role of Testers
Rethinking the Role of Testers
 
Using Stories to Test Requirements and Systems
Using Stories to Test Requirements and SystemsUsing Stories to Test Requirements and Systems
Using Stories to Test Requirements and Systems
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Business Story Method - Overview
Business Story Method - OverviewBusiness Story Method - Overview
Business Story Method - Overview
 
Maelscrum / Business Story Manager Overview
Maelscrum / Business Story Manager OverviewMaelscrum / Business Story Manager Overview
Maelscrum / Business Story Manager Overview
 

Dernier

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Dernier (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Test Axioms – An Introduction

  • 1. Test Axioms – An Introduction Paul Gerrard Principal, Gerrard Consulting PO Box 347, Maidenhead, Berkshire, SL6 2GU, UK paul at gerrardconsulting dot com Abstract Is it possible to define a set of axioms that provide a framework for software testing that all the variations of test approach currently being advocated align with or obey? In this respect, an axiom would be an uncontested principle; something self-evidently and so obviously true and not requiring proof. What would such test axioms look like? This paper summarises some preliminary work on defining a set of Test Axioms. Some applications of the axioms that would appear useful are suggested for future development. It is also suggested the work of practitioners and researchers is on very shaky ground unless we refine and agree these Axioms. This is a work in progress. 1 DO TEST AXIOMS EXIST? 1.1 No Single Set of Guiding Test Principles It is arguable how long the discipline we call software testing has existed, but published papers on software testing and references to testing as an activity separate from development appear in the mid-1970s. Of course, testing as an activity existed long before then and it has been suggested [1] that Ada Lovelace, by being the first programmer was, implicitly, the first tester too. Almost every book on testing, self-promoted schools, ad-hoc and organised testing groups, and ‘test evangelists’ (let’s call them) set out their guiding principles before presenting their approach, method, dogma, techniques, heuristics etc. It seems to be in our genes as testers that we need a guiding set of principles to define our credo. Perhaps, as practitioners, we are so used to having to defend our position that these principles help our credibility and/or confidence. But it also appears that few of the books actually describe the thought process – from stated principle to advised practice. There is a very diverse set of guiding principles being promoted in the literature. As I look at my bookshelf, I flick through early chapters of a few select books. In roughly alphabetical order, Beizer [2], Black [3], Craig and Jaskiel [4], Gerrard and Thompson [5], Hetzel [6], Kaner Bach and Petticord [7], Kaner Falk and Nguyen [8], Kit [9], Patton [10], Perry [11], Pol Teunnissen and van Veenendaal [12] all, to varying degrees present: A definition of testing (or several definitions, with their preferred variation) Some fundamental principles of testing they subscribe to An approach, ethos, philosophy, method that they adhere to. Most other books show the same pattern. What do we observe here? Firstly, we get a wide range of objectives, all of which are credible, have value and can be used as a guide. These objectives don’t reflect different agendas of the authors, but they do probably reflect the varying backgrounds and experiences of the authors and the time the © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 1
  • 2. books were written. Approaches in books, papers and methodologies span a wide spectrum of high structure, high ceremony to more agile, dynamic, exploratory approaches. Earlier writings on software testing focus on the rather narrow objective of finding bugs. Over time, the focus has broadened to cover reviews, testing as a whole-lifecycle process and the business aspects of test, namely information provision for decision-support with risk and benefits/results management as the drivers. Second, 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 practices ‘derived from principle’ are not universally accepted. Pre-meditated, thoroughly documented, planned, prepared testing is advocated as the professional approach by some, but criticised as expensive, ineffective, stupefying and inflexible by others. Dynamic, concurrent test design and execution, using heuristics and an agile mentality are promoted by some, but grudgingly acknowledged as being of limited use in small projects by others. The differing approaches advocated by the various authors may reflect different backgrounds and experiences. Perhaps this is the reason why approaches are promoted and supported so assertively. If an approach is based on one's experience, it is hard to compromise, as one's experience cannot be changed. Obviously, an approach that is appropriate to a web start-up is probably not appropriate for a safety-critical application, or a compliance or evidence-driven testing project. Context is everything. But why do different authors promote different basic principles? 1.2 The Foundations of Software Testing are Disputed (to say the least) Is it realistic to believe that there are an underlying set of principles that underpin all testing, regardless of context? Neil Thompson [13] attempted to build a bridge between the various ‘schools’, identify a set of 'always-good practices' and used the Goldratt thinking tools. The context-driven school resist the notion of 'Best Practices'. One might quibble with the context- driven principles as stated [14], but it must surely be acknowledged that all testing and practices are context-dependent and there can be no 'best practices' for all contexts. A better characterisation of the two schools might be those that promote test design as a pre- meditated activity or one that is contemporaneous to test execution. But the split between the schools is not clear-cut – it is one of emphasis, rather than slavish adherence. The Software Testing discipline seems not to have an agreed foundation. An unsafe, unsatisfactory and indefensible situation! 1.3 The Contexts in Which Test Axioms Apply There is a valid objection to the notion of axioms in testing. The business spectrum of contexts in which projects exists is huge. The technical spectrum is just as wide. How can there be a set of ‘laws’ that describe or define the approaches testers must make? Testing has been described as a ‘social science’ [15]. How can there be a set of immutable laws for a human, error-prone activity like that? In physics, Newton’s laws were shown to be an approximation when Einstein properly accounted for relativistic effects. As time passes, every law seems to be shown to be approximately true, or true in only some contexts. In the context of non-relativistic motion (i.e. velocities that are within our normal human experience) Newton’s laws apply with acceptable accuracy but they are an approximation. Inevitably, there cannot be a set of Test Axioms which hold for all contexts, so let me say this: The ‘Testing Axioms’ postulated herein are axiomatic in conventional projects. © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 2
  • 3. 1.4 The Test Axioms Apply in Conventional Projects If an axiom (stated here) does not hold in your context, then your context is ‘eccentric’. What do I mean by eccentric? Here are some examples (more than one of which I have experienced personally): You are asked to test an object or system that does not exist; The outcome of testing is of no interest to anyone on the project; There are no limits in terms of time, cost or effort in your project; Testing is regarded as an activity with no outputs or deliverables (of value); Testing is regarded as a purely clerical activity; Testers are required to lie about or suppress their findings. In my experience, projects that exhibit these characteristics could reasonably be described as, ‘Projects from Hell’ – at least from a tester’s perspective. 1.5 So, What Should Test Axioms Look Like? If the industry needs an agreed set of underlying axioms, what would they look like? Here are my suggested criteria for Test Axioms: From the perspective of any software tester, they are self-evidently true. The axioms apply to any test approach from an end to end perspective to the perspective of an individual doing just a little testing. The axioms are distinct from guidelines or principles that reflect a particular context. They are context insensitive. They are not practices, although ‘established’ or ‘novel’ practices may be chosen to adhere to or implement the axiom. A testing approach must adhere to or implement the axioms or be deemed 'incomplete'. Different approaches reflect a difference in emphasis across the range of axioms, rather than a different set of implemented axioms. The axioms represent mechanisms designed to meet the objectives of the testing in scope. A mechanism may be a well-defined, documented process, an informal or even ad-hoc activity - but that mechanism must be understood and used by participants in the test. 2 THE PROPOSED TEST AXIOMS Table 1 presents the tabulated set of sixteen proposed Test Axioms. Each Test Axiom has a name. This is just shorthand that makes cross-referencing of the Axioms easy. The Stakeholder Axiom is an example. The Axioms are most commonly set out in a matter-of-fact way, which is what I propose they are. The implications of an Axiom are set out in a descriptive way, as an Action or Narrative. To better explain an Axiom, the consequences of disregarding it are set out in the ‘if you don’t recognise the axiom’ column. © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 3
  • 4. Table 1, Proposed Test Axioms Name Axiom Action/Narrative If you don’t recognise the axiom Stakeholder Testing needs Identify and engage the people You won’t have a mandate stakeholders or organisations that will use or any authority for testing. and benefit from the test Reports of passes, fails or evidence you are to provide. enquiries have no audience. Test Basis Test needs a Identify and agree the goals, How will you select things to source of requirements, heuristics, risks, test? knowledge to select hearsay needed to identify targets of testing. things to test Test Oracle Test needs a Define the sources of How will you assess source of knowledge whether whether tested software knowledge to documented, physical, behaves correctly or not? experience or hearsay-based evaluate actual to be used to determine behaviour expected behaviour. Fallibility Your sources of Test bases, oracles, It is naive to think otherwise, knowledge are requirements, goals are fallible as human error has an fallible and because the people who write impact at every stage of the them are human. development lifecycle. incomplete Scope If you don’t manage You must have a mechanism It is possible, and probable Management scope, you may for identifying and agreeing the that stakeholders will never meet items in and out of scope assume you will test (documentation, software or ‘everything’. You may also stakeholder other deliverable or output) and test and report progress of expectations managing change. tests that are of no interest to stakeholders. Design Test design is Identify, adopt and agree a Test design will be based on models model or models to be used to subjective, random and select test cases. inconsistent – and not be credible. Coverage Testing requires a You must have a means of You may not be able to coverage model or evaluating narratively, answer questions such as, models qualitatively or quantitatively ‘what has been tested?’, the testing you plan to do or ‘what has not been tested?’, have done. ‘have you finished testing?’ Delivery The usefulness of Define what and how you need Different stakeholders the intelligence to report from testing. Define a require different formats and produced by test mechanism, frequency, media analyses of intelligence and and format for the evidence to may not find your test determines the be provided. reporting useful for decision value of testing making. Environment Test execution Establish the need and Environments may be requires a known, requirements for an delivered late or not at all or controlled environment to be used for not be as required. This will testing, including a mechanism delay testing or undermine environment for managing changes to that the credibility of testing environment – in good time. performed. © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 4
  • 5. Name Axiom Action/Narrative If you don’t recognise the axiom Event Testing never goes Define a mechanism for Unplanned events can stop as planned managing and communicating testing or adversely affect events planned or unplanned your plans and cause delay that have a bearing on the to testing, bug fixing or successful delivery of test undermine your tests. evidence. Prioritisation The most important Select and agree the means of Stakeholders may not get tests are those that prioritising the tests to the intelligence they require uncover the best determine which of the infinite to make decisions because set of tests that could be the necessary tests have intelligence, fast prepared and run are prepared not been planned. and run. Execution Run your most Agree a means of sequencing Stakeholders may not get Sequencing important tests first the tests to ensure the ‘most the intelligence they require – you may not have important tests’ are run if to make decisions because execution time is limited or the necessary tests have time to run them testing is stopped. not been executed. later Repeat-Test Repeated tests are Define and agree a policy for There may be no time in inevitable re-testing and regression your plan for assuring fixes testing. and that they do not cause side-effects. Good- Acceptance is Appreciate that the acceptance You may be frustrated Enough always a decision will always be made because the system is compromise on partial information. imperfect because your values do not match those of stakeholders. Never- Testing never Recognise that testing is time You may be unable to Finished finishes; it stops limited and may not complete. articulate achievement, Test outcomes and reporting coverage and the risks of should focus on achievement. incomplete testing. Value The value of The outcome of a test and the Setting aside vested intelligence is way intelligence is presented interests, recognise that independent of who defines its value, regardless of non-independent testers its source. may be best placed to test produces it most effectively. 3 APPLICATIONS There appear to be several potential applications of the Test Axioms: the need for a practice in context can be justified; as drivers for questions in a test approach assessment or process audit; as a thinking tool to suppport stakeholder engagement and test strategy; as a framework for tester education and development. In short, the value of each Axiom is primarily as a Thinking Tool for testers. Some are most appropriate to test strategy and management, but they can also apply to the very next test you need to plan, create and execute as a hands-on tester. © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 5
  • 6. 4 CHALLENGE TO ACADEMIA AND INDUSTRY This paper has suggested that the founding principles of all software testing are undefined, disputed and of varying value. A set of Testing Axioms upon which all of our testing related activity and research can be founded has been proposed. If the industry cannot agree on such a set of Axioms, how can we talk or work with confidence in our profession? This is a work in progress and the author will gratefully receive comments, criticisms or suggestions for further Test Axioms. 5 REFERENCES [1] Isabel Evans, Growing Our Industry: Cultivating Testing, Star East 2008, Orlando. [2] Beizer, B, Software Testing Techniques, VNR, New York 1990. [3] Black, R, Managing the Testing Process, Microsoft Press, Redmond, 1999. [4] Craig, R & Jaskiel, S, Systematic Software Testing, Artech House, Norwood, 2002. [5] Gerrard, P & Thompson N, Risk-Based E-Business Testing, Artech House, Norwood, 2002. [6] Hetzel, W, The Complete Guide to Software Testing, QED, Massachusets, 1984. [7] Kaner, C, Bach, J, Pettichord, B, Lessons Learned in Software Testing, Wiley, New York, 2002. [8] Kaner, C, Falk, J, Nguyen, H Q, Testing Computer Software, VNR, New York, 1988. [9] Kit, E, Software Testing in the Real World, ACM Press, New York, 1995. [10] Patton, R, Software Testing, SAMS, Indianapolis, 2006. [11] Perry, W P, Effective Methods for Software Testing, John Wiley, New York, 1995. [12] Pol M, Teunissen, R, van Veenendaal, E, Software Testing, Addison Wesley, London, 2002. [13] Thompson, N, "Best Practices and Context-Driven: Building a Bridge", www.tiscl.com [14] “The Seven Basic Principles of the Context-Driven School”, www.context-driven- testing.com [15] Kaner, C, “Software Testing as a Social Science”, www.kaner.com/pdfs/KanerCUSECstss.pdf © 2008 Paul Gerrard Version 1.0 29 July 2008 Page 6