SlideShare a Scribd company logo
1 of 5
Download to read offline
Testing Techniques – Are they of any Practical Use?


                                    Stephen Allott Bsc (Hons) MBCS CITP
                                               ElectroMind Ltd
                                       stephen.allott@electromind.com


                       Abstract                               solving or analytical skills are missing from the tester’s
                                                              repertoire. Or is it the case that the techniques are out
    Testing techniques are taught in Universities and         of date and no longer apply to testing of a modern
on many industrial training courses yet there is              software development project? These issues are
evidence to suggest that, in the corporate world,             explored and illustrated using case studies from the
testers often find it difficult to apply the techniques and   financial services, software and travel industries.
instead rely on domain knowledge and experience
when designing tests. This is a shame as testing              2. Background
techniques are very effective at reducing the cost of
testing by providing better coverage with less effort.        Many testers are swamped by the day to day pressures
When applying techniques it is important to be                of having to get through so much testing in what
pragmatic and understand where they can add value to          appears to be so little time. The problem is that
your test process. A business focused approach, based         ineffective approaches to testing tend to create too
on risk, is essential. Commercial strength tools must         many of the wrong sorts of test which leads to
be considered to support the test process although            duplicated effort and consumes extra time and
home grown solutions should not be ruled out in some          resources. With a large number of tests it is more
situations. An appropriate investment in effective            difficult to set up, control and manage the test project.
testing will yield dividends in the longer term and so        Introducing test automation is also more challenging
further research is required to understand why testing        and testers generally do not have any slack time to
techniques are not much more widely adopted                   think about making improvements to the test process.
throughout industry.
                                                              At the unit testing level, Reid [1] has shown the
1. Introduction                                               effectiveness of test case design techniques such as
                                                              equivalence class partitioning and boundary value
This paper provides some practical insights into the          analysis. These formal approaches, and related test
application of testing techniques in industry and is          case design techniques such as Pairwise, should
based on the author’s experience and observations as a        provide better coverage, reduce the number of physical
senior consultant working on software testing projects        test cases and help facilitate test automation. Practice
in the financial services and travel industry sectors.        based models, for example TPI® – test process
This paper examines the relationship between testing          improvement [2], can offer stepwise improvements and
theory and testing practice with particular reference to      generate real benefits over time. The testing theory
the techniques used for test case design, automation of       also suggests, for example, adopting a risk-based
test execution and test process improvement. In               approach will allow testers to prioritize their tests so
general, the theory is well understood yet it appears         that they run the most important tests in the time
that some testing groups often shy away from using the        available. In practice it is sometimes difficult to get all
very techniques that will help them to solve their most       the stakeholders to agree on the real risks and provide
immediate and pressing problems. Is it possible that,         sufficient information for testers to make an informed
although the theory of test case design is well taught,       choice about what to test.
there is something missing from the skill set of the
tester when he or she tries to apply the technique to a
real life problem? It may be that some problem
3. Testing Techniques                                        may feel are important. However, the beauty of using
                                                             these techniques is that having created a reduced test
According to Beizer [3] there are perhaps as many as         set the team can then engage with other stakeholders to
57 different varieties of test case design techniques and    explore any additional testing that may be required,
Copeland [4] has produced an excellent practical             due to specific risks being identified with a particular
description of some of the most popular and useful           business function for example.
techniques. Others prefer to use the term ‘techniques’
in the higher level sense of an approach or                  4.2 Management information system
methodology, for example the ‘techniques’ of risk
based testing [5], or ‘this is our technique for             This project aimed to consolidate financial data from
producing a test strategy’.                                  over 15 independent corporate repositories for a major
                                                             software organisation. The technology architecture
The more common usage of the term test technique             comprised an SQL data warehouse with MS Excel
relates to either black box or white box techniques.         support for XML. The application characteristics
Both types require the designer to specify inputs and        included over 30 data feeds, 100 locations, multiple
expected outputs in advance of execution. Black box          data warehouses three profit & loss forecasts, 30
techniques [6] help to design tests based on the             million rows, and several terabytes of storage.
functionality of a software component without the test
analyst having to know about the details of how the          The original testers were struggling to test this high
component works. White box techniques are based on           profile application. There was no overall planning,
the internal structure of a component and are mainly         poor communication, a scattergun approach to the
used by developers or technical testers.                     testing and no evidence of risk-based testing. They
                                                             were attempting to test everything, logging defects that
Formal descriptions of test case design techniques,          were extraneous, and did not keep any coverage
examples and their related coverage measures can be          measures to monitor progress.
found in BS7925 [7]. The advantages of using
techniques are many and include consistency,                                         Average Change Request/Month=56, Average Churn of Change Requests/Month =
                                                                                                      148, Average Churn/Change Request =3.5

improved coverage, auditability and repeatability of                           300                                                                                            300

tests.                                                                         250                                                                                            250




                                                                                                                                                                                    Churn of Change Requests
                                                                               200                                                                                            200
                                                              Change Request




4. Case Studies                                                                150                                                                                            150


                                                                               100                                                                                            100


4.1 Front end trading application                                              50                                                                                             50


                                                                                0                                                                                             0
                                                                                     June      July     August    September    October     November      December   January
    A European bank reduced their test set for a GUI                                                                     Months


based trading application from several thousand to just                                                Change Requests    Change Request Churn    Bugs


a few hundred key tests using test case design
techniques. This enabled automated regression testing                                        Figure 1. Requirements churn
for an important migration from one software release
to another. There are two popular approaches to              Between June and October the application was
Pairwise testing techniques which reduce the number          unstable. The number of change requests continued to
of physical test cases required: Orthogonal Arrays [8]       rise and the churn, the number of times a change was
and the “all pairs” algorithm [9]. Instead of testing all    made after the testers received the change request, was
the combinations for all the values for all the variables,   also on the increase (figure 1).
Pairwise techniques require that you be more selective
and test just all pairs of variables. This saves time as     An analysis of the defects (figure 2) by severity
you have significantly fewer tests to run. Also, 100%        (impact of the defect) and priority (when will it be
all pairs coverage gives the team more confidence in         fixed) concludes that 62% of severity 1 and severity 2
the testing achieved. If you later decide to automate        defects, the key release criteria, had no priority set
your test execution, there are fewer scripts to develop,     (356/574) leading to overload of both the developers
maintain and manage thus enabling the automation             and the original test team.
process. It’s not a magic solution and may miss some
important combinations that you or other stakeholders
of $300,000 from the introduction of the new team. If
                         Severity                         they had taken this approach from the start the savings
                                                          would have been almost $825,000 over the year. There
                   1         2        3    4   Total      were no defects found from January onwards, despite
Priority 1        57        81       14          152      further changes, and there were no defects reported in
Priority 2        19        52       12    1      84      production during release 1.
Priority 3                   6       14   10      30      The business team was content and the test group’s
Priority 4         2         1                      3     reputation was enhanced by their success. There were
No priority       68      288       114   10     480      additional savings in the sales & marketing function
                                                          due to the overall increased stability of the application.
      Total      146      428       154   21     749
                                                          The test lead in this project offered to help with unit
 Figure 2. Snapshot of defects by severity/priority       testing and was able to get an unofficial early release
                                                          to execute all test cases in advance of the official
Additional investigation of defects by resolution code    release into test. Curiously, after a while, the
(figure 3) suggests that almost a third (32%) of the      developers started to produce better code, which was
total defects reported are questionable (*241/749)        an interesting and useful side benefit that had not been
which is not what you want from a testing perspective.    expected at the outset.

                           Severity                       4.3 Investment banking middleware
   Resolution        1       2       3     4    Total
  By Design*        10      37      29     4      80         A global leader in corporate financial services
                                                          found that, despite having a good track record of
   Duplicate*        6      33       7     1      47
                                                          formal acceptance testing, there was still an
      External       2      16       4     0      22      unacceptable level of defects found during production.
         Fixed      86     254      95    12     447      This was not confined to one or two projects but an
  Not Repro*        29      56       4     0      89      across the board problem for the group which is
   Postponed        12      17       6     4      39      responsible for a variety of “middle office” systems
 Will Not Fix*       1      15       9     0      25      that process the bank’s business transactions after the
                                                          front end capture has taken place.
         Total     146     428    154     21     749
                                                             An initiative to downsize a variety of key systems
  Figure 3. Snapshot of defects by resolution code        throughout the company meant that various transaction
                                                          flows had to be re-routed as systems through which
The test lead was a very experienced manager who          they originally traveled were taken out of service.
selected from the original test team those that had the   Having moved the flows, functionality which had been
most appropriate technical skills. They had the SQL       working correctly suddenly stopped working. This is a
experience and technical ability to build their own       classic regression testing problem faced by many
automation tool specifically tailored for this project.   companies and not easy to solve without automation.
The tool was well documented, reusable, and
automated 80% of the existing manual test suite. The         Employing more people was not an option as the
test lead did not do any test execution. What he did      overhead of manually maintaining the regression test
was to involve the new test team from the beginning       pack was too high. Therefore a decision was quickly
and impose control on the project to reduce the churn     taken to look into automation options. At the time
in requirements and change requests. This had the         there did not seem to be an automated regression
effect of stabilizing the application and the defect      testing tool on the market that would help. Primarily
count dropped dramatically in November (figure 1).        this was because most tools assumed that there was
                                                          some sort of GUI interface which could be used to
The original one-year project cost was projected at       drive the tests (either through capture replay or
$2.6m and after 6 months approx. 50% of this cost had     scripting). The majority of data was received from
been incurred with little to show in terms of a stable    other systems within the company; none of them had a
application. For the period November to April, the        user interface where the same data could be entered.
cost dropped to approx. $1m yielding an overall saving
For the people developing on these other data             4.4 Travel industry web application
capture systems they had already avoided using
commercially available tools and developed their own.           Table 1 shows a section of a test maturity matrix as
Their UI was effectively a ‘dumb’ interface and easy to      a result of a quick scan assessment, using the TPI®
test manually. All the serious processing was done           model [10], of a testing process for a web application
‘server side’ which led to the decision being taken to       in the travel industry. The TPI® model proposes that
develop their own automated regression testing tool.         progress should be made (from level A, to B, to C) in
                                                             each of the 20 key areas at a steady rate and so the area
    After a short study the group decided that they          under the scales 1 – 5, called controlled, should all be
could not quite quantify the potential savings and so a      highlighted before any attempt is made to make the
decision was taken to “just do it” based on the feeling      process more efficient (scales 6 to 10) or optimized
shared by all stakeholders that this was “the right thing    (scales 11 to 13 – not shown). The scales, levels, key
to do” for the organization. A small amount of seed          areas and dependencies between key areas are based
money was allocated to the project to help develop the       on practical experience and are fully described in the
initial concepts on a trial basis. If it worked out, which   model. In this organization an attempt was made to
of course it did, additional funding would be made           develop a risk-based test strategy and introduce
available to roll out the tool throughout the                automation. However, the model requires that any
organization.                                                improvement is dependent upon testing techniques.
                                                             Improvement of key area 1, test strategy, is dependent
   A development resource from a NY team who had             on techniques (5B). For test automation (8) the model
test tool experience was assigned to the development         also shows a dependency on techniques (5A & 5B).
activities to work alongside the VP in charge of the         Progress on key area 2, testing life-cycle model
project. The underlying test automation framework            beyond level A is dependent on static test techniques
used was based on IBM’s STAF and STAX software               (6A).
which is freely available from the Internet. The VP
put together a vision document (30 functions) which                    Table 1. Test Maturity Matrix (extract)
was walked through with various senior managers.
The original tool was developed in Java which is a                                     Scale   1   2   3   4   5   6   7
popular platform in the US (there is a possibility that it    Test strategy (1)                A                   B
will be moved to C#).                                         Life-cycle model (2)             A           B
                                                              Moment of involvement (3)            A               B
   The design of the tests and the creation of test data
                                                              Estimating and planning (4)              A
evolved over time; some issues remain.            Large
                                                              Test techniques (5)              A       B
volumes of data are not necessarily complex although
further work needs to be done in this area; the               Static test techniques (6)                   A       B
applications and message flows are very complex due           Metrics (7)                                      A
to the large number of switches and parameters within         Test automation (8)                      A               B
the applications.                                             Test environment (9)                     A               B
                                                              Office environment (10)                  A
   There were many benefits. Regression tests are             Commitment & motivation          A               B
now executed unattended (overnight) and so regression
                                                              Test functions and training              A           B
testing is now done in days instead of weeks. It is
repeatable and tests can be executed in any                   Scope of methodology (13)                    A
environment. Errors were detected earlier thus saving         Communication (14)                   A       B
dollars. There is a dedicated test team that owns the         Reporting (15)                   A           B       C
test product, scripts and regression test data. There is      Defect management (16)           A               B       C
an improved focus of key business and technical               Testware management (17)             A           B
resources on more critical items (this allows the             Test process management          A       B
business to focus on Acceptance Testing rather than
                                                              Evaluation (19)                                      A
Regression Testing).       Finally, maintenance costs
reduced due to improved quality of code.                      Low-level testing (20)                       A       B
5. Summary & Conclusions                                   6. References
Many testers try to use techniques such as equivalence     [1] Reid S, Module Testing Techniques – which are the most
classes, boundary value analysis and decision tables       effective? 1997
yet Pairwise techniques appear to be difficult to apply
without tool support. Several commercial and freeware      [2] Koomen & Pol, Test Process Improvement, Addison
                                                           Wesley, 1999, ISBN 0-201-59624-5.
tools are available on the market to support Pairwise
but considerable skills are required to use them           [3] Beizer, Software Testing Techniques (Second Edition),
effectively. Many companies see test automation as a       Van Nostrand Reinhold, 1990, ISBN 0-442-20672-0.
“silver bullet” to solve all their testing problems.
However, if they do not have the basics in place these     [4] Copeland, A Practitioner’s Guide to Software Test
automation attempts often fail. The TPI® model shows       Design, Artech House, 2004, ISBN 1-58053-791-X.
the dependencies required for introducing test
automation tools and this can be a useful guide when       [5] Gerrard & Thompson, Risk-based E-Business Testing,
considering automation. You must at least have some        Artech House, 2002, ISBN 1-58053-314-0.
basic test process in place and an understanding of test
                                                           [6] Beizer, Black-Box Testing: Techniques for Functional
case design. Risk-based approaches are of course           Testing of Software and Systems, John Wiley & Sons, 1995,
useful yet they are often difficult to implement in        ISBN 0-471-12094-4.
practice and need strong leadership and consultancy
skills within the test group if they are to be             [7] Reid et al, BS7925, A Standard for Software Component
successfully implemented. Process improvement              Testing, British Standards Institute, 1998
techniques require a strong business case and buy-in
from everyone, including senior management, to kick        [8] N. J. A. Slone maintains a library of 200 Orthogonal
start these activities.      In the corporate world,       Arrays www.research.att.com/~njas/oadir/index.html
ineffective approaches to testing tend to create too
                                                           [9] Pairwise techniques – The original allpairs algorithm
many of the wrong sorts of test which leads to             devised by James Bach can be found at www.satisfice.com ;
duplicated effort and consumes extra time and              for a list of either commercial or freeware test case design
resources. Effective testing using formal techniques       and test data generation tools using several techniques
can save you time and money in the long run by             including Equivalence Classes, Boundary Value Analysis,
creating fewer tests with increased coverage.              and Pairwise please visit www.pairwise.org
Obviously there is some initial investment required in
training the test analysts to use the techniques and       [10] TPI® is a registered trademark of Sogeti and refers
showing them how to apply them in practice in real life    to a model for test process improvement which is now
situations. The reluctance of companies to adopt test      in the public domain www.sogeti.nl/tpi
techniques probably stems partly from a lack of
knowledge, but perhaps also from a lack of confidence
as people seem to be too busy these days to take time
out to try new ideas.

More Related Content

Similar to Stephen Allott - Testing Techniques - Are they of any Practical Use? - SoftTest Ireland

Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010TEST Huddle
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCL Technologies
 
Testing in Financial Services - Leveraging Process Maps
Testing in Financial Services - Leveraging Process MapsTesting in Financial Services - Leveraging Process Maps
Testing in Financial Services - Leveraging Process MapsITC Infotech
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression OptimizerShradha Singh
 
NITC-2016 - Effectiveness of Agile Test Planning
NITC-2016 - Effectiveness of Agile Test Planning NITC-2016 - Effectiveness of Agile Test Planning
NITC-2016 - Effectiveness of Agile Test Planning Udayantha de Silva
 
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]Vipul Gupta
 
How can banks achieve assured release through effective user acceptance testing
How can banks achieve assured release through effective user acceptance testingHow can banks achieve assured release through effective user acceptance testing
How can banks achieve assured release through effective user acceptance testingMaveric Systems
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritizationijsrd.com
 
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELEXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELijaia
 
The Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesThe Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesCognizant
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013Ian McDonald
 
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphony
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphonyRelieving the Testing Bottle Neck in Your Projects | cPrime + QASymphony
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphonyQASymphony
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarCprime
 
Operations-research in quantitative math
Operations-research in quantitative mathOperations-research in quantitative math
Operations-research in quantitative mathronielynLacay1
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Oracle siebel application testing
Oracle siebel application testingOracle siebel application testing
Oracle siebel application testingInfosys
 

Similar to Stephen Allott - Testing Techniques - Are they of any Practical Use? - SoftTest Ireland (20)

Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
 
Sta unit 5(abimanyu)
Sta unit 5(abimanyu)Sta unit 5(abimanyu)
Sta unit 5(abimanyu)
 
Testing in Financial Services - Leveraging Process Maps
Testing in Financial Services - Leveraging Process MapsTesting in Financial Services - Leveraging Process Maps
Testing in Financial Services - Leveraging Process Maps
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
 
NITC-2016 - Effectiveness of Agile Test Planning
NITC-2016 - Effectiveness of Agile Test Planning NITC-2016 - Effectiveness of Agile Test Planning
NITC-2016 - Effectiveness of Agile Test Planning
 
Industrialization of testing
Industrialization of testing Industrialization of testing
Industrialization of testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]
Q Labs Webinar on Testcase Prioritization [Feb 20, 2009]
 
How can banks achieve assured release through effective user acceptance testing
How can banks achieve assured release through effective user acceptance testingHow can banks achieve assured release through effective user acceptance testing
How can banks achieve assured release through effective user acceptance testing
 
QAIBP
QAIBPQAIBP
QAIBP
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritization
 
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODELEXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
EXTRACTING THE MINIMIZED TEST SUITE FOR REVISED SIMULINK/STATEFLOW MODEL
 
The Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesThe Business Case for Test Environment Management Services
The Business Case for Test Environment Management Services
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
 
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphony
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphonyRelieving the Testing Bottle Neck in Your Projects | cPrime + QASymphony
Relieving the Testing Bottle Neck in Your Projects | cPrime + QASymphony
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
 
Operations-research in quantitative math
Operations-research in quantitative mathOperations-research in quantitative math
Operations-research in quantitative math
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Oracle siebel application testing
Oracle siebel application testingOracle siebel application testing
Oracle siebel application testing
 

More from David O'Dowd

Current Testing Challenges Ireland
Current Testing Challenges IrelandCurrent Testing Challenges Ireland
Current Testing Challenges IrelandDavid O'Dowd
 
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieGordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieDavid O'Dowd
 
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...David O'Dowd
 
Intune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieIntune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieDavid O'Dowd
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieDavid O'Dowd
 
HMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieHMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieDavid O'Dowd
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonDavid O'Dowd
 
www.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'swww.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'sDavid O'Dowd
 
Agile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieAgile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieDavid O'Dowd
 
Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010David O'Dowd
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandDavid O'Dowd
 
David Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid O'Dowd
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Neil Thompson - Thinking tools: from top motors, through software process imp...
Neil Thompson - Thinking tools: from top motors, through software process imp...Neil Thompson - Thinking tools: from top motors, through software process imp...
Neil Thompson - Thinking tools: from top motors, through software process imp...David O'Dowd
 
Test Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssTest Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssDavid O'Dowd
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005David O'Dowd
 
Steven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest IrelandSteven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest IrelandDavid O'Dowd
 
Anne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingAnne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingDavid O'Dowd
 
John McArdle - Professionalism in Testing - SoftTest Ireland
John McArdle - Professionalism in Testing - SoftTest IrelandJohn McArdle - Professionalism in Testing - SoftTest Ireland
John McArdle - Professionalism in Testing - SoftTest IrelandDavid O'Dowd
 

More from David O'Dowd (20)

Current Testing Challenges Ireland
Current Testing Challenges IrelandCurrent Testing Challenges Ireland
Current Testing Challenges Ireland
 
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieGordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
 
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
 
Intune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieIntune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ie
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ie
 
HMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieHMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ie
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
 
www.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'swww.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn's
 
Agile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieAgile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ie
 
Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest Ireland
 
David Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest Ireland
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Neil Thompson - Thinking tools: from top motors, through software process imp...
Neil Thompson - Thinking tools: from top motors, through software process imp...Neil Thompson - Thinking tools: from top motors, through software process imp...
Neil Thompson - Thinking tools: from top motors, through software process imp...
 
Test Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssTest Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For Sucesss
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 
Steven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest IrelandSteven K Allott - Effective Testing - SoftTest Ireland
Steven K Allott - Effective Testing - SoftTest Ireland
 
Anne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingAnne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software Testing
 
John McArdle - Professionalism in Testing - SoftTest Ireland
John McArdle - Professionalism in Testing - SoftTest IrelandJohn McArdle - Professionalism in Testing - SoftTest Ireland
John McArdle - Professionalism in Testing - SoftTest Ireland
 

Stephen Allott - Testing Techniques - Are they of any Practical Use? - SoftTest Ireland

  • 1. Testing Techniques – Are they of any Practical Use? Stephen Allott Bsc (Hons) MBCS CITP ElectroMind Ltd stephen.allott@electromind.com Abstract solving or analytical skills are missing from the tester’s repertoire. Or is it the case that the techniques are out Testing techniques are taught in Universities and of date and no longer apply to testing of a modern on many industrial training courses yet there is software development project? These issues are evidence to suggest that, in the corporate world, explored and illustrated using case studies from the testers often find it difficult to apply the techniques and financial services, software and travel industries. instead rely on domain knowledge and experience when designing tests. This is a shame as testing 2. Background techniques are very effective at reducing the cost of testing by providing better coverage with less effort. Many testers are swamped by the day to day pressures When applying techniques it is important to be of having to get through so much testing in what pragmatic and understand where they can add value to appears to be so little time. The problem is that your test process. A business focused approach, based ineffective approaches to testing tend to create too on risk, is essential. Commercial strength tools must many of the wrong sorts of test which leads to be considered to support the test process although duplicated effort and consumes extra time and home grown solutions should not be ruled out in some resources. With a large number of tests it is more situations. An appropriate investment in effective difficult to set up, control and manage the test project. testing will yield dividends in the longer term and so Introducing test automation is also more challenging further research is required to understand why testing and testers generally do not have any slack time to techniques are not much more widely adopted think about making improvements to the test process. throughout industry. At the unit testing level, Reid [1] has shown the 1. Introduction effectiveness of test case design techniques such as equivalence class partitioning and boundary value This paper provides some practical insights into the analysis. These formal approaches, and related test application of testing techniques in industry and is case design techniques such as Pairwise, should based on the author’s experience and observations as a provide better coverage, reduce the number of physical senior consultant working on software testing projects test cases and help facilitate test automation. Practice in the financial services and travel industry sectors. based models, for example TPI® – test process This paper examines the relationship between testing improvement [2], can offer stepwise improvements and theory and testing practice with particular reference to generate real benefits over time. The testing theory the techniques used for test case design, automation of also suggests, for example, adopting a risk-based test execution and test process improvement. In approach will allow testers to prioritize their tests so general, the theory is well understood yet it appears that they run the most important tests in the time that some testing groups often shy away from using the available. In practice it is sometimes difficult to get all very techniques that will help them to solve their most the stakeholders to agree on the real risks and provide immediate and pressing problems. Is it possible that, sufficient information for testers to make an informed although the theory of test case design is well taught, choice about what to test. there is something missing from the skill set of the tester when he or she tries to apply the technique to a real life problem? It may be that some problem
  • 2. 3. Testing Techniques may feel are important. However, the beauty of using these techniques is that having created a reduced test According to Beizer [3] there are perhaps as many as set the team can then engage with other stakeholders to 57 different varieties of test case design techniques and explore any additional testing that may be required, Copeland [4] has produced an excellent practical due to specific risks being identified with a particular description of some of the most popular and useful business function for example. techniques. Others prefer to use the term ‘techniques’ in the higher level sense of an approach or 4.2 Management information system methodology, for example the ‘techniques’ of risk based testing [5], or ‘this is our technique for This project aimed to consolidate financial data from producing a test strategy’. over 15 independent corporate repositories for a major software organisation. The technology architecture The more common usage of the term test technique comprised an SQL data warehouse with MS Excel relates to either black box or white box techniques. support for XML. The application characteristics Both types require the designer to specify inputs and included over 30 data feeds, 100 locations, multiple expected outputs in advance of execution. Black box data warehouses three profit & loss forecasts, 30 techniques [6] help to design tests based on the million rows, and several terabytes of storage. functionality of a software component without the test analyst having to know about the details of how the The original testers were struggling to test this high component works. White box techniques are based on profile application. There was no overall planning, the internal structure of a component and are mainly poor communication, a scattergun approach to the used by developers or technical testers. testing and no evidence of risk-based testing. They were attempting to test everything, logging defects that Formal descriptions of test case design techniques, were extraneous, and did not keep any coverage examples and their related coverage measures can be measures to monitor progress. found in BS7925 [7]. The advantages of using techniques are many and include consistency, Average Change Request/Month=56, Average Churn of Change Requests/Month = 148, Average Churn/Change Request =3.5 improved coverage, auditability and repeatability of 300 300 tests. 250 250 Churn of Change Requests 200 200 Change Request 4. Case Studies 150 150 100 100 4.1 Front end trading application 50 50 0 0 June July August September October November December January A European bank reduced their test set for a GUI Months based trading application from several thousand to just Change Requests Change Request Churn Bugs a few hundred key tests using test case design techniques. This enabled automated regression testing Figure 1. Requirements churn for an important migration from one software release to another. There are two popular approaches to Between June and October the application was Pairwise testing techniques which reduce the number unstable. The number of change requests continued to of physical test cases required: Orthogonal Arrays [8] rise and the churn, the number of times a change was and the “all pairs” algorithm [9]. Instead of testing all made after the testers received the change request, was the combinations for all the values for all the variables, also on the increase (figure 1). Pairwise techniques require that you be more selective and test just all pairs of variables. This saves time as An analysis of the defects (figure 2) by severity you have significantly fewer tests to run. Also, 100% (impact of the defect) and priority (when will it be all pairs coverage gives the team more confidence in fixed) concludes that 62% of severity 1 and severity 2 the testing achieved. If you later decide to automate defects, the key release criteria, had no priority set your test execution, there are fewer scripts to develop, (356/574) leading to overload of both the developers maintain and manage thus enabling the automation and the original test team. process. It’s not a magic solution and may miss some important combinations that you or other stakeholders
  • 3. of $300,000 from the introduction of the new team. If Severity they had taken this approach from the start the savings would have been almost $825,000 over the year. There 1 2 3 4 Total were no defects found from January onwards, despite Priority 1 57 81 14 152 further changes, and there were no defects reported in Priority 2 19 52 12 1 84 production during release 1. Priority 3 6 14 10 30 The business team was content and the test group’s Priority 4 2 1 3 reputation was enhanced by their success. There were No priority 68 288 114 10 480 additional savings in the sales & marketing function due to the overall increased stability of the application. Total 146 428 154 21 749 The test lead in this project offered to help with unit Figure 2. Snapshot of defects by severity/priority testing and was able to get an unofficial early release to execute all test cases in advance of the official Additional investigation of defects by resolution code release into test. Curiously, after a while, the (figure 3) suggests that almost a third (32%) of the developers started to produce better code, which was total defects reported are questionable (*241/749) an interesting and useful side benefit that had not been which is not what you want from a testing perspective. expected at the outset. Severity 4.3 Investment banking middleware Resolution 1 2 3 4 Total By Design* 10 37 29 4 80 A global leader in corporate financial services found that, despite having a good track record of Duplicate* 6 33 7 1 47 formal acceptance testing, there was still an External 2 16 4 0 22 unacceptable level of defects found during production. Fixed 86 254 95 12 447 This was not confined to one or two projects but an Not Repro* 29 56 4 0 89 across the board problem for the group which is Postponed 12 17 6 4 39 responsible for a variety of “middle office” systems Will Not Fix* 1 15 9 0 25 that process the bank’s business transactions after the front end capture has taken place. Total 146 428 154 21 749 An initiative to downsize a variety of key systems Figure 3. Snapshot of defects by resolution code throughout the company meant that various transaction flows had to be re-routed as systems through which The test lead was a very experienced manager who they originally traveled were taken out of service. selected from the original test team those that had the Having moved the flows, functionality which had been most appropriate technical skills. They had the SQL working correctly suddenly stopped working. This is a experience and technical ability to build their own classic regression testing problem faced by many automation tool specifically tailored for this project. companies and not easy to solve without automation. The tool was well documented, reusable, and automated 80% of the existing manual test suite. The Employing more people was not an option as the test lead did not do any test execution. What he did overhead of manually maintaining the regression test was to involve the new test team from the beginning pack was too high. Therefore a decision was quickly and impose control on the project to reduce the churn taken to look into automation options. At the time in requirements and change requests. This had the there did not seem to be an automated regression effect of stabilizing the application and the defect testing tool on the market that would help. Primarily count dropped dramatically in November (figure 1). this was because most tools assumed that there was some sort of GUI interface which could be used to The original one-year project cost was projected at drive the tests (either through capture replay or $2.6m and after 6 months approx. 50% of this cost had scripting). The majority of data was received from been incurred with little to show in terms of a stable other systems within the company; none of them had a application. For the period November to April, the user interface where the same data could be entered. cost dropped to approx. $1m yielding an overall saving
  • 4. For the people developing on these other data 4.4 Travel industry web application capture systems they had already avoided using commercially available tools and developed their own. Table 1 shows a section of a test maturity matrix as Their UI was effectively a ‘dumb’ interface and easy to a result of a quick scan assessment, using the TPI® test manually. All the serious processing was done model [10], of a testing process for a web application ‘server side’ which led to the decision being taken to in the travel industry. The TPI® model proposes that develop their own automated regression testing tool. progress should be made (from level A, to B, to C) in each of the 20 key areas at a steady rate and so the area After a short study the group decided that they under the scales 1 – 5, called controlled, should all be could not quite quantify the potential savings and so a highlighted before any attempt is made to make the decision was taken to “just do it” based on the feeling process more efficient (scales 6 to 10) or optimized shared by all stakeholders that this was “the right thing (scales 11 to 13 – not shown). The scales, levels, key to do” for the organization. A small amount of seed areas and dependencies between key areas are based money was allocated to the project to help develop the on practical experience and are fully described in the initial concepts on a trial basis. If it worked out, which model. In this organization an attempt was made to of course it did, additional funding would be made develop a risk-based test strategy and introduce available to roll out the tool throughout the automation. However, the model requires that any organization. improvement is dependent upon testing techniques. Improvement of key area 1, test strategy, is dependent A development resource from a NY team who had on techniques (5B). For test automation (8) the model test tool experience was assigned to the development also shows a dependency on techniques (5A & 5B). activities to work alongside the VP in charge of the Progress on key area 2, testing life-cycle model project. The underlying test automation framework beyond level A is dependent on static test techniques used was based on IBM’s STAF and STAX software (6A). which is freely available from the Internet. The VP put together a vision document (30 functions) which Table 1. Test Maturity Matrix (extract) was walked through with various senior managers. The original tool was developed in Java which is a Scale 1 2 3 4 5 6 7 popular platform in the US (there is a possibility that it Test strategy (1) A B will be moved to C#). Life-cycle model (2) A B Moment of involvement (3) A B The design of the tests and the creation of test data Estimating and planning (4) A evolved over time; some issues remain. Large Test techniques (5) A B volumes of data are not necessarily complex although further work needs to be done in this area; the Static test techniques (6) A B applications and message flows are very complex due Metrics (7) A to the large number of switches and parameters within Test automation (8) A B the applications. Test environment (9) A B Office environment (10) A There were many benefits. Regression tests are Commitment & motivation A B now executed unattended (overnight) and so regression Test functions and training A B testing is now done in days instead of weeks. It is repeatable and tests can be executed in any Scope of methodology (13) A environment. Errors were detected earlier thus saving Communication (14) A B dollars. There is a dedicated test team that owns the Reporting (15) A B C test product, scripts and regression test data. There is Defect management (16) A B C an improved focus of key business and technical Testware management (17) A B resources on more critical items (this allows the Test process management A B business to focus on Acceptance Testing rather than Evaluation (19) A Regression Testing). Finally, maintenance costs reduced due to improved quality of code. Low-level testing (20) A B
  • 5. 5. Summary & Conclusions 6. References Many testers try to use techniques such as equivalence [1] Reid S, Module Testing Techniques – which are the most classes, boundary value analysis and decision tables effective? 1997 yet Pairwise techniques appear to be difficult to apply without tool support. Several commercial and freeware [2] Koomen & Pol, Test Process Improvement, Addison Wesley, 1999, ISBN 0-201-59624-5. tools are available on the market to support Pairwise but considerable skills are required to use them [3] Beizer, Software Testing Techniques (Second Edition), effectively. Many companies see test automation as a Van Nostrand Reinhold, 1990, ISBN 0-442-20672-0. “silver bullet” to solve all their testing problems. However, if they do not have the basics in place these [4] Copeland, A Practitioner’s Guide to Software Test automation attempts often fail. The TPI® model shows Design, Artech House, 2004, ISBN 1-58053-791-X. the dependencies required for introducing test automation tools and this can be a useful guide when [5] Gerrard & Thompson, Risk-based E-Business Testing, considering automation. You must at least have some Artech House, 2002, ISBN 1-58053-314-0. basic test process in place and an understanding of test [6] Beizer, Black-Box Testing: Techniques for Functional case design. Risk-based approaches are of course Testing of Software and Systems, John Wiley & Sons, 1995, useful yet they are often difficult to implement in ISBN 0-471-12094-4. practice and need strong leadership and consultancy skills within the test group if they are to be [7] Reid et al, BS7925, A Standard for Software Component successfully implemented. Process improvement Testing, British Standards Institute, 1998 techniques require a strong business case and buy-in from everyone, including senior management, to kick [8] N. J. A. Slone maintains a library of 200 Orthogonal start these activities. In the corporate world, Arrays www.research.att.com/~njas/oadir/index.html ineffective approaches to testing tend to create too [9] Pairwise techniques – The original allpairs algorithm many of the wrong sorts of test which leads to devised by James Bach can be found at www.satisfice.com ; duplicated effort and consumes extra time and for a list of either commercial or freeware test case design resources. Effective testing using formal techniques and test data generation tools using several techniques can save you time and money in the long run by including Equivalence Classes, Boundary Value Analysis, creating fewer tests with increased coverage. and Pairwise please visit www.pairwise.org Obviously there is some initial investment required in training the test analysts to use the techniques and [10] TPI® is a registered trademark of Sogeti and refers showing them how to apply them in practice in real life to a model for test process improvement which is now situations. The reluctance of companies to adopt test in the public domain www.sogeti.nl/tpi techniques probably stems partly from a lack of knowledge, but perhaps also from a lack of confidence as people seem to be too busy these days to take time out to try new ideas.