0% found this document useful (0 votes)
42 views11 pages

Lecture # 8: Software Test Design Techniques

This document discusses techniques for software test design, including equivalence partitioning and boundary value analysis. Equivalence partitioning involves dividing the input domain into equivalence classes and testing one representative from each class. Boundary value analysis selects test cases at the boundaries of equivalence classes, as more errors tend to occur there. Examples are provided to illustrate how to apply these techniques by identifying valid and invalid test cases based on input ranges and boundaries.

Uploaded by

Afnan Mufti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views11 pages

Lecture # 8: Software Test Design Techniques

This document discusses techniques for software test design, including equivalence partitioning and boundary value analysis. Equivalence partitioning involves dividing the input domain into equivalence classes and testing one representative from each class. Boundary value analysis selects test cases at the boundaries of equivalence classes, as more errors tend to occur there. Examples are provided to illustrate how to apply these techniques by identifying valid and invalid test cases based on input ranges and boundaries.

Uploaded by

Afnan Mufti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 11

LECTURE # 8

SOFTWARE TEST DESIGN


TECHNIQUES
Equivalence Partitioning
 Equivalence class is a subset of
data that is representative of a Input
larger class.
 Divide input domain into
Domain
equivalence classes.
 Attempt to cover classes of errors.
 One test case per equivalence
class, to reduce total number of
test cases needed.
Equivalence Partitioning -
Example
A program which accepts credit limits
with a given range say,

$10,000 – $15,000

This would have three equivalence classes:

1. Less than $10,000 (Invalid)


2. Between $10,000 and $15,000 (Valid)
3. Greater than $15,000 (Invalid)
Equivalence Partitions

9800 12500 18000

Less than 10,000 Between 10 and 15 More than 15,000


Equivalence Partitioning
 Guidelines to define equivalence classes:
 Range input : One valid and two invalid equivalence
 Specific value : One valid and two invalid equivalence
 A member of a set : One valid and one invalid
equivalence
 Boolean : One valid and one invalid equivalence
Boundary Value Analysis

A technique that consists of developing test cases


and data that focus on the input and output
boundaries of a given function.

 Complements equivalence partitioning , selects the


test cases at the “edge” of equivalence classes.
In practice, more errors found at boundaries of

equivalence classes than within the classes.


Divide input domain into equivalence classes.
Boundary Value Analysis -
Example
In the same credit limit example, the
boundary analysis would test:
1.Low boundary plus or minus one ($ 9,999
and $10,001)
2.On the boundary ($10,000 and $15000)

3.Upper boundary plus or minus one ($14999


and $15001)
Range of Boundary Values

1. Value immediately below range


2. First value of range
3. Second value of range
4. Value immediately below last value of
range
5. Last value of range
6. Value immediately above range
Example
 In an examination, a candidate has to score a minimum of
33 marks in order to clear the exam. The maximum that
he can score is 100 marks.
 Find the boundary values
 Out of the given inputs, identify the valid only
equivalence values if the student clears the exam.
 22, 23, 26
 21, 39, 40
 35, 36, 37
 1, 50, 100
Example
 Out of the given inputs, identify the invalid only
equivalence values if the student fails the exam.
 22, 23, 26
 40, 41, 42
 32, 33, 34
 89, 90, 91
Error Guessing

Based on the theory that test cases can be


developed based upon the intuition and
experience of the Test Engineer.

In an example where one of the inputs is


the date, the tester may try
February 29, 2000 or 9/9/9999

You might also like