SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Software Quality Assurance – A general
walkthrough
• What is it?
• What are its objectives?
• What do QAs do?
Content
• Essence
• Terminology
• Classification
  – Unit, System …
  – BlackBox, WhiteBox
Definition
• Glen Myers
  – Testing is the process of executing a
    program with the intent of finding errors
Objective explained
• Paul Jorgensen
  – Testing is obviously concerned with errors,
    faults, failures and incidents. A test is the
    act of exercising software with test cases
    with an objective of
     • Finding failure
     • Demonstrate correct execution
A Testing Life Cycle
                                                Fix
       Error
Requirement                                         Fault
   Specs          Error                           Resolution
 Fault
                                                Fault
        Design                                Isolation
                         Error
       Fault
                                           Fault
               Coding
                                       Classification
                 Fault                      incident
                             Testing
Verification versus Validation
• Verification is concerned with phase
  containment of errors
• Validation is concerned about the final
  product to be error free
Relationship – program behaviors
               Program Behaviors




            Specified     Programmed
           (expected)      (observed)
            Behavior        Behavior    Fault
Fault
                                        Of
Of
                                        Commission
Omission

                  Correct portion
Classification of Test
• There are two levels of classification
  – One distinguishes at granularity level
     • Unit level
     • System level
     • Integration level
  – Other classification (mostly for unit level) is
    based on methodologies
     • Black box (Functional) Testing
     • White box (Structural) Testing
Relationship – Testing wrt Behavior
                 Program
                 Behaviors
             5                6
           Specified      Programmed
          (expected)    2 (observed)
           Behavior     1 Behavior
                   4        3
                 Test Cases
             (Verified behavior)
      8                7
Cont…
• 2, 5
  – Specified behavior that are not tested
• 1, 4
  – Specified behavior that are tested
• 3, 7
  – Test cases corresponding to unspecified
    behavior
Cont…
• 2, 6
  – Programmed behavior that are not tested
• 1, 3
  – Programmed behavior that are tested
• 4, 7
  – Test cases corresponding to un-
    programmed behaviors
Inferences
• If there are specified behaviors for which
  there are no test cases, the testing is
  incomplete
• If there are test cases that correspond to
  unspecified behaviors
  – Either such test cases are unwarranted
  – Specification is deficient (also implies that
    testers should participate in specification and
    design reviews)
Test methodologies
• Functional (Black box) inspects specified
  behavior
• Structural (White box) inspects
  programmed behavior
When to use what
• Few set of guidelines available
• A logical approach could be
  – Prepare functional test cases as part of
    specification. However they could be used
    only after unit and/or system is available.
  – Preparation of Structural test cases could
    be part of implementation/code phase.
  – Unit, Integration and System testing are
    performed in order.
Unit testing – essence
• Applicable to modular design
  – Unit testing inspects individual modules
• Locate error in smaller region
  – In an integrated system, it may not be
    easier to determine which module has
    caused fault
  – Reduces debugging efforts
Test cases and Test suites
• Test case is a triplet [I, S, O] where
  – I is input data
  – S is state of system at which data will be
    input
  – O is the expected output
• Test suite is set of all test cases
• Test cases are not randomly selected.
  Instead even they need to be designed.
Need for designing test cases
• Almost every non-trivial system has an
  extremely large input data domain
  thereby making exhaustive testing
  impractical
• If randomly selected then test case may
  loose significance since it may expose
  an already detected error by some
  other test case
Time for an exercise
• Give me all possible test cases for this
  object:
Black box testing
• Equivalence class partitioning
• Boundary value analysis
• Comparison testing
Equivalence Class Partitioning

• Input values to a program are
  partitioned into equivalence classes.
• Partitioning is done such that:
   – program behaves in similar ways to
     every input value belonging to an
     equivalence class.
Why define equivalence classes?
• Test the code with just one
  representative value from each
  equivalence class:
  – as good as testing using any other values
    from the equivalence classes.
Equivalence Class Partitioning
• How do you determine the equivalence
  classes?
  – examine the input data.
  – few general guidelines for determining the
    equivalence classes can be given
Equivalence Class Partitioning
• If the input data to the program is
  specified by a range of values:
  – e.g. numbers between 1 to 5000.
  – one valid and two invalid equivalence
    classes are defined.

          1                       5000
Equivalence Class Partitioning
• If input is an enumerated set of values:
  – e.g. {a,b,c}
  – one equivalence class for valid input values

  – another equivalence class for invalid input
    values should be defined.
Example
• A program reads an input value in the
  range of 1 and 5000:
  – computes the square root of the input
    number

                    SQRT
Example (cont.)
• There are three equivalence classes:
  – the set of negative integers,
  – set of integers in the range of 1 and 5000,
  – integers larger than 5000.


          1                        5000
Example (cont.)
• The test suite must include:
  – representatives from each of the three
    equivalence classes:
  – a possible test suite can be:
    {-5,500,6000}.

          1                       5000
Boundary Value Analysis
• Some typical programming errors occur:
  – at boundaries of equivalence classes
  – might be purely due to psychological
    factors.
• Programmers often fail to see:
  – special processing required at the
    boundaries of equivalence classes.
Boundary Value Analysis
• Programmers may improperly use <
  instead of <=
• Boundary value analysis:
  – select test cases at the boundaries of
    different equivalence classes.
Example
• For a function that computes the square
  root of an integer in the range of 1 and
  5000:
  – test cases must include the values:
    {0,1,5000,5001}.

          1                       5000
• Acceptance testing
• Formal testing with respect to user needs, requirements, and business
  processes conducted to determine whether or not a system satisfies
  the acceptance criteria and to enable the user, customers or other
  authorized entity to determine whether or not to accept the system.
• Alpha testing
• Simulated or actual operational testing by potential users/customers or
  an independent test team at the developers’ site, but outside the
  development organization. Alpha testing is often employed for off-the-
  shelf software as a form of internal acceptance testing.
• Back-to-back testing
• Testing in which two or more variants of a component or system are
  executed with the same inputs, the outputs compared, and analyzed in
  cases of discrepancies.
• Beta testing
• Operational testing by potential and/or existing users/customers at an
  external site not otherwise involved with the developers, to determine
  whether or not a component or system satisfies the user/customer
  needs and fits within the business processes. Beta testing is often
  employed as a form of external acceptance testing for off-the-shelf
  software in order to acquire feedback from the market.
Continued…
•   Black-box testing
•   Testing, either functional or non-functional, without reference to the internal
    structure of the component or system.
•   Boundary value
•   An input value or output value which is on the edge of an equivalence partition
    or at the smallest incremental distance on either side of an edge, for example
    the minimum or maximum value of a range.
•   Boundary value analysis
•   A black box test design technique in which test cases are designed based on
    boundary values.
•   Branch testing
•   A white box test design technique in which test cases are designed to execute
    branches.
•   Defect
•   A flaw in a component or system that can cause the component or system to fail
    to perform its required function, e.g. an incorrect statement or data definition. A
    defect, if encountered during execution, may cause a failure of the component
    or system.
Continued…
•   Functional testing
•   Testing based on an analysis of the specification of the functionality of a component or
    system.
•   Integration testing
•   Testing performed to expose defects in the interfaces and in the interactions between
    integrated components or systems.
•   Load testing
•   A test type concerned with measuring the behavior of a component or system with
    increasing load, e.g. number of parallel users and/or numbers of transactions to determine
    what load can be handled by the component or system.
•   Monkey testing
•   Testing by means of a random selection from a large range of inputs and by randomly
    pushing buttons, ignorant on how the product is being used.
•   Recoverability testing
•   The process of testing to determine the recoverability of a software product.
•   Regression testing
•   Testing of a previously tested program following modification to ensure that defects have
    not been introduced or uncovered in unchanged areas of the software, as a result of the
    changes made. It is performed when the software or its environment is changed.
Continued…
•   Severity
•   The degree of impact that a defect has on the development or operation of a component or system.
•   Smoke test
•   A subset of all defined/planned test cases that cover the main functionality of a component or system, to
    ascertaining that the most crucial functions of a program work, but not bothering with finer details. A daily
    build and smoke test is among industry best practices.
•   Test automation
•   The use of software to perform or support test activities, e.g. test management, test design, test execution
    and results checking.
•   Test case specification
•   A document specifying a set of test cases (objective, inputs, test actions, expected results, and execution
    preconditions) for a test item.
•   Test design specification
•   A document specifying the test conditions (coverage items) for a test item, the detailed test approach and
    identifying the associated high level test cases.
•   Test environment
•   An environment containing hardware, instrumentation, simulators, software tools, and other support
    elements needed to conduct a test.
•   Test harness
•   A test environment comprised of stubs and drivers needed to execute a test.
•   Test log
•   A chronological record of relevant details about the execution of tests.
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Test cases
Test casesTest cases
Test cases
 
Testing
TestingTesting
Testing
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Software Testing
Software Testing Software Testing
Software Testing
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 
Testing
TestingTesting
Testing
 
Test Techniques
Test TechniquesTest Techniques
Test Techniques
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
 
Ch23
Ch23Ch23
Ch23
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Testing
TestingTesting
Testing
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 

Andere mochten auch

Dimensi dimensi teoretis
Dimensi dimensi teoretisDimensi dimensi teoretis
Dimensi dimensi teoretis
wiryana
 
育成キャンププレゼン
育成キャンププレゼン育成キャンププレゼン
育成キャンププレゼン
Haruyasu Obushi
 
Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)
Hiro Kan
 
Benchmark QA Services Overview 2012 Molly
Benchmark QA Services Overview 2012   MollyBenchmark QA Services Overview 2012   Molly
Benchmark QA Services Overview 2012 Molly
llwelzant
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
Atul Mishra
 

Andere mochten auch (17)

Difan Zhang IMC project
Difan Zhang IMC projectDifan Zhang IMC project
Difan Zhang IMC project
 
Difan zhang brand management project
Difan zhang brand management projectDifan zhang brand management project
Difan zhang brand management project
 
Marketing Intelligence for Touareg Hybrid in the UK
Marketing Intelligence for Touareg Hybrid in the UKMarketing Intelligence for Touareg Hybrid in the UK
Marketing Intelligence for Touareg Hybrid in the UK
 
Dimensi dimensi teoretis
Dimensi dimensi teoretisDimensi dimensi teoretis
Dimensi dimensi teoretis
 
Introduction to OneNote 2010
Introduction to OneNote 2010Introduction to OneNote 2010
Introduction to OneNote 2010
 
育成キャンププレゼン
育成キャンププレゼン育成キャンププレゼン
育成キャンププレゼン
 
Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)
 
Wo
WoWo
Wo
 
Benchmark QA Services Overview 2012 Molly
Benchmark QA Services Overview 2012   MollyBenchmark QA Services Overview 2012   Molly
Benchmark QA Services Overview 2012 Molly
 
Project Introduction of Directional System in Shanghai Underground
Project Introduction of Directional System in Shanghai Underground Project Introduction of Directional System in Shanghai Underground
Project Introduction of Directional System in Shanghai Underground
 
Test
TestTest
Test
 
Cool drinks
Cool drinksCool drinks
Cool drinks
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
Mbe
MbeMbe
Mbe
 
Word 2010 Headers and Footers
Word 2010 Headers and Footers Word 2010 Headers and Footers
Word 2010 Headers and Footers
 
Marketing Intelligence for Volkswagen Touareg Hybrid in the UK
Marketing Intelligence for Volkswagen Touareg Hybrid in the UKMarketing Intelligence for Volkswagen Touareg Hybrid in the UK
Marketing Intelligence for Volkswagen Touareg Hybrid in the UK
 
Global Marketing Project Presentation
Global Marketing Project PresentationGlobal Marketing Project Presentation
Global Marketing Project Presentation
 

Ähnlich wie &lt;p>Software Testing&lt;/p>

Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
gopal10scs185
 
Learn Software Testing in 6 Lessons
Learn Software Testing in 6 LessonsLearn Software Testing in 6 Lessons
Learn Software Testing in 6 Lessons
Syed Ahmed
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
jeyasrig
 

Ähnlich wie &lt;p>Software Testing&lt;/p> (20)

Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
Software testing software engineering.pdf
Software testing software engineering.pdfSoftware testing software engineering.pdf
Software testing software engineering.pdf
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing Intro
 
Testing
TestingTesting
Testing
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Learn Software Testing in 6 Lessons
Learn Software Testing in 6 LessonsLearn Software Testing in 6 Lessons
Learn Software Testing in 6 Lessons
 
Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Manual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testingManual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testing
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

&lt;p>Software Testing&lt;/p>

  • 1. Software Quality Assurance – A general walkthrough • What is it? • What are its objectives? • What do QAs do?
  • 2. Content • Essence • Terminology • Classification – Unit, System … – BlackBox, WhiteBox
  • 3. Definition • Glen Myers – Testing is the process of executing a program with the intent of finding errors
  • 4. Objective explained • Paul Jorgensen – Testing is obviously concerned with errors, faults, failures and incidents. A test is the act of exercising software with test cases with an objective of • Finding failure • Demonstrate correct execution
  • 5. A Testing Life Cycle Fix Error Requirement Fault Specs Error Resolution Fault Fault Design Isolation Error Fault Fault Coding Classification Fault incident Testing
  • 6. Verification versus Validation • Verification is concerned with phase containment of errors • Validation is concerned about the final product to be error free
  • 7. Relationship – program behaviors Program Behaviors Specified Programmed (expected) (observed) Behavior Behavior Fault Fault Of Of Commission Omission Correct portion
  • 8. Classification of Test • There are two levels of classification – One distinguishes at granularity level • Unit level • System level • Integration level – Other classification (mostly for unit level) is based on methodologies • Black box (Functional) Testing • White box (Structural) Testing
  • 9. Relationship – Testing wrt Behavior Program Behaviors 5 6 Specified Programmed (expected) 2 (observed) Behavior 1 Behavior 4 3 Test Cases (Verified behavior) 8 7
  • 10. Cont… • 2, 5 – Specified behavior that are not tested • 1, 4 – Specified behavior that are tested • 3, 7 – Test cases corresponding to unspecified behavior
  • 11. Cont… • 2, 6 – Programmed behavior that are not tested • 1, 3 – Programmed behavior that are tested • 4, 7 – Test cases corresponding to un- programmed behaviors
  • 12. Inferences • If there are specified behaviors for which there are no test cases, the testing is incomplete • If there are test cases that correspond to unspecified behaviors – Either such test cases are unwarranted – Specification is deficient (also implies that testers should participate in specification and design reviews)
  • 13. Test methodologies • Functional (Black box) inspects specified behavior • Structural (White box) inspects programmed behavior
  • 14. When to use what • Few set of guidelines available • A logical approach could be – Prepare functional test cases as part of specification. However they could be used only after unit and/or system is available. – Preparation of Structural test cases could be part of implementation/code phase. – Unit, Integration and System testing are performed in order.
  • 15. Unit testing – essence • Applicable to modular design – Unit testing inspects individual modules • Locate error in smaller region – In an integrated system, it may not be easier to determine which module has caused fault – Reduces debugging efforts
  • 16. Test cases and Test suites • Test case is a triplet [I, S, O] where – I is input data – S is state of system at which data will be input – O is the expected output • Test suite is set of all test cases • Test cases are not randomly selected. Instead even they need to be designed.
  • 17. Need for designing test cases • Almost every non-trivial system has an extremely large input data domain thereby making exhaustive testing impractical • If randomly selected then test case may loose significance since it may expose an already detected error by some other test case
  • 18. Time for an exercise • Give me all possible test cases for this object:
  • 19. Black box testing • Equivalence class partitioning • Boundary value analysis • Comparison testing
  • 20. Equivalence Class Partitioning • Input values to a program are partitioned into equivalence classes. • Partitioning is done such that: – program behaves in similar ways to every input value belonging to an equivalence class.
  • 21. Why define equivalence classes? • Test the code with just one representative value from each equivalence class: – as good as testing using any other values from the equivalence classes.
  • 22. Equivalence Class Partitioning • How do you determine the equivalence classes? – examine the input data. – few general guidelines for determining the equivalence classes can be given
  • 23. Equivalence Class Partitioning • If the input data to the program is specified by a range of values: – e.g. numbers between 1 to 5000. – one valid and two invalid equivalence classes are defined. 1 5000
  • 24. Equivalence Class Partitioning • If input is an enumerated set of values: – e.g. {a,b,c} – one equivalence class for valid input values – another equivalence class for invalid input values should be defined.
  • 25. Example • A program reads an input value in the range of 1 and 5000: – computes the square root of the input number SQRT
  • 26. Example (cont.) • There are three equivalence classes: – the set of negative integers, – set of integers in the range of 1 and 5000, – integers larger than 5000. 1 5000
  • 27. Example (cont.) • The test suite must include: – representatives from each of the three equivalence classes: – a possible test suite can be: {-5,500,6000}. 1 5000
  • 28. Boundary Value Analysis • Some typical programming errors occur: – at boundaries of equivalence classes – might be purely due to psychological factors. • Programmers often fail to see: – special processing required at the boundaries of equivalence classes.
  • 29. Boundary Value Analysis • Programmers may improperly use < instead of <= • Boundary value analysis: – select test cases at the boundaries of different equivalence classes.
  • 30. Example • For a function that computes the square root of an integer in the range of 1 and 5000: – test cases must include the values: {0,1,5000,5001}. 1 5000
  • 31. • Acceptance testing • Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system. • Alpha testing • Simulated or actual operational testing by potential users/customers or an independent test team at the developers’ site, but outside the development organization. Alpha testing is often employed for off-the- shelf software as a form of internal acceptance testing. • Back-to-back testing • Testing in which two or more variants of a component or system are executed with the same inputs, the outputs compared, and analyzed in cases of discrepancies. • Beta testing • Operational testing by potential and/or existing users/customers at an external site not otherwise involved with the developers, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes. Beta testing is often employed as a form of external acceptance testing for off-the-shelf software in order to acquire feedback from the market.
  • 32. Continued… • Black-box testing • Testing, either functional or non-functional, without reference to the internal structure of the component or system. • Boundary value • An input value or output value which is on the edge of an equivalence partition or at the smallest incremental distance on either side of an edge, for example the minimum or maximum value of a range. • Boundary value analysis • A black box test design technique in which test cases are designed based on boundary values. • Branch testing • A white box test design technique in which test cases are designed to execute branches. • Defect • A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
  • 33. Continued… • Functional testing • Testing based on an analysis of the specification of the functionality of a component or system. • Integration testing • Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems. • Load testing • A test type concerned with measuring the behavior of a component or system with increasing load, e.g. number of parallel users and/or numbers of transactions to determine what load can be handled by the component or system. • Monkey testing • Testing by means of a random selection from a large range of inputs and by randomly pushing buttons, ignorant on how the product is being used. • Recoverability testing • The process of testing to determine the recoverability of a software product. • Regression testing • Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.
  • 34. Continued… • Severity • The degree of impact that a defect has on the development or operation of a component or system. • Smoke test • A subset of all defined/planned test cases that cover the main functionality of a component or system, to ascertaining that the most crucial functions of a program work, but not bothering with finer details. A daily build and smoke test is among industry best practices. • Test automation • The use of software to perform or support test activities, e.g. test management, test design, test execution and results checking. • Test case specification • A document specifying a set of test cases (objective, inputs, test actions, expected results, and execution preconditions) for a test item. • Test design specification • A document specifying the test conditions (coverage items) for a test item, the detailed test approach and identifying the associated high level test cases. • Test environment • An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test. • Test harness • A test environment comprised of stubs and drivers needed to execute a test. • Test log • A chronological record of relevant details about the execution of tests.