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?

Bug reporting and tracking
Bug reporting and trackingBug reporting and tracking
Bug reporting and trackingVadym Muliavka
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
 
Emerging QA COE Practice by Mukund Wangikar
Emerging QA COE Practice by Mukund WangikarEmerging QA COE Practice by Mukund Wangikar
Emerging QA COE Practice by Mukund WangikarAgile Testing Alliance
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qubeHayi Nukman
 
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...Mohamed Nizzad
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best PracticesApica
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingKostCare
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPTsuhasreddy1
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With CypressKnoldus Inc.
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati HolaszHolasz Kati
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerQA or the Highway
 
Interview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotInterview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotLearning Slot
 

Was ist angesagt? (20)

Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
Postman.ppt
Postman.pptPostman.ppt
Postman.ppt
 
Bug reporting and tracking
Bug reporting and trackingBug reporting and tracking
Bug reporting and tracking
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
 
Emerging QA COE Practice by Mukund Wangikar
Emerging QA COE Practice by Mukund WangikarEmerging QA COE Practice by Mukund Wangikar
Emerging QA COE Practice by Mukund Wangikar
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qube
 
Types of testing
Types of testingTypes of testing
Types of testing
 
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
 
Security testing
Security testingSecurity testing
Security testing
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With Cypress
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian Bayer
 
Interview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlotInterview Question & Answers for Selenium Freshers | LearningSlot
Interview Question & Answers for Selenium Freshers | LearningSlot
 

Ä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

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

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