SlideShare a Scribd company logo
1 of 54
Chapter 4
           Software Testing
ISTQB / ISEB Foundation Exam Practice



  1 Principles   2 Lifecycle   3 Static testing

 4 Dynamic test
                5 Management       6 Tools
   techniques




Dynamic Testing Techniques
1      2     3               ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                              Contents
                       What is a testing technique?
                       Black and White box testing
                        Black box test techniques
                        White box test techniques
                             Error Guessing
Why dynamic test techniques?

    Exhaustive testing (use of all possible inputs
     and conditions) is impractical
      - must use a subset of all possible test cases
      - must have high probability of detecting faults
    Need thought processes that help us select
     test cases more intelligently
      - test case design techniques are such thought
        processes
What is a testing technique?

    a procedure for selecting or designing tests
    based on a structural or functional model of
     the software
    successful at finding faults
    'best' practice
    a way of deriving good test cases
    a way of objectively measuring a test effort

     Testing should be rigorous, thorough and systematic
Advantages of techniques

    Different people: similar probability find faults
     - gain some independence of thought
    Effective testing: find more faults
     - focus attention on specific types of fault
     - know you're testing the right thing
    Efficient testing: find faults with less effort
     - avoid duplication
     - systematic techniques are measurable

     Using techniques makes testing much more effective
Measurement

   Objective assessment of thoroughness of
    testing (with respect to use of each technique)
     - useful for comparison of one test effort to another
   E.g.

     Project A                  Project B
     60% Equivalence            40% Equivalence
          partitions                 partitions
     50% Boundaries             45% Boundaries
     75% Branches               60% Branches
1      2     3               ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                              Contents
                       What is a testing technique?
                       Black and White box testing
                        Black box test techniques
                        White box test techniques
                             Error Guessing
Three types of systematic technique

 Static (non-execution)
   • examination of documentation,
     source code listings, etc.
 Functional (Black Box)
   • based on behaviour /
     functionality of software
 Structural (White Box)
   • based on structure
     of software
Some test techniques
              Static                                   Dynamic
Reviews                        etc.
                       Static Analysis
                                                                 Behavioural
Inspection
Walkthroughs               Structural           Non-functional        Functional
  Desk-checking                                                                      etc.
                                                etc.
                                                                           Equivalence
                                      Control    Usability                 Partitioning
             Data                     Flow
             Flow                                  Performance
 etc.                                                                   Boundary
                                                                        Value Analysis
                                                       etc.
                       Statement
Symbolic                                                            Cause-Effect Graphing
Execution           Branch/Decision                Arcs
                                                                 Random
          Definition     Branch Condition       LCSAJ
          -Use                                                State Transition
                                   Branch Condition
                                   Combination
Black box versus white box?

Black box appropriate               Acceptance
at all levels but
dominates higher
levels of testing                System


White box used
predominately              Integration
at lower levels
to compliment
                        Component
black box
1      2     3               ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                              Contents
                       What is a testing technique?
                       Black and White box testing
                        Black box test techniques
                        White box test techniques
                             Error Guessing
Black Box test design and
measurement techniques
    Techniques defined in BS 7925-2
      - Equivalence partitioning
      - Boundary value analysis    Also a measurement
                                   technique?
      - State transition testing                 = Yes
      - Cause-effect graphing                    = No

      - Syntax testing
      - Random testing
    Also defines how to specify other techniques
Equivalence partitioning (EP)



   - divide (partition) the inputs, outputs, etc. into areas
     which are the same (equivalent)
   - assumption: if one value works, all will work
   - one from each partition better than all from one
     invalid                      valid            invalid

                  0   1              100    101
Boundary value analysis (BVA)




   - faults tend to lurk near boundaries
   - good place to look for faults
   - test values on both sides of boundaries
     invalid                 valid             invalid

                 0   1               100 101
Example: Loan application
                            2-64 chars.
  Customer Name
  Account number            6 digits, 1st
                            non-zero
  Loan amount requested
     Term of loan           £500 to £9000

     Monthly repayment
                            1 to 30 years
  Term:
                            Minimum £10
  Repayment:
  Interest rate:
  Total paid back:
Customer name
Number of characters:


                               1     2                  64 65
                   invalid                  valid                invalid

Valid characters:                A-Z
                                                Any
                               -‟ a-z
                                space           other


  Conditions        Valid           Invalid          Valid         Invalid
                  Partitions      Partitions      Boundaries    Boundaries
  Customer     2 to 64 chars    < 2 chars        2 chars       1 chars
  name         valid chars      > 64 chars       64 chars      65 chars
                                invalid chars                  0 chars
Account number
                         valid: non-zero
  first character:
                         invalid: zero

  number of digits:                             5    6      7
                                      invalid                   invalid
                                                    valid



 Conditions        Valid           Invalid        Valid             Invalid
                 Partitions      Partitions    Boundaries        Boundaries
 Account      6 digits        < 6 digits      100000            5 digits
 number       1st non-zero    > 6 digits      999999            7 digits
                              1st digit = 0                     0 digits
                              non-digit
Loan amount


                   499       500             9000   9001

          invalid                  valid               invalid


 Conditions        Valid           Invalid       Valid         Invalid
                Partitions      Partitions    Boundaries    Boundaries
 Loan         500 - 9000      < 500          500           499
 amount                       >9000          9000          9001
                              0
                              non-numeric
                              null
Condition template
Conditions      Valid       Tag     Invalid     Tag  Valid    Tag    Invalid Tag
              Partitions           Partitions      Boundaries     Boundaries
Customer 2 - 64 chars       V1    < 2 chars    X1 2 chars     B1 1 char      D1
name     valid chars        V2    > 64 chars   X2 64 chars    B2 65 chars    D2
                                  invalid char X3                 0 chars    D3
Account      6 digits       V3    < 6 digits   X4 100000      B3 5 digits    D4
number       1st non-zero   V4    > 6 digits   X5 999999      B4 7 digits    D5
                                    st
                                  1 digit = 0 X6                  0 digits   D6
                                  non-digit    X7
Loan         500 - 9000     V5    < 500        X8 500         B5 499         D7
amount                            >9000        X9 9000        B6 9001        D8
                                  0            X10
                                  non-integer X11
                                  null         X12
Design test cases

   Test   Description            Expected Outcome           New Tags
   Case                                                     Covered
    1     Name:     John Smith   Term:            3 years    V1, V2,
          Acc no:   123456       Repayment:       79.86      V3, V4,
          Loan:     2500         Interest rate:   10%        V5 .....
          Term:     3 years      Total paid:      2874.96

    2     Name:     AB           Term:            1 year     B1, B3,
          Acc no:   100000       Repayment:       44.80      B5, .....
          Loan:     500          Interest rate:   7.5%
          Term:     1 year       Total paid:      537.60
Why do both EP and BVA?

   If you do boundaries only, you have covered
    all the partitions as well
     - technically correct and may be OK if everything
       works correctly!
     - if the test fails, is the whole partition wrong, or is a
       boundary in the wrong place - have to test mid-
       partition anyway
     - testing only extremes may not give confidence for
       typical use scenarios (especially for users)
     - boundaries may be harder (more costly) to set up
Test objectives?
    Condition   Valid     Tag Invalid   Tag Valid      Tag Invalid    Tag
                Partition     Partition     Boundary       Boundary




    For a thorough approach: VP, IP, VB, IB
    Under time pressure, depends on your test objective
      - minimal user-confidence: VP only?
      - maximum fault finding: VB first (plus IB?)
Decision tables

    explore combinations of inputs, situations or
     events,
    it is very easy to overlook specific
     combinations of input
    start by expressing the input conditions of
     interest so that they are either TRUE or FALSE
        – record found        – policy expired
        – file exists         – account in credit
        – code valid          – due date > current date
Example: student access

  A university computer system allows students
  an allocation of disc space depending on their
  projects.
  If they have used all their allotted space, they
  are only allowed restricted access, i.e. to
  delete files, not to create them. This is
  assuming they have logged on with a valid
  username and password.


   What are the input and output conditions?
List the input and output conditions

 • list the „input            Input Conditions
   conditions‟ in the first   Valid username
   column of the table        Valid password
                              Account in credit
 • list the „output           Output Conditions
   conditions‟ under the      Login accepted
   input conditions           Restricted access
Determine input combinations

    add columns to the table for each unique
     combination of input conditions.
    each entry in the table may be either „T‟ for
     true, „F‟ for false.

 Input Conditions
 Valid username T T T T F F F                        F
 Valid password T T F F T T F                        F
 Account in credit T F T F T F T                     F
Rationalise input combinations

    some combinations may be impossible or not
     of interest
    some combinations may be „equivalent‟
    use a hyphen to denote “don‟t care”

          Input Conditions
          Valid username F      T T T
          Valid password    -   F T T
          Account in credit -   - F T
Complete the table
    determine the expected output conditions for
     each combination of input conditions
     Input Conditions
     Valid username F      T T T
     Valid password    -   F T T
     Account in credit -   - F T
     Output Conditions
     Login accepted    F   F   T T
     Restricted access -   -   T F
Determine test case groups
    each column is at least one test case

     Input Conditions
     Valid username F      T T T
     Valid password    -   F T T
     Account in credit -   - F T
     Output Conditions
     Login accepted    F   F T T
     Restricted access -   - T F
                  Tags A   B C D
Design test cases
    usually one test case for each column but can
     be none or several
 Test Description               Expected Outcome      Tag
     1   Username BrbU          Invalid username      A
     2   Username               Invalid username      A
         usernametoolong
     3   Username BobU          Invalid password      B
         Password abcd
     4   Valid user, no disc    Restricted access     C
         space
     5   Valid user with disc   Unrestricted access   D
         space
Rationalising outputs

    if outputs or effects are mutually exclusive,
     I.e. T occurs in only one place in each column,
     we can combine them
    for example:

       X   T   F   F
                         is equivalent to:
       Y   F   T   F
       Z   F   F   T            Output   X   Y   Z
Rationalising dangers

    rationalising is based on assumptions
    assumptions may be wrong!
    assumptions should be stated
    assumptions may change over time
    be aware of the dangers
      - filling in the full table may find errors which will be
        missed if you rationalise
      - it is possible to rationalise too far
Extending decision tables

    Entries can be more than just „true‟ or „false‟
     - completing table needs to be done carefully
     - rationalising becomes more important
    E.g.


 Code = 1, 2, or 3 1 1 1 1 2 2 2 2 3 3 3 3
 Exp.date < now T T F F T T F F T T F F
 Class A product T F T F T F T F T F T F
Decision Tables in relation to EP and
BVA
       Input value                  Output value




                     FALSE

                             TRUE
1      2     3               ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                              Contents
                       What is a testing technique?
                       Black and White box testing
                        Black box test techniques
                        White box test techniques
                             Error Guessing
White Box test design and
measurement techniques
    Techniques defined in BS 7925-2
      - Statement testing                Also a measurement
                                         technique?
      - Branch / Decision testing                      = Yes
      - Data flow testing                              = No
      - Branch condition testing
      - Branch condition combination testing
      - Modified condition decision testing
      - LCSAJ testing
    Also defines how to specify other techniques
Using structural coverage
  Spec                                         Enough
                         Software               tests?
                Tests
                                       Results OK?
             What's
             covered?
More tests                             Coverage OK?



   Stronger structural
 techniques (different
  structural elements)

                         Increasing coverage
The test coverage trap
               Function exercised,                 better testing
              insufficient structure
Functional
testedness


                                             Structure exercised,
                                             insufficient function

             % Statement       % Decision          % Condition
                                                   Combination
                           Structural testedness


      100% coverage does                     Coverage is not
     not mean 100% tested!                   Thoroughness
Statement coverage
Statement coverage             is normally measured
                                 by a software tool.

  percentage of executable statements
   exercised by a test suite
      number of statements exercised             ?
  =
         total number of statements
  example:

    - program has 100 statements
    - tests exercise 87 statements
    - statement coverage = 87%

      Typical ad hoc testing achieves 60 - 75%
Example of statement coverage
 1   read(a)                Test    Input    Expected
 2   IF a > 6 THEN          case              output
 3     b=a                    1       7          7
 4   ENDIF
 5   print b


               As all 5 statements are „covered‟ by
                this test case, we have achieved
Statement           100% statement coverage
numbers
Decision coverage
Decision coverage               is normally measured
                                  by a software tool.
(Branch coverage)
  percentage of decision outcomes
   exercised by a test suite
      number of decisions outcomes exercised       False
  =                                              ?
         total number of decision outcomes
                                             True
  example:

    - program has 120 decision outcomes
    - tests exercise 60 decision outcomes
    - decision coverage = 50%

       Typical ad hoc testing achieves 40 - 60%
Paths through code           1234

12      12      123
                              ?

 ?      ?            ?   ?


                              ?
Paths through code with loops

    1 2 3 4 5 6 7 8 ….


                   for as many times as it
                   is possible to go round
     ?             the loop (this can be
                   unlimited, i.e. infinite)
Wait
Example 1
Wait for card to be inserted             Yes
                                Valid          Display
IF card is a valid card THEN    card?          “Enter..
   display “Enter PIN number”      No
   IF PIN is valid THEN
                                Reject           Valid Yes Select
        select transaction                       PIN?
                                 card                      trans...
   ELSE (otherwise)                                 No
        display “PIN invalid”
ELSE (otherwise)                                Display
                                               “PIN in..
   reject card
End

                                                             End
Example 2                         Read

 Read A                                  Yes          Yes
                                   A>0         A=21
 IF A > 0 THEN
    IF A = 21 THEN                No           No
                                                            Print
        Print “Key”
    ENDIF
 ENDIF

                                   End
                            3
- Cyclomatic complexity: _____
- Minimum tests to achieve:
                            1
   • Statement coverage: ______
   • Branch coverage: _____
                        3
Example 3                  Read

Read A                            Yes           No
Read B                      A>0         B=0          Print
IF A > 0 THEN              No       Yes
                                                         Yes
   IF B = 0 THEN                        Print        A>21    Print
       Print “No values”
                                                     No
   ELSE
       Print B
       IF A > 21 THEN      End
          Print A                                       4
                           - Cyclomatic complexity: _____
       ENDIF
   ENDIF                   - Minimum tests to achieve:
ENDIF                                                 2
                              • Statement coverage: ______
                              • Branch coverage: _____
                                                  4
Yes
                             Read      A<0         Print
 Example 4                            No

Read A                Note: there       Print
Read B                are 4 paths
IF A < 0 THEN                                Yes
   Print “A negative”                    B<0     Print
ELSE                                   No
   Print “A positive”                   Print
ENDIF
IF B < 0 THEN
   Print “B negative”                   End
ELSE                                                   3
                          - Cyclomatic complexity: _____
   Print “B positive”
ENDIF                     - Minimum tests to achieve:
                             • Statement coverage: ______
                                                     2
                             • Branch coverage: _____
                                                 2
Yes
                            Read     A<0         Print
 Example 5                          No

Read A
Read B                                     Yes
                                     B<0         Print
IF A < 0 THEN
                                    No
   Print “A negative”
ENDIF
IF B < 0 THEN                        End
   Print “B negative”
ENDIF
                                                    3
                        - Cyclomatic complexity: _____
                        - Minimum tests to achieve:
                                                  1
                           • Statement coverage: ______
                           • Branch coverage: _____
                                               2
Yes
                            Read     A<0         Print
 Example 6                          No

Read A
IF A < 0 THEN                              Yes
                                     A>0         Print
   Print “A negative”
                                    No
ENDIF
IF A > 0 THEN
   Print “A positive”                End
ENDIF

                                                    3
                        - Cyclomatic complexity: _____
                        - Minimum tests to achieve:
                                                  2
                           • Statement coverage: ______
                           • Branch coverage: _____
                                               2
1      2     3               ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                              Contents
                       What is a testing technique?
                       Black and White box testing
                        Black box test techniques
                        White box test techniques
                             Error Guessing
Non-systematic test techniques

    Trial and error / Ad hoc
    Error guessing / Experience-driven
    User Testing
    Unscripted Testing



              A testing approach that is only
            rigorous, thorough and systematic
                       is incomplete
Error-Guessing

    always worth including
    after systematic techniques have been used
    can find some faults that systematic
     techniques can miss
    a „mopping up‟ approach
    supplements systematic techniques


        Not a good approach to start testing with
Error Guessing: deriving test cases

    Consider:
     - past failures
     - intuition
     - experience
     - brain storming
     - “What is the craziest thing we can do?”
1      2     3             ISTQB / ISEB Foundation Exam Practice
      4      5     6
Dynamic Testing Techniques



                   Summary: Key Points
       Test techniques are „best practice‟: help to find faults
            Black Box techniques are based on behaviour
             White Box techniques are based on structure
          Error Guessing supplements systematic techniques

More Related Content

What's hot

ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
Yogindernath Gupta
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
suhasreddy1
 

What's hot (20)

Chapter 5 - Reviews
Chapter 5 - ReviewsChapter 5 - Reviews
Chapter 5 - Reviews
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Chapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of TestingChapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of Testing
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
 
Testing
TestingTesting
Testing
 
Test case techniques
Test case techniquesTest case techniques
Test case techniques
 

Viewers also liked

Istqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singhaIstqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singha
TestingGeeks
 
Istqb question-paper-dump-10
Istqb question-paper-dump-10Istqb question-paper-dump-10
Istqb question-paper-dump-10
TestingGeeks
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011
TestingGeeks
 

Viewers also liked (18)

ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
Topic 5 chapter 3
Topic 5 chapter 3Topic 5 chapter 3
Topic 5 chapter 3
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Istqb foundation level
Istqb foundation levelIstqb foundation level
Istqb foundation level
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
ISTQB REX BLACK book
ISTQB REX BLACK bookISTQB REX BLACK book
ISTQB REX BLACK book
 
Software testing objective_types
Software testing objective_typesSoftware testing objective_types
Software testing objective_types
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
 
ISTQB Syllabus Foundation
ISTQB Syllabus FoundationISTQB Syllabus Foundation
ISTQB Syllabus Foundation
 
Сертификация ISTQB
Сертификация ISTQBСертификация ISTQB
Сертификация ISTQB
 
Learn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation ExamLearn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation Exam
 
Mobility testing overview and instructions
Mobility testing overview and instructionsMobility testing overview and instructions
Mobility testing overview and instructions
 
Istqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singhaIstqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singha
 
Qtp ans
Qtp ansQtp ans
Qtp ans
 
Istqb benefits
Istqb benefitsIstqb benefits
Istqb benefits
 
Genel Bir Ulaştırma Probleminin AMPL İle Çözümü
Genel Bir Ulaştırma Probleminin AMPL İle ÇözümüGenel Bir Ulaştırma Probleminin AMPL İle Çözümü
Genel Bir Ulaştırma Probleminin AMPL İle Çözümü
 
Istqb question-paper-dump-10
Istqb question-paper-dump-10Istqb question-paper-dump-10
Istqb question-paper-dump-10
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011
 

Similar to ISTQB / ISEB Foundation Exam Practice - 4

&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>
Atul Mishra
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
Atul Mishra
 

Similar to ISTQB / ISEB Foundation Exam Practice - 4 (20)

ISTQB, ISEB Lecture Notes- 4
ISTQB, ISEB Lecture Notes- 4ISTQB, ISEB Lecture Notes- 4
ISTQB, ISEB Lecture Notes- 4
 
&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solution
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Test Case Design Techniques
Test Case Design TechniquesTest Case Design Techniques
Test Case Design Techniques
 
Test design technique
Test design techniqueTest design technique
Test design technique
 
Introduction to White box testing
Introduction to White box testingIntroduction to White box testing
Introduction to White box testing
 
Software Testing
Software Testing Software Testing
Software Testing
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTS
 
black-box-1.pdf
black-box-1.pdfblack-box-1.pdf
black-box-1.pdf
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable Requirements
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
Testing
TestingTesting
Testing
 
Blackbox
BlackboxBlackbox
Blackbox
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 

More from Yogindernath Gupta

ISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam PracticeISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam Practice
Yogindernath Gupta
 
Introduction to specification based test design techniques
Introduction to specification based test design techniquesIntroduction to specification based test design techniques
Introduction to specification based test design techniques
Yogindernath Gupta
 

More from Yogindernath Gupta (20)

ISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam PracticeISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam Practice
 
ISTQB Advanced Study Guide - 8
ISTQB Advanced Study Guide - 8ISTQB Advanced Study Guide - 8
ISTQB Advanced Study Guide - 8
 
ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7
 
ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6
 
ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 5
 
ISTQB Advanced Study Guide - 4
ISTQB Advanced Study Guide - 4ISTQB Advanced Study Guide - 4
ISTQB Advanced Study Guide - 4
 
ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 3
 
ISTQB Advanced Study Guide - 2
ISTQB Advanced Study Guide - 2ISTQB Advanced Study Guide - 2
ISTQB Advanced Study Guide - 2
 
ISTQB Advanced – Study Guide -1
ISTQB Advanced – Study Guide -1ISTQB Advanced – Study Guide -1
ISTQB Advanced – Study Guide -1
 
Introduction to specification based test design techniques
Introduction to specification based test design techniquesIntroduction to specification based test design techniques
Introduction to specification based test design techniques
 
Knowledge Levels In Certifications
Knowledge Levels In CertificationsKnowledge Levels In Certifications
Knowledge Levels In Certifications
 
Design Review & Software Testing
Design Review & Software TestingDesign Review & Software Testing
Design Review & Software Testing
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
Tutorial - 16 : How to pass parameters from one script to another by CallScri...
Tutorial - 16 : How to pass parameters from one script to another by CallScri...Tutorial - 16 : How to pass parameters from one script to another by CallScri...
Tutorial - 16 : How to pass parameters from one script to another by CallScri...
 
Tutorial - 14 How to insert a verification point from the script explorer usi...
Tutorial - 14 How to insert a verification point from the script explorer usi...Tutorial - 14 How to insert a verification point from the script explorer usi...
Tutorial - 14 How to insert a verification point from the script explorer usi...
 
A Practical Roadmap To HP QTP Certification
A Practical Roadmap To HP QTP CertificationA Practical Roadmap To HP QTP Certification
A Practical Roadmap To HP QTP Certification
 
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFTUnearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
 
RFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFT
RFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFTRFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFT
RFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFT
 
RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...
RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...
RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...
 
RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...
RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...
RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...
 

Recently uploaded

+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@
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
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
 
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...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

ISTQB / ISEB Foundation Exam Practice - 4

  • 1. Chapter 4 Software Testing ISTQB / ISEB Foundation Exam Practice 1 Principles 2 Lifecycle 3 Static testing 4 Dynamic test 5 Management 6 Tools techniques Dynamic Testing Techniques
  • 2. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  • 3. Why dynamic test techniques?  Exhaustive testing (use of all possible inputs and conditions) is impractical - must use a subset of all possible test cases - must have high probability of detecting faults  Need thought processes that help us select test cases more intelligently - test case design techniques are such thought processes
  • 4. What is a testing technique?  a procedure for selecting or designing tests  based on a structural or functional model of the software  successful at finding faults  'best' practice  a way of deriving good test cases  a way of objectively measuring a test effort Testing should be rigorous, thorough and systematic
  • 5. Advantages of techniques  Different people: similar probability find faults - gain some independence of thought  Effective testing: find more faults - focus attention on specific types of fault - know you're testing the right thing  Efficient testing: find faults with less effort - avoid duplication - systematic techniques are measurable Using techniques makes testing much more effective
  • 6. Measurement  Objective assessment of thoroughness of testing (with respect to use of each technique) - useful for comparison of one test effort to another  E.g. Project A Project B 60% Equivalence 40% Equivalence partitions partitions 50% Boundaries 45% Boundaries 75% Branches 60% Branches
  • 7. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  • 8. Three types of systematic technique Static (non-execution) • examination of documentation, source code listings, etc. Functional (Black Box) • based on behaviour / functionality of software Structural (White Box) • based on structure of software
  • 9. Some test techniques Static Dynamic Reviews etc. Static Analysis Behavioural Inspection Walkthroughs Structural Non-functional Functional Desk-checking etc. etc. Equivalence Control Usability Partitioning Data Flow Flow Performance etc. Boundary Value Analysis etc. Statement Symbolic Cause-Effect Graphing Execution Branch/Decision Arcs Random Definition Branch Condition LCSAJ -Use State Transition Branch Condition Combination
  • 10. Black box versus white box? Black box appropriate Acceptance at all levels but dominates higher levels of testing System White box used predominately Integration at lower levels to compliment Component black box
  • 11. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  • 12. Black Box test design and measurement techniques  Techniques defined in BS 7925-2 - Equivalence partitioning - Boundary value analysis Also a measurement technique? - State transition testing = Yes - Cause-effect graphing = No - Syntax testing - Random testing  Also defines how to specify other techniques
  • 13. Equivalence partitioning (EP) - divide (partition) the inputs, outputs, etc. into areas which are the same (equivalent) - assumption: if one value works, all will work - one from each partition better than all from one invalid valid invalid 0 1 100 101
  • 14. Boundary value analysis (BVA) - faults tend to lurk near boundaries - good place to look for faults - test values on both sides of boundaries invalid valid invalid 0 1 100 101
  • 15. Example: Loan application 2-64 chars. Customer Name Account number 6 digits, 1st non-zero Loan amount requested Term of loan £500 to £9000 Monthly repayment 1 to 30 years Term: Minimum £10 Repayment: Interest rate: Total paid back:
  • 16. Customer name Number of characters: 1 2 64 65 invalid valid invalid Valid characters: A-Z Any -‟ a-z space other Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Customer 2 to 64 chars < 2 chars 2 chars 1 chars name valid chars > 64 chars 64 chars 65 chars invalid chars 0 chars
  • 17. Account number valid: non-zero first character: invalid: zero number of digits: 5 6 7 invalid invalid valid Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Account 6 digits < 6 digits 100000 5 digits number 1st non-zero > 6 digits 999999 7 digits 1st digit = 0 0 digits non-digit
  • 18. Loan amount 499 500 9000 9001 invalid valid invalid Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Loan 500 - 9000 < 500 500 499 amount >9000 9000 9001 0 non-numeric null
  • 19. Condition template Conditions Valid Tag Invalid Tag Valid Tag Invalid Tag Partitions Partitions Boundaries Boundaries Customer 2 - 64 chars V1 < 2 chars X1 2 chars B1 1 char D1 name valid chars V2 > 64 chars X2 64 chars B2 65 chars D2 invalid char X3 0 chars D3 Account 6 digits V3 < 6 digits X4 100000 B3 5 digits D4 number 1st non-zero V4 > 6 digits X5 999999 B4 7 digits D5 st 1 digit = 0 X6 0 digits D6 non-digit X7 Loan 500 - 9000 V5 < 500 X8 500 B5 499 D7 amount >9000 X9 9000 B6 9001 D8 0 X10 non-integer X11 null X12
  • 20. Design test cases Test Description Expected Outcome New Tags Case Covered 1 Name: John Smith Term: 3 years V1, V2, Acc no: 123456 Repayment: 79.86 V3, V4, Loan: 2500 Interest rate: 10% V5 ..... Term: 3 years Total paid: 2874.96 2 Name: AB Term: 1 year B1, B3, Acc no: 100000 Repayment: 44.80 B5, ..... Loan: 500 Interest rate: 7.5% Term: 1 year Total paid: 537.60
  • 21. Why do both EP and BVA?  If you do boundaries only, you have covered all the partitions as well - technically correct and may be OK if everything works correctly! - if the test fails, is the whole partition wrong, or is a boundary in the wrong place - have to test mid- partition anyway - testing only extremes may not give confidence for typical use scenarios (especially for users) - boundaries may be harder (more costly) to set up
  • 22. Test objectives? Condition Valid Tag Invalid Tag Valid Tag Invalid Tag Partition Partition Boundary Boundary  For a thorough approach: VP, IP, VB, IB  Under time pressure, depends on your test objective - minimal user-confidence: VP only? - maximum fault finding: VB first (plus IB?)
  • 23. Decision tables  explore combinations of inputs, situations or events,  it is very easy to overlook specific combinations of input  start by expressing the input conditions of interest so that they are either TRUE or FALSE – record found – policy expired – file exists – account in credit – code valid – due date > current date
  • 24. Example: student access A university computer system allows students an allocation of disc space depending on their projects. If they have used all their allotted space, they are only allowed restricted access, i.e. to delete files, not to create them. This is assuming they have logged on with a valid username and password. What are the input and output conditions?
  • 25. List the input and output conditions • list the „input Input Conditions conditions‟ in the first Valid username column of the table Valid password Account in credit • list the „output Output Conditions conditions‟ under the Login accepted input conditions Restricted access
  • 26. Determine input combinations  add columns to the table for each unique combination of input conditions.  each entry in the table may be either „T‟ for true, „F‟ for false. Input Conditions Valid username T T T T F F F F Valid password T T F F T T F F Account in credit T F T F T F T F
  • 27. Rationalise input combinations  some combinations may be impossible or not of interest  some combinations may be „equivalent‟  use a hyphen to denote “don‟t care” Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T
  • 28. Complete the table  determine the expected output conditions for each combination of input conditions Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T Output Conditions Login accepted F F T T Restricted access - - T F
  • 29. Determine test case groups  each column is at least one test case Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T Output Conditions Login accepted F F T T Restricted access - - T F Tags A B C D
  • 30. Design test cases  usually one test case for each column but can be none or several Test Description Expected Outcome Tag 1 Username BrbU Invalid username A 2 Username Invalid username A usernametoolong 3 Username BobU Invalid password B Password abcd 4 Valid user, no disc Restricted access C space 5 Valid user with disc Unrestricted access D space
  • 31. Rationalising outputs  if outputs or effects are mutually exclusive, I.e. T occurs in only one place in each column, we can combine them  for example: X T F F is equivalent to: Y F T F Z F F T Output X Y Z
  • 32. Rationalising dangers  rationalising is based on assumptions  assumptions may be wrong!  assumptions should be stated  assumptions may change over time  be aware of the dangers - filling in the full table may find errors which will be missed if you rationalise - it is possible to rationalise too far
  • 33. Extending decision tables  Entries can be more than just „true‟ or „false‟ - completing table needs to be done carefully - rationalising becomes more important  E.g. Code = 1, 2, or 3 1 1 1 1 2 2 2 2 3 3 3 3 Exp.date < now T T F F T T F F T T F F Class A product T F T F T F T F T F T F
  • 34. Decision Tables in relation to EP and BVA Input value Output value FALSE TRUE
  • 35. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  • 36. White Box test design and measurement techniques  Techniques defined in BS 7925-2 - Statement testing Also a measurement technique? - Branch / Decision testing = Yes - Data flow testing = No - Branch condition testing - Branch condition combination testing - Modified condition decision testing - LCSAJ testing  Also defines how to specify other techniques
  • 37. Using structural coverage Spec Enough Software tests? Tests Results OK? What's covered? More tests Coverage OK? Stronger structural techniques (different structural elements) Increasing coverage
  • 38. The test coverage trap Function exercised, better testing insufficient structure Functional testedness Structure exercised, insufficient function % Statement % Decision % Condition Combination Structural testedness 100% coverage does Coverage is not not mean 100% tested! Thoroughness
  • 39. Statement coverage Statement coverage is normally measured by a software tool.  percentage of executable statements exercised by a test suite number of statements exercised ? = total number of statements  example: - program has 100 statements - tests exercise 87 statements - statement coverage = 87% Typical ad hoc testing achieves 60 - 75%
  • 40. Example of statement coverage 1 read(a) Test Input Expected 2 IF a > 6 THEN case output 3 b=a 1 7 7 4 ENDIF 5 print b As all 5 statements are „covered‟ by this test case, we have achieved Statement 100% statement coverage numbers
  • 41. Decision coverage Decision coverage is normally measured by a software tool. (Branch coverage)  percentage of decision outcomes exercised by a test suite number of decisions outcomes exercised False = ? total number of decision outcomes True  example: - program has 120 decision outcomes - tests exercise 60 decision outcomes - decision coverage = 50% Typical ad hoc testing achieves 40 - 60%
  • 42. Paths through code 1234 12 12 123 ? ? ? ? ? ?
  • 43. Paths through code with loops 1 2 3 4 5 6 7 8 …. for as many times as it is possible to go round ? the loop (this can be unlimited, i.e. infinite)
  • 44. Wait Example 1 Wait for card to be inserted Yes Valid Display IF card is a valid card THEN card? “Enter.. display “Enter PIN number” No IF PIN is valid THEN Reject Valid Yes Select select transaction PIN? card trans... ELSE (otherwise) No display “PIN invalid” ELSE (otherwise) Display “PIN in.. reject card End End
  • 45. Example 2 Read Read A Yes Yes A>0 A=21 IF A > 0 THEN IF A = 21 THEN No No Print Print “Key” ENDIF ENDIF End 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 1 • Statement coverage: ______ • Branch coverage: _____ 3
  • 46. Example 3 Read Read A Yes No Read B A>0 B=0 Print IF A > 0 THEN No Yes Yes IF B = 0 THEN Print A>21 Print Print “No values” No ELSE Print B IF A > 21 THEN End Print A 4 - Cyclomatic complexity: _____ ENDIF ENDIF - Minimum tests to achieve: ENDIF 2 • Statement coverage: ______ • Branch coverage: _____ 4
  • 47. Yes Read A<0 Print Example 4 No Read A Note: there Print Read B are 4 paths IF A < 0 THEN Yes Print “A negative” B<0 Print ELSE No Print “A positive” Print ENDIF IF B < 0 THEN Print “B negative” End ELSE 3 - Cyclomatic complexity: _____ Print “B positive” ENDIF - Minimum tests to achieve: • Statement coverage: ______ 2 • Branch coverage: _____ 2
  • 48. Yes Read A<0 Print Example 5 No Read A Read B Yes B<0 Print IF A < 0 THEN No Print “A negative” ENDIF IF B < 0 THEN End Print “B negative” ENDIF 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 1 • Statement coverage: ______ • Branch coverage: _____ 2
  • 49. Yes Read A<0 Print Example 6 No Read A IF A < 0 THEN Yes A>0 Print Print “A negative” No ENDIF IF A > 0 THEN Print “A positive” End ENDIF 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 2 • Statement coverage: ______ • Branch coverage: _____ 2
  • 50. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  • 51. Non-systematic test techniques  Trial and error / Ad hoc  Error guessing / Experience-driven  User Testing  Unscripted Testing A testing approach that is only rigorous, thorough and systematic is incomplete
  • 52. Error-Guessing  always worth including  after systematic techniques have been used  can find some faults that systematic techniques can miss  a „mopping up‟ approach  supplements systematic techniques Not a good approach to start testing with
  • 53. Error Guessing: deriving test cases  Consider: - past failures - intuition - experience - brain storming - “What is the craziest thing we can do?”
  • 54. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Summary: Key Points Test techniques are „best practice‟: help to find faults Black Box techniques are based on behaviour White Box techniques are based on structure Error Guessing supplements systematic techniques