SlideShare a Scribd company logo
Software Architecture
                                Prof.Dr.ir. F. Gielen


Software Test Management




 Vakgroep Informatietechnologie – IBCN
The relative cost of faults.
This graphs indicates the relative cost of correcting a fault or error:
An error introduced during the requirements analysis and discovered during implementation costs on the average
four times as much to correct as to when the error would have been discovered during a requirements review.
Errors discovered during maintenance (i.e. after the product has been put to operation) cost 368 times as much !



               400                                                                                  368
               350
               300
               250
               200
               150
               100                                                                    52
                50             1                 3            4      10
                 0                                          Design




                                                                                      Integration
                                            Specification




                                                                     Implementation




                                                                                                     Maintenance
                          Requirements




                      Optimizing the software process to reduce costs
              should focus on discovering possible errors early in the process.
       Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                                                       p. 2
Test Planning Basics.

       Do this NOW !!!
        Test Design parallels Application Design
        Test requirements impact architecture: design for testability.
             Monitors
             Logging
             …

       The test plan should be an integrated part of the overall
        project plan.
       The test plan must define how success will be measured
        Metrics are needed
       All requirements must have a test.
             Many different kinds of tests, some trivial, some not
             Degree of testing depends on risk considerations


        Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Test Planning Process (ISO 29119)

       Understand        Scope

        Context
                          Organise
                          Test Plan
                         Development
                                              Identify &        Analysed Risks
                                             Analyze Risks
                                                                                     Treatment
                                                                     Identify Risk
                                                                                     Approaches
                                                                      Treatment
                                                                     Approaches
                                                                                       Design Test
                                                                                        Strategy
                                                    Schedule,
                                                  Staffing Profile     Determine
                                                                      Staffing and      Test
                                   Draft                              Scheduling      Strategy
                                 Test Plan   Document
                                             Test Plan
            Approved
            Test Plan
                            Gain
                        Consensus on
Test                      Test Plan
Plan    Publish
        Test Plan
Creating a Test Plan

       Step 1: Requirements Analysis
          For each requirement choose test types, and methodologies ->
           document it in the TEST PLAN
          Each requirement may need multiple test types and methodologies
                   If you are having trouble choosing a test, the requirement may need to
                    be more clearly specified
                   Functional Requirements have use-cases / scenarios
                   Quality Requirements (e.g performance) may need additional
                                                 performance
                    specifications for test purposes
          A test is defined as a combination of the test types and the
           methodologies chosen for testing the requirement.




        Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Creating a Test Plan (Cont’d)

   Step 2: Prioritize
        For each test type, determine order (account for dependencies) and
         priority (critical, important, moderate, low) based on risk
         considerations.
   Step 3: Elaborate
         For each test, specify the details in a Test Description
   Step 4: Planning
         Account for test time/effort and other resource costs in the project plan.
         Don’t neglect the priories and risks.




    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Why prioritize test cases ?


                                        Acceptance,
   Risk                                      Defect-density
Exposure                                           testing
  from                                                   (all defects equal)
 Defects
                     Value/Risk-
                     Driven Testing
                     (80-20 value distribution)



                                Time to Ship (amount of testing)



Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                          p. 7
Test Types

 There are many “types” of tests that can be
 performed :
       Unit and Validation
                 white-box
                 black-box
       Integration
       Interface
       System
       Stress
       Regression
       Acceptance
       …


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Unit and Validation Testing


•   A unit test is any that is specific to some component of your
    system (i.e. not the whole system).

•   Validation tests determine how well a component corresponds
    to its specification in the design.




    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Unit testing: White-box


   A white-box test uses knowledge of component’s
    implementation to test it.
         A tester needs to be very familiar with the language and
          technology.
         The tester reads the code, looking for mistakes or ways to
          break it (boundary conditions, errors, limits).
         White-box testing is time-consuming, and requires much
          skill. Thus it is often only done thoroughly on a per-
          component basis (ie, as a unit test), and only for critical
          components.



    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Unit testing: Black box

   A black-box test is not concerned with the
    component’s implementation, but gauges whether it
    accepts the correct inputs and produces correct
    outputs.

   We can use equivalence partitioning to guide black-
    box/validation testing:
         Since we rarely have time to try all the possible inputs, group them, and test
          representatives from each group.




    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Black box testing (cont’d)

       Use Equivalence Partitioning to test the system
         group valid inputs together
         group invalid inputs together
         group questionable inputs together
         group outputs and identify erroneous groupings

        Focus on boundary values, and inputs which may be
        strange or unexpected
         For a search routine, search for the first and last items &
                Search for the middle item
                Search for a non-existent item
                Search an empty database




        Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Integration and Interface tests

   Interface tests focus on the points of contact
    between two components. Interfaces include:
         Method invocations.
         Network or other stream-based communications.
         Shared memory, files and other system resources (and therefore,
          resource locking).
   Integration tests see whether components that
    work separately work together.
         More then just getting all of it to compile!
         Use Black Box methods, and a limited number of white box
          methods to confirm that the sub-systems are interacting correctly
         They must be designed to exercise all of the use cases and error
          conditions


    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
System and Stress testing


   System tests test the entire assembled system.
        The system should be tested in a realistic environment, on it’s
         actual hardware, by real users as well as the developers.
        System testing is often done in two phases, “Alpha” and “Beta”.
         Beta release often go to many people outside the development
         team.
   A stress test is a type of system test, where the
    system’s performance limits are stretched (and
    broken, usually).
         Stress tests are interested in gathering performance statistics, and
         determining whether the system handles failure gracefully.




    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Regression Testing


Regression   testing tests a new version of software
against a rigorously defined set of inputs and outputs, to
ensure the new version has introduced no
inconsistencies with old versions.
      Regression testing is one reason why we keep old tests
       around (and document them): the old tests, passed once,
       should be applied again with every significant change to the
       system.




  Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
Acceptance tests

   An acceptance test is any where some person or people (usually the
    customer) decide whether an aspect of the software is acceptable, or not.
   Use acceptance tests when you have something concrete to test:
        At the ends of development cycles.
        With prototypes.
        With “beta” versions of your system, or components.
        Delivery to the customer.
   Acceptance tests return a boolean value: PASS/FAIL
        Watch out for “that’s nice, but….” responses from your customer (i.e.,
         feature creep).




    Vakgroep Informatietechnologie – Onderzoeksgroep IBCN

More Related Content

What's hot

sample-test-plan-template.pdf
sample-test-plan-template.pdfsample-test-plan-template.pdf
sample-test-plan-template.pdfempite
 
Building a MVC eCommerce Site in Under 5 Minutes
Building a MVC eCommerce Site in Under 5 MinutesBuilding a MVC eCommerce Site in Under 5 Minutes
Building a MVC eCommerce Site in Under 5 Minutes
Gaines Kergosien
 
QA Interview Questions With Answers
QA Interview Questions With AnswersQA Interview Questions With Answers
QA Interview Questions With Answers
H2Kinfosys
 
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect StatesSoftware Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
eVideoTuition
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Mobile application testing report
Mobile application testing reportMobile application testing report
Mobile application testing reportQA Madness
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
Software Testing Books
 
Lesson 4...Bug Life Cycle
Lesson 4...Bug Life CycleLesson 4...Bug Life Cycle
Lesson 4...Bug Life Cycle
bhushan Nehete
 
Manual Testing.
Manual Testing.Manual Testing.
Manual Testing.
Dhanasekaran Nagarajan
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
Vinay Agnihotri
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
Mreetyunjaya Daas
 
Test plan
Test planTest plan
Test plan
Nadia Nahar
 
WHITE BOX & BLACK BOX TESTING IN DATABASE
WHITE BOX & BLACK BOXTESTING IN DATABASEWHITE BOX & BLACK BOXTESTING IN DATABASE
WHITE BOX & BLACK BOX TESTING IN DATABASE
Salman Memon
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
dilipambhore
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
Lionel Briand
 
Understanding Physical Inventory
Understanding Physical InventoryUnderstanding Physical Inventory
Understanding Physical Inventory
Baker Khader Abdallah, PMP
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)
Yogesh Late
 

What's hot (20)

sample-test-plan-template.pdf
sample-test-plan-template.pdfsample-test-plan-template.pdf
sample-test-plan-template.pdf
 
Building a MVC eCommerce Site in Under 5 Minutes
Building a MVC eCommerce Site in Under 5 MinutesBuilding a MVC eCommerce Site in Under 5 Minutes
Building a MVC eCommerce Site in Under 5 Minutes
 
QA Interview Questions With Answers
QA Interview Questions With AnswersQA Interview Questions With Answers
QA Interview Questions With Answers
 
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect StatesSoftware Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
Software Testing - Defect/Bug Life Cycle - Complete Flow Chart of Defect States
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
stlc
stlcstlc
stlc
 
Mobile application testing report
Mobile application testing reportMobile application testing report
Mobile application testing report
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
 
Lesson 4...Bug Life Cycle
Lesson 4...Bug Life CycleLesson 4...Bug Life Cycle
Lesson 4...Bug Life Cycle
 
Manual Testing.
Manual Testing.Manual Testing.
Manual Testing.
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
 
Test plan
Test planTest plan
Test plan
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
WHITE BOX & BLACK BOX TESTING IN DATABASE
WHITE BOX & BLACK BOXTESTING IN DATABASEWHITE BOX & BLACK BOXTESTING IN DATABASE
WHITE BOX & BLACK BOX TESTING IN DATABASE
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
Understanding Physical Inventory
Understanding Physical InventoryUnderstanding Physical Inventory
Understanding Physical Inventory
 
Amazon search test case document
Amazon search test case documentAmazon search test case document
Amazon search test case document
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)
 

Similar to Sop test planning

Idexcel Independent Testing Services Presentation
Idexcel Independent Testing Services PresentationIdexcel Independent Testing Services Presentation
Idexcel Independent Testing Services Presentation
Idexcel
 
Integrated methodology for testing and quality management.
Integrated methodology for testing and quality management.Integrated methodology for testing and quality management.
Integrated methodology for testing and quality management.
Mindtree Ltd.
 
Software Testing procure at ESS
Software Testing procure at ESSSoftware Testing procure at ESS
Software Testing procure at ESSDevasis Roy
 
Test strategy &-testplanning
Test strategy &-testplanningTest strategy &-testplanning
Test strategy &-testplanningsrivinayak
 
Security testing activities
Security testing activitiesSecurity testing activities
Security testing activitiesDharmdev Maurya
 
Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)
SQALab
 
Pariksha testing services
Pariksha testing servicesPariksha testing services
Pariksha testing services
parikshalabs.com
 
02 test planning
02   test planning02   test planning
02 test planning
Clemens Reijnen
 
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
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4
JAMK
 
Mindtree risk based testing offerings.
Mindtree risk based testing offerings.Mindtree risk based testing offerings.
Mindtree risk based testing offerings.
Mindtree Ltd.
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
Ian McDonald
 
NG BB 49 Risk Assessment
NG BB 49 Risk AssessmentNG BB 49 Risk Assessment
NG BB 49 Risk AssessmentLeanleaders.org
 
Doe Taguchi Basic Manual1
Doe Taguchi Basic Manual1Doe Taguchi Basic Manual1
Doe Taguchi Basic Manual1
nazeer pasha
 
Testhouse UK Ltd. Corp Deck - Feb 2012
Testhouse UK Ltd. Corp Deck - Feb 2012Testhouse UK Ltd. Corp Deck - Feb 2012
Testhouse UK Ltd. Corp Deck - Feb 2012Javier Carrillo
 
Test Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related MeasurementsTest Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related Measurements
STAG Software Private Limited
 

Similar to Sop test planning (20)

Idexcel Independent Testing Services Presentation
Idexcel Independent Testing Services PresentationIdexcel Independent Testing Services Presentation
Idexcel Independent Testing Services Presentation
 
Testing Experience Magazine Vol.14 June 2011
Testing Experience Magazine Vol.14 June 2011Testing Experience Magazine Vol.14 June 2011
Testing Experience Magazine Vol.14 June 2011
 
Integrated methodology for testing and quality management.
Integrated methodology for testing and quality management.Integrated methodology for testing and quality management.
Integrated methodology for testing and quality management.
 
Software Testing procure at ESS
Software Testing procure at ESSSoftware Testing procure at ESS
Software Testing procure at ESS
 
Test strategy &-testplanning
Test strategy &-testplanningTest strategy &-testplanning
Test strategy &-testplanning
 
Security testing activities
Security testing activitiesSecurity testing activities
Security testing activities
 
Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)
 
Pariksha testing services
Pariksha testing servicesPariksha testing services
Pariksha testing services
 
02 test planning
02   test planning02   test planning
02 test planning
 
stlc
stlcstlc
stlc
 
20 54-1-pb
20 54-1-pb20 54-1-pb
20 54-1-pb
 
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)
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4Unit testingandcontinousintegrationfreenest1dot4
Unit testingandcontinousintegrationfreenest1dot4
 
Mindtree risk based testing offerings.
Mindtree risk based testing offerings.Mindtree risk based testing offerings.
Mindtree risk based testing offerings.
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
NG BB 49 Risk Assessment
NG BB 49 Risk AssessmentNG BB 49 Risk Assessment
NG BB 49 Risk Assessment
 
Doe Taguchi Basic Manual1
Doe Taguchi Basic Manual1Doe Taguchi Basic Manual1
Doe Taguchi Basic Manual1
 
Testhouse UK Ltd. Corp Deck - Feb 2012
Testhouse UK Ltd. Corp Deck - Feb 2012Testhouse UK Ltd. Corp Deck - Feb 2012
Testhouse UK Ltd. Corp Deck - Feb 2012
 
Test Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related MeasurementsTest Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related Measurements
 

More from Frank Gielen

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
Frank Gielen
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2
Frank Gielen
 
You have been MOOCed
You have been MOOCedYou have been MOOCed
You have been MOOCed
Frank Gielen
 
Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)
Frank Gielen
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)
Frank Gielen
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research Canvas
Frank Gielen
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013
Frank Gielen
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013Frank Gielen
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outline
Frank Gielen
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012Frank Gielen
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
Frank Gielen
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_viewsFrank Gielen
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availabilityFrank Gielen
 
Pr 005 qa_workshop
Pr 005 qa_workshopPr 005 qa_workshop
Pr 005 qa_workshop
Frank Gielen
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
Frank Gielen
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap Architecture
Frank Gielen
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels Frank Gielen
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickFrank Gielen
 

More from Frank Gielen (20)

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2
 
You have been MOOCed
You have been MOOCedYou have been MOOCed
You have been MOOCed
 
Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research Canvas
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outline
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012
 
Pr crc
Pr crcPr crc
Pr crc
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
Sa 009 add
Sa 009 addSa 009 add
Sa 009 add
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
 
Pr 005 qa_workshop
Pr 005 qa_workshopPr 005 qa_workshop
Pr 005 qa_workshop
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap Architecture
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter Haerick
 

Sop test planning

  • 1. Software Architecture Prof.Dr.ir. F. Gielen Software Test Management Vakgroep Informatietechnologie – IBCN
  • 2. The relative cost of faults. This graphs indicates the relative cost of correcting a fault or error: An error introduced during the requirements analysis and discovered during implementation costs on the average four times as much to correct as to when the error would have been discovered during a requirements review. Errors discovered during maintenance (i.e. after the product has been put to operation) cost 368 times as much ! 400 368 350 300 250 200 150 100 52 50 1 3 4 10 0 Design Integration Specification Implementation Maintenance Requirements Optimizing the software process to reduce costs should focus on discovering possible errors early in the process. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2
  • 3. Test Planning Basics.  Do this NOW !!!  Test Design parallels Application Design  Test requirements impact architecture: design for testability.  Monitors  Logging  …  The test plan should be an integrated part of the overall project plan.  The test plan must define how success will be measured  Metrics are needed  All requirements must have a test.  Many different kinds of tests, some trivial, some not  Degree of testing depends on risk considerations Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 4. Test Planning Process (ISO 29119) Understand Scope Context Organise Test Plan Development Identify & Analysed Risks Analyze Risks Treatment Identify Risk Approaches Treatment Approaches Design Test Strategy Schedule, Staffing Profile Determine Staffing and Test Draft Scheduling Strategy Test Plan Document Test Plan Approved Test Plan Gain Consensus on Test Test Plan Plan Publish Test Plan
  • 5. Creating a Test Plan  Step 1: Requirements Analysis  For each requirement choose test types, and methodologies -> document it in the TEST PLAN  Each requirement may need multiple test types and methodologies  If you are having trouble choosing a test, the requirement may need to be more clearly specified  Functional Requirements have use-cases / scenarios  Quality Requirements (e.g performance) may need additional performance specifications for test purposes  A test is defined as a combination of the test types and the methodologies chosen for testing the requirement. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 6. Creating a Test Plan (Cont’d)  Step 2: Prioritize  For each test type, determine order (account for dependencies) and priority (critical, important, moderate, low) based on risk considerations.  Step 3: Elaborate  For each test, specify the details in a Test Description  Step 4: Planning  Account for test time/effort and other resource costs in the project plan.  Don’t neglect the priories and risks. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 7. Why prioritize test cases ? Acceptance, Risk Defect-density Exposure testing from (all defects equal) Defects Value/Risk- Driven Testing (80-20 value distribution) Time to Ship (amount of testing) Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7
  • 8. Test Types There are many “types” of tests that can be performed :  Unit and Validation  white-box  black-box  Integration  Interface  System  Stress  Regression  Acceptance  … Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 9. Unit and Validation Testing • A unit test is any that is specific to some component of your system (i.e. not the whole system). • Validation tests determine how well a component corresponds to its specification in the design. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 10. Unit testing: White-box  A white-box test uses knowledge of component’s implementation to test it.  A tester needs to be very familiar with the language and technology.  The tester reads the code, looking for mistakes or ways to break it (boundary conditions, errors, limits).  White-box testing is time-consuming, and requires much skill. Thus it is often only done thoroughly on a per- component basis (ie, as a unit test), and only for critical components. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 11. Unit testing: Black box  A black-box test is not concerned with the component’s implementation, but gauges whether it accepts the correct inputs and produces correct outputs.  We can use equivalence partitioning to guide black- box/validation testing:  Since we rarely have time to try all the possible inputs, group them, and test representatives from each group. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 12. Black box testing (cont’d)  Use Equivalence Partitioning to test the system  group valid inputs together  group invalid inputs together  group questionable inputs together  group outputs and identify erroneous groupings  Focus on boundary values, and inputs which may be strange or unexpected  For a search routine, search for the first and last items &  Search for the middle item  Search for a non-existent item  Search an empty database Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 13. Integration and Interface tests  Interface tests focus on the points of contact between two components. Interfaces include:  Method invocations.  Network or other stream-based communications.  Shared memory, files and other system resources (and therefore, resource locking).  Integration tests see whether components that work separately work together.  More then just getting all of it to compile!  Use Black Box methods, and a limited number of white box methods to confirm that the sub-systems are interacting correctly  They must be designed to exercise all of the use cases and error conditions Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 14. System and Stress testing  System tests test the entire assembled system.  The system should be tested in a realistic environment, on it’s actual hardware, by real users as well as the developers.  System testing is often done in two phases, “Alpha” and “Beta”. Beta release often go to many people outside the development team.  A stress test is a type of system test, where the system’s performance limits are stretched (and broken, usually).  Stress tests are interested in gathering performance statistics, and determining whether the system handles failure gracefully. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 15. Regression Testing Regression testing tests a new version of software against a rigorously defined set of inputs and outputs, to ensure the new version has introduced no inconsistencies with old versions.  Regression testing is one reason why we keep old tests around (and document them): the old tests, passed once, should be applied again with every significant change to the system. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN
  • 16. Acceptance tests  An acceptance test is any where some person or people (usually the customer) decide whether an aspect of the software is acceptable, or not.  Use acceptance tests when you have something concrete to test:  At the ends of development cycles.  With prototypes.  With “beta” versions of your system, or components.  Delivery to the customer.  Acceptance tests return a boolean value: PASS/FAIL  Watch out for “that’s nice, but….” responses from your customer (i.e., feature creep). Vakgroep Informatietechnologie – Onderzoeksgroep IBCN