SlideShare a Scribd company logo
1 of 4
Download to read offline
The V-Model and Defining Higher Order Tests


                                                                                          Requirements                                                        Acceptance test
                Higher-Order Testing
                                                                                             Objectives                                                     System test

                                                                                                External spec                                         Function test
                              Conrad Hughes
                           School of Informatics                                                      System design                            Integration test

                   Slides thanks to Stuart Anderson                                                        Module interface spec            Module test

                                                                                                                                   Coding




6 March 2009                    Software Testing: Lecture 14                          1     6 March 2009                     Software Testing: Lecture 14                       2




V-Model Stages                                                                             Test Objectives

   Meyers version of the V-model has a number of stages that relate to                         Given there are many different types of test there is the
   distinct testing phases all of which are useful:                                            possibility of considerable redundancy across tests and the
    1. Requirements – seen as inherently informal for Meyers so the acceptance                 potential to waste effort.
       test must engage with the user in agreeing the requirements have been
       met.                                                                                    One way of managing this is to set a test objective for each
    2. Objectives are more tightly specified and quantitative issues of costs,                 level of test. Ideally an objective should be dealt with at the
       sizes, speeds together with tradeoffs have been established. The system                 lowest level testing.
       test should be directed to see that objectives have been met (objectives
       have clear criteria to decide whether they have been met).
                                                                                               For example we might take the following objectives:
    3. The external specification is a black-box specification of the functionality             – Module test aims to find discrepancies between a module’s
       of the system and thus the function test is directed to checking the                       behaviour and its interface specification.
       implementation of the specified function.                                                – Function test aims to demonstrate that the program does not
    4. System design provides a structure that can be tested by Integration                       conform to its external specification.
       testing (inherently dependent of the structure of the system).
                                                                                                – System test aims to show the product is inconsistent with the
    5. Module interface specifications are the basis for rigorous unit test (both                 original objectives (e.g. that some quantitative aspect of the
       black-box and white-box).
                                                                                                  system is not delivered by the product).



6 March 2009                    Software Testing: Lecture 14                          3     6 March 2009                     Software Testing: Lecture 14                       4




Critique of the V-Model                                                                    Translating the V-Model to Other Processes

   The V-model is often criticised because it provides a very                                  If we consider an XP approach to development and consider the
   highly constrained model of the interaction of test and                                     V-model classification of testing we can see that:
   development and of the sequencing of testing activities.                                     – Module, Integration, and Function test are carried out against
   However, the model is useful in identifying different kinds of                                 module specifications and external specifications of the system.
   test that need orchestrating in any development process.                                     – System and acceptance testing is moved more to the user who may
   More iterative or agile processes will have all these types of                                 be the embedded customer along with the team. The use of users
   test in one iteration that delivers new functionality.                                         as beta-testers helps identify real requirements issues as soon as
   For some of the software lifecycles it may be that there is no                                 significant functionality is available.
   independent notion of e.g. requirements and so that particular                               – Regression testing is linked to refactoring as a means of ensuring
   type of testing will be de-emphasised in that approach.                                        no change in the delivered behaviour.
   Increasingly, as products become longer-lived, there is the                                  – It may be that the system has no well-documented requirements
   issue of how to use test to evolve fielded products and how to                                 and so it is impossible to carry out a system test. It may also be
   use field data to improve product quality (e.g. beta testing                                   that requirements are acquired iteratively as the system evolves.
   exploits the ability to use a range of test sites to test
   systems).


6 March 2009                    Software Testing: Lecture 14                          5     6 March 2009                     Software Testing: Lecture 14                       6




                                                                                                                                                                                    1
Module/Unit/Integration Testing                                            Functional Testing

   It is important that this activity is appropriately targeted to             Functional testing is aimed at discovering discrepancies
   avoid duplication of effort from other high-level test activity.            between the behaviour of the system and its external
   The focus here should be on verifying that the behaviour of the             specification.
   components satisfies the interface specifications.                          An external specification is a precise description of the
   In XP it may be that the collection of tests serve as a                     required behaviour form a users point of view.
   specification for the system.                                               Typically systems are seen as delivering some key functionality
                                                                               and functional testing is directed to uncovering failures to
                                                                               provide the functions of the system.
                                                                               Functional testing techniques are black-box and use the
                                                                               approaches we have discussed earlier in the course e.g.
                                                                               category partition, common error lists, boundary-value testing.




6 March 2009                Software Testing: Lecture 14              7    6 March 2009                   Software Testing: Lecture 14                     8




System Testing 1                                                           System Testing 2

   System testing is dependent on their being a quantified set of              Facility Testing: this is checking that user accessible facilities (or
   objectives for the system – these may be derived iteratively                functions) are implemented. This is an all-or-nothing test – either the
   but we need to capture them to allow effective systems testing.             system attempts to provide a facility or not – this might take the form
   Focus of system testing is to find discrepancies in the                     of a visual inspection of the system.
   translation of the objectives into the external specifications.             Volume Testing: objectives will usually have requirements on the volume
   So the system test should be related to the objectives of the               of objects that a system can handle. E.g. a simulator might have a
   system – these should be captured in user-oriented term in the              specification that it is capable of handling up to 100,000 logic gates or
   user documentations so we use the user document to help                     a database system might have a lower bound on the number of records
   design he system tests.                                                     handled.
   The problem in creating system tests is that there is no                    Stress Testing: systems involving real-time constraints will almost
   exhaustive list of the kinds of test that might be necessary to             always have objective in terms of how rapidly they can deal with events
   test the objectives of a system.                                            (e.g. 10,000 transactions per hour, the VISA payments system
                                                                               supports more than 5000 card transactions per second – with very high
   Meyers provides a list of 15 different kinds of test that might
                                                                               reliability). In addition many system have multiple inputs and stress
   be involved in testing the objectives of a system – but this is
                                                                               testing might investigate how well the system handles many input
   not exhaustive – it may be necessary to add some other testing
                                                                               parameters changing simultaneously.
   approaches depending on the objectives

6 March 2009                Software Testing: Lecture 14              9    6 March 2009                   Software Testing: Lecture 14                     10




System Test 3                                                              System Test 4

   Usability Testing: often carried out with real usability testers            Security Testing: The external specification will usually have
   who can discover serious usability flaws even in well-                      been derived from the objectives by developing a security
   implemented systems. Typical issues include:                                model that constrains the flow of information from one area of
    1. Appropriateness of interface to the user group                          the system to another. System testing should identify any
    2. Meaningful interactions, warnings etc                                   flaws in moving from objectives to a behavioural specification.
    3. Use of consistent styles, metaphors etc                                 In addition the objectives may include a list of common threats
    4. Is redundancy/diversity of interfaces used where accuracy is            that we should demonstrate are dealt with in the external
       essential?                                                              specification.
    5. Is the interface too configurable?                                  •   Performance Testing: many systems will have throughput
    6. Is it clear that the system is always live?                             objectives. These may be express statistically in terms of
    7. Is it easy to get the system to do what the user wants?                 rates and likelihood of failure. The system should be
                                                                               instrumented to allow these objectives to by subjected test
                                                                               when the system is in the field.
                                                                           •   Storage Testing: systems will claim to run happily in a given
                                                                               amount of storage – we should check this.

6 March 2009                Software Testing: Lecture 14              11   6 March 2009                   Software Testing: Lecture 14                     12




                                                                                                                                                                2
System Test 5                                                                                 System Testing Process/Management

•   Configuration Testing: many systems are highly configurable (e.g. SAP                        System testing should not be performed by the developers –
    and Oracle). A good example of this is a multi-platform system where
    considerable configuration effort might be required to get a system to                       ideally it should be an independent organisation.
    run on a particular platform                                                                 Seemingly independent objectives have dependencies and the
•   Compatibility/Compliance Testing: Objectives will often include                              planning for system test has to take account of these
    compliance statements that the system is compliant with a standard –
    this style of testing aims to cover a significant subset of the range of                     dependencies (in order to get better coverage).
    different configurations.
•   Installability Testing: Is the system easy to install correctly?
•   Reliability Testing: is the mean time to failure long enouh
•   Recovery Testing: assessing the mean time to repair a fault is often a
    critical objective of a system
•   Serviceability Testing: how easy is it to upgrade the system?
•   Documentation Testing: how well does the documentation match the
    actual system behaviour
•   Procedure Testing: many systems involve complex interations between
    computers and human procedures – are the procedures and the
    computer system compatible?



6 March 2009                      Software Testing: Lecture 14                           13   6 March 2009                  Software Testing: Lecture 14           14




Acceptance Testing                                                                            Installation Testing

    Carried out by the customer on their premises.                                               Does the proposed software run on the proposed users
    Testing is carried out independent of the development                                        configuration?
    organisation.                                                                                Many vendors now offer to integrate systems offsite and bring
    The acceptance test marks the transition from development                                    them to the users site.
    before use to development in use.                                                            Issues like versions of software, library versions, hardware,
                                                                                                 networking all impact on the runnability of a system.
                                                                                                 Installation testing should aim to characterise the
                                                                                                 hardware/software combination that ate




6 March 2009                      Software Testing: Lecture 14                           15   6 March 2009                  Software Testing: Lecture 14           16




Test Planning and Control                                                                     Test Completion Criteria

    Even for modest-sized systems, there is a considerable management                            Bad criteria include:
    load in ensuring the tests are well-managed.                                                  –   Stop when we run out of time.
    Plans should be realistic and should allow for the discovery and repair                       –   Stop when test cases fail to find errors.
    of the most serious classes of error.
                                                                                                 One possible approach is to target a particular residual defect
    A good test plan should:
                                                                                                 density.
     1. Have clear objectives for each phase of testing.
     2. Have clear completion criteria for each stage of test.                                   We have estimates of the effectiveness of bug finding for
     3. Have a project plan with clear timings on activities and the dependency                  different parts of the system and different approaches to bug
        between activities.                                                                      finding.
     4. Testing responsibilities should be clearly allocated.                                    Providing a target RDD is a good way of structuring the
     5. Large projects should systematically manage resources.                                   completion of particular stage in the system test.
     6. Appropriate hardware may need to be ordered/configured/secured.
     7. Good tracking of bugs is essential as is the tracking of all testing activity.
     8. Good debugging procedures.
     9. The capacity to regression test quickly after a fault has been repaired.



6 March 2009                      Software Testing: Lecture 14                           17   6 March 2009                  Software Testing: Lecture 14           18




                                                                                                                                                                        3
Summary

   Higher-order testing is a complex business.
   There is very little hard advice to give since most of the
   approaches vary depending on the class of system.
   Not all approaches to system testing are necessary for all
   systems – deciding on a suitable collections of system tests can
   be difficult.




6 March 2009               Software Testing: Lecture 14               19




                                                                           4

More Related Content

What's hot

Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paper
Izzat Alsmadi
 

What's hot (14)

Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4
 
Testing
TestingTesting
Testing
 
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
Test Techniques
Test TechniquesTest Techniques
Test Techniques
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Test planoutline
Test planoutlineTest planoutline
Test planoutline
 
Software testing
Software testingSoftware testing
Software testing
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paper
 

Similar to Higher Order Testing

Requirements & system modelling for verification
Requirements & system modelling for verificationRequirements & system modelling for verification
Requirements & system modelling for verification
Johan Hoberg
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Nikita Knysh
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
mqamarhayat
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
wekineheshete
 
Software testing techniques
Software testing techniquesSoftware testing techniques
Software testing techniques
Sachin MK
 
Slideshare removal with caption
Slideshare removal with captionSlideshare removal with caption
Slideshare removal with caption
nikhilawareness
 

Similar to Higher Order Testing (20)

Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
10-Testing-system.pdf
10-Testing-system.pdf10-Testing-system.pdf
10-Testing-system.pdf
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
Requirements & system modelling for verification
Requirements & system modelling for verificationRequirements & system modelling for verification
Requirements & system modelling for verification
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software Lifecycle
 
Bab ii testing throughout the software life cycle (yoga)
Bab ii testing throughout the software life cycle (yoga)Bab ii testing throughout the software life cycle (yoga)
Bab ii testing throughout the software life cycle (yoga)
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Test Process
Test ProcessTest Process
Test Process
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
 
Harry Potter 7-2 3D tonight!!! http://4rd.ca/aaaj6w
Harry Potter 7-2 3D tonight!!! http://4rd.ca/aaaj6wHarry Potter 7-2 3D tonight!!! http://4rd.ca/aaaj6w
Harry Potter 7-2 3D tonight!!! http://4rd.ca/aaaj6w
 
Software testing techniques
Software testing techniquesSoftware testing techniques
Software testing techniques
 
Content to all channels
Content to all channelsContent to all channels
Content to all channels
 
Slideshare removal with caption
Slideshare removal with captionSlideshare removal with caption
Slideshare removal with caption
 
Go to all channels so that I may test your stats tom
Go to all channels so that I may test your stats tomGo to all channels so that I may test your stats tom
Go to all channels so that I may test your stats tom
 
Slideshare - Many files
Slideshare - Many filesSlideshare - Many files
Slideshare - Many files
 
Staging's channles are being tested
Staging's channles are being testedStaging's channles are being tested
Staging's channles are being tested
 

More from Donovan Mulder

Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys IntegTowards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
Donovan Mulder
 
The Royalty Of Loyalty Crm, Quality And Retention
The Royalty Of Loyalty Crm, Quality And RetentionThe Royalty Of Loyalty Crm, Quality And Retention
The Royalty Of Loyalty Crm, Quality And Retention
Donovan Mulder
 
The Hidden Financial Costs Of Erp Software
The Hidden Financial Costs Of Erp SoftwareThe Hidden Financial Costs Of Erp Software
The Hidden Financial Costs Of Erp Software
Donovan Mulder
 
The Critical Success Factors For Erp Implementation An Organisational Fit Per...
The Critical Success Factors For Erp Implementation An Organisational Fit Per...The Critical Success Factors For Erp Implementation An Organisational Fit Per...
The Critical Success Factors For Erp Implementation An Organisational Fit Per...
Donovan Mulder
 
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
Donovan Mulder
 
Managing Dirty Data In Organization Using Erp
Managing Dirty Data In Organization Using ErpManaging Dirty Data In Organization Using Erp
Managing Dirty Data In Organization Using Erp
Donovan Mulder
 
Implementing Erp Systems In Small And Midsize Manufacturing Firms
Implementing Erp Systems In Small And Midsize Manufacturing FirmsImplementing Erp Systems In Small And Midsize Manufacturing Firms
Implementing Erp Systems In Small And Midsize Manufacturing Firms
Donovan Mulder
 
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
Donovan Mulder
 
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
Donovan Mulder
 
14. Business Process Approach Towards An Inter Organizational Enterprise System
14. Business Process Approach Towards An Inter Organizational Enterprise System14. Business Process Approach Towards An Inter Organizational Enterprise System
14. Business Process Approach Towards An Inter Organizational Enterprise System
Donovan Mulder
 
13. Effectiveness Of Erp Systems
13. Effectiveness Of Erp Systems13. Effectiveness Of Erp Systems
13. Effectiveness Of Erp Systems
Donovan Mulder
 
10. What Managers Should Know About Erp Erpii
10. What Managers Should Know About Erp Erpii10. What Managers Should Know About Erp Erpii
10. What Managers Should Know About Erp Erpii
Donovan Mulder
 
12. Managing Risk Factors In Erp Implementation And Design
12. Managing Risk Factors In Erp Implementation And Design12. Managing Risk Factors In Erp Implementation And Design
12. Managing Risk Factors In Erp Implementation And Design
Donovan Mulder
 
11. Requirements Of An Erp Enterprise Erp Modeller
11. Requirements Of An Erp Enterprise Erp Modeller11. Requirements Of An Erp Enterprise Erp Modeller
11. Requirements Of An Erp Enterprise Erp Modeller
Donovan Mulder
 
8. Erp Managing The Implementation Process
8. Erp   Managing The Implementation Process8. Erp   Managing The Implementation Process
8. Erp Managing The Implementation Process
Donovan Mulder
 
9. Factors Affecting Erp System Adoption
9. Factors Affecting Erp System Adoption9. Factors Affecting Erp System Adoption
9. Factors Affecting Erp System Adoption
Donovan Mulder
 
7. A Conceptual Model For Erp
7. A Conceptual Model For Erp7. A Conceptual Model For Erp
7. A Conceptual Model For Erp
Donovan Mulder
 
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
Donovan Mulder
 
6. The Usefulness Of Erp Systems For Effective Management
6. The Usefulness Of Erp Systems For Effective Management6. The Usefulness Of Erp Systems For Effective Management
6. The Usefulness Of Erp Systems For Effective Management
Donovan Mulder
 
5. Change Management Strategies For Successful Erp Implementation
5. Change Management Strategies For Successful Erp Implementation5. Change Management Strategies For Successful Erp Implementation
5. Change Management Strategies For Successful Erp Implementation
Donovan Mulder
 

More from Donovan Mulder (20)

Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys IntegTowards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
Towards A Model Of Organisational Prerequistes For Enterprise Wide Sys Integ
 
The Royalty Of Loyalty Crm, Quality And Retention
The Royalty Of Loyalty Crm, Quality And RetentionThe Royalty Of Loyalty Crm, Quality And Retention
The Royalty Of Loyalty Crm, Quality And Retention
 
The Hidden Financial Costs Of Erp Software
The Hidden Financial Costs Of Erp SoftwareThe Hidden Financial Costs Of Erp Software
The Hidden Financial Costs Of Erp Software
 
The Critical Success Factors For Erp Implementation An Organisational Fit Per...
The Critical Success Factors For Erp Implementation An Organisational Fit Per...The Critical Success Factors For Erp Implementation An Organisational Fit Per...
The Critical Success Factors For Erp Implementation An Organisational Fit Per...
 
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
Realising Enhanced Value Due To Business Network Redesign Through Extended Er...
 
Managing Dirty Data In Organization Using Erp
Managing Dirty Data In Organization Using ErpManaging Dirty Data In Organization Using Erp
Managing Dirty Data In Organization Using Erp
 
Implementing Erp Systems In Small And Midsize Manufacturing Firms
Implementing Erp Systems In Small And Midsize Manufacturing FirmsImplementing Erp Systems In Small And Midsize Manufacturing Firms
Implementing Erp Systems In Small And Midsize Manufacturing Firms
 
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
16. Erp Ii A Conceptual Framework For Next Generation Enterprise Systems
 
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
15. Assessing Risk In Erp Projects Identify And Prioritize The Factors
 
14. Business Process Approach Towards An Inter Organizational Enterprise System
14. Business Process Approach Towards An Inter Organizational Enterprise System14. Business Process Approach Towards An Inter Organizational Enterprise System
14. Business Process Approach Towards An Inter Organizational Enterprise System
 
13. Effectiveness Of Erp Systems
13. Effectiveness Of Erp Systems13. Effectiveness Of Erp Systems
13. Effectiveness Of Erp Systems
 
10. What Managers Should Know About Erp Erpii
10. What Managers Should Know About Erp Erpii10. What Managers Should Know About Erp Erpii
10. What Managers Should Know About Erp Erpii
 
12. Managing Risk Factors In Erp Implementation And Design
12. Managing Risk Factors In Erp Implementation And Design12. Managing Risk Factors In Erp Implementation And Design
12. Managing Risk Factors In Erp Implementation And Design
 
11. Requirements Of An Erp Enterprise Erp Modeller
11. Requirements Of An Erp Enterprise Erp Modeller11. Requirements Of An Erp Enterprise Erp Modeller
11. Requirements Of An Erp Enterprise Erp Modeller
 
8. Erp Managing The Implementation Process
8. Erp   Managing The Implementation Process8. Erp   Managing The Implementation Process
8. Erp Managing The Implementation Process
 
9. Factors Affecting Erp System Adoption
9. Factors Affecting Erp System Adoption9. Factors Affecting Erp System Adoption
9. Factors Affecting Erp System Adoption
 
7. A Conceptual Model For Erp
7. A Conceptual Model For Erp7. A Conceptual Model For Erp
7. A Conceptual Model For Erp
 
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
4. Expectation And Reality In Erp Implementation Consultant And Solution Prov...
 
6. The Usefulness Of Erp Systems For Effective Management
6. The Usefulness Of Erp Systems For Effective Management6. The Usefulness Of Erp Systems For Effective Management
6. The Usefulness Of Erp Systems For Effective Management
 
5. Change Management Strategies For Successful Erp Implementation
5. Change Management Strategies For Successful Erp Implementation5. Change Management Strategies For Successful Erp Implementation
5. Change Management Strategies For Successful Erp Implementation
 

Recently uploaded

Recently uploaded (20)

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
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
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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...
 

Higher Order Testing

  • 1. The V-Model and Defining Higher Order Tests Requirements Acceptance test Higher-Order Testing Objectives System test External spec Function test Conrad Hughes School of Informatics System design Integration test Slides thanks to Stuart Anderson Module interface spec Module test Coding 6 March 2009 Software Testing: Lecture 14 1 6 March 2009 Software Testing: Lecture 14 2 V-Model Stages Test Objectives Meyers version of the V-model has a number of stages that relate to Given there are many different types of test there is the distinct testing phases all of which are useful: possibility of considerable redundancy across tests and the 1. Requirements – seen as inherently informal for Meyers so the acceptance potential to waste effort. test must engage with the user in agreeing the requirements have been met. One way of managing this is to set a test objective for each 2. Objectives are more tightly specified and quantitative issues of costs, level of test. Ideally an objective should be dealt with at the sizes, speeds together with tradeoffs have been established. The system lowest level testing. test should be directed to see that objectives have been met (objectives have clear criteria to decide whether they have been met). For example we might take the following objectives: 3. The external specification is a black-box specification of the functionality – Module test aims to find discrepancies between a module’s of the system and thus the function test is directed to checking the behaviour and its interface specification. implementation of the specified function. – Function test aims to demonstrate that the program does not 4. System design provides a structure that can be tested by Integration conform to its external specification. testing (inherently dependent of the structure of the system). – System test aims to show the product is inconsistent with the 5. Module interface specifications are the basis for rigorous unit test (both original objectives (e.g. that some quantitative aspect of the black-box and white-box). system is not delivered by the product). 6 March 2009 Software Testing: Lecture 14 3 6 March 2009 Software Testing: Lecture 14 4 Critique of the V-Model Translating the V-Model to Other Processes The V-model is often criticised because it provides a very If we consider an XP approach to development and consider the highly constrained model of the interaction of test and V-model classification of testing we can see that: development and of the sequencing of testing activities. – Module, Integration, and Function test are carried out against However, the model is useful in identifying different kinds of module specifications and external specifications of the system. test that need orchestrating in any development process. – System and acceptance testing is moved more to the user who may More iterative or agile processes will have all these types of be the embedded customer along with the team. The use of users test in one iteration that delivers new functionality. as beta-testers helps identify real requirements issues as soon as For some of the software lifecycles it may be that there is no significant functionality is available. independent notion of e.g. requirements and so that particular – Regression testing is linked to refactoring as a means of ensuring type of testing will be de-emphasised in that approach. no change in the delivered behaviour. Increasingly, as products become longer-lived, there is the – It may be that the system has no well-documented requirements issue of how to use test to evolve fielded products and how to and so it is impossible to carry out a system test. It may also be use field data to improve product quality (e.g. beta testing that requirements are acquired iteratively as the system evolves. exploits the ability to use a range of test sites to test systems). 6 March 2009 Software Testing: Lecture 14 5 6 March 2009 Software Testing: Lecture 14 6 1
  • 2. Module/Unit/Integration Testing Functional Testing It is important that this activity is appropriately targeted to Functional testing is aimed at discovering discrepancies avoid duplication of effort from other high-level test activity. between the behaviour of the system and its external The focus here should be on verifying that the behaviour of the specification. components satisfies the interface specifications. An external specification is a precise description of the In XP it may be that the collection of tests serve as a required behaviour form a users point of view. specification for the system. Typically systems are seen as delivering some key functionality and functional testing is directed to uncovering failures to provide the functions of the system. Functional testing techniques are black-box and use the approaches we have discussed earlier in the course e.g. category partition, common error lists, boundary-value testing. 6 March 2009 Software Testing: Lecture 14 7 6 March 2009 Software Testing: Lecture 14 8 System Testing 1 System Testing 2 System testing is dependent on their being a quantified set of Facility Testing: this is checking that user accessible facilities (or objectives for the system – these may be derived iteratively functions) are implemented. This is an all-or-nothing test – either the but we need to capture them to allow effective systems testing. system attempts to provide a facility or not – this might take the form Focus of system testing is to find discrepancies in the of a visual inspection of the system. translation of the objectives into the external specifications. Volume Testing: objectives will usually have requirements on the volume So the system test should be related to the objectives of the of objects that a system can handle. E.g. a simulator might have a system – these should be captured in user-oriented term in the specification that it is capable of handling up to 100,000 logic gates or user documentations so we use the user document to help a database system might have a lower bound on the number of records design he system tests. handled. The problem in creating system tests is that there is no Stress Testing: systems involving real-time constraints will almost exhaustive list of the kinds of test that might be necessary to always have objective in terms of how rapidly they can deal with events test the objectives of a system. (e.g. 10,000 transactions per hour, the VISA payments system supports more than 5000 card transactions per second – with very high Meyers provides a list of 15 different kinds of test that might reliability). In addition many system have multiple inputs and stress be involved in testing the objectives of a system – but this is testing might investigate how well the system handles many input not exhaustive – it may be necessary to add some other testing parameters changing simultaneously. approaches depending on the objectives 6 March 2009 Software Testing: Lecture 14 9 6 March 2009 Software Testing: Lecture 14 10 System Test 3 System Test 4 Usability Testing: often carried out with real usability testers Security Testing: The external specification will usually have who can discover serious usability flaws even in well- been derived from the objectives by developing a security implemented systems. Typical issues include: model that constrains the flow of information from one area of 1. Appropriateness of interface to the user group the system to another. System testing should identify any 2. Meaningful interactions, warnings etc flaws in moving from objectives to a behavioural specification. 3. Use of consistent styles, metaphors etc In addition the objectives may include a list of common threats 4. Is redundancy/diversity of interfaces used where accuracy is that we should demonstrate are dealt with in the external essential? specification. 5. Is the interface too configurable? • Performance Testing: many systems will have throughput 6. Is it clear that the system is always live? objectives. These may be express statistically in terms of 7. Is it easy to get the system to do what the user wants? rates and likelihood of failure. The system should be instrumented to allow these objectives to by subjected test when the system is in the field. • Storage Testing: systems will claim to run happily in a given amount of storage – we should check this. 6 March 2009 Software Testing: Lecture 14 11 6 March 2009 Software Testing: Lecture 14 12 2
  • 3. System Test 5 System Testing Process/Management • Configuration Testing: many systems are highly configurable (e.g. SAP System testing should not be performed by the developers – and Oracle). A good example of this is a multi-platform system where considerable configuration effort might be required to get a system to ideally it should be an independent organisation. run on a particular platform Seemingly independent objectives have dependencies and the • Compatibility/Compliance Testing: Objectives will often include planning for system test has to take account of these compliance statements that the system is compliant with a standard – this style of testing aims to cover a significant subset of the range of dependencies (in order to get better coverage). different configurations. • Installability Testing: Is the system easy to install correctly? • Reliability Testing: is the mean time to failure long enouh • Recovery Testing: assessing the mean time to repair a fault is often a critical objective of a system • Serviceability Testing: how easy is it to upgrade the system? • Documentation Testing: how well does the documentation match the actual system behaviour • Procedure Testing: many systems involve complex interations between computers and human procedures – are the procedures and the computer system compatible? 6 March 2009 Software Testing: Lecture 14 13 6 March 2009 Software Testing: Lecture 14 14 Acceptance Testing Installation Testing Carried out by the customer on their premises. Does the proposed software run on the proposed users Testing is carried out independent of the development configuration? organisation. Many vendors now offer to integrate systems offsite and bring The acceptance test marks the transition from development them to the users site. before use to development in use. Issues like versions of software, library versions, hardware, networking all impact on the runnability of a system. Installation testing should aim to characterise the hardware/software combination that ate 6 March 2009 Software Testing: Lecture 14 15 6 March 2009 Software Testing: Lecture 14 16 Test Planning and Control Test Completion Criteria Even for modest-sized systems, there is a considerable management Bad criteria include: load in ensuring the tests are well-managed. – Stop when we run out of time. Plans should be realistic and should allow for the discovery and repair – Stop when test cases fail to find errors. of the most serious classes of error. One possible approach is to target a particular residual defect A good test plan should: density. 1. Have clear objectives for each phase of testing. 2. Have clear completion criteria for each stage of test. We have estimates of the effectiveness of bug finding for 3. Have a project plan with clear timings on activities and the dependency different parts of the system and different approaches to bug between activities. finding. 4. Testing responsibilities should be clearly allocated. Providing a target RDD is a good way of structuring the 5. Large projects should systematically manage resources. completion of particular stage in the system test. 6. Appropriate hardware may need to be ordered/configured/secured. 7. Good tracking of bugs is essential as is the tracking of all testing activity. 8. Good debugging procedures. 9. The capacity to regression test quickly after a fault has been repaired. 6 March 2009 Software Testing: Lecture 14 17 6 March 2009 Software Testing: Lecture 14 18 3
  • 4. Summary Higher-order testing is a complex business. There is very little hard advice to give since most of the approaches vary depending on the class of system. Not all approaches to system testing are necessary for all systems – deciding on a suitable collections of system tests can be difficult. 6 March 2009 Software Testing: Lecture 14 19 4