SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Path testing, data flow testing
Path testing, data flow testingPath testing, data flow testing
Path testing, data flow testingpriyasoundar
 
Test Plan Template
Test Plan TemplateTest Plan Template
Test Plan TemplateH2Kinfosys
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance99tests
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowDevOps.com
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkMikhail Subach
 
Test case template
Test case templateTest case template
Test case templatesephalika
 

Was ist angesagt? (20)

Prometheus 101
Prometheus 101Prometheus 101
Prometheus 101
 
Path testing, data flow testing
Path testing, data flow testingPath testing, data flow testing
Path testing, data flow testing
 
Test Plan Template
Test Plan TemplateTest Plan Template
Test Plan Template
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance
 
QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
 
stlc
stlcstlc
stlc
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Code coverage
Code coverageCode coverage
Code coverage
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Exploratory testing workshop
Exploratory testing workshopExploratory testing workshop
Exploratory testing workshop
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 
Test case template
Test case templateTest case template
Test case template
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Kürzlich hochgeladen (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

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