Functional Testing
Functional Testing
Lecture 5
01/23/25
1
Last Lecture
Black Box Testing
Boundary Value Testing
Robustness testing
Worst case testing
Robust worst case testing
Weak normal Equivalence Class Testing
Strong normal Equivalence Class Testing
Weak Robust Equivalence Class Testing
Strong Robust Equivalence Class Testing
2
01/23/25
Decision Table Based Testing
Most rigorous techniques.
DT represents and analyze logical
relationships
4 parts
Condition stub
Condition entry
Action stub
Action entries
DT with binary conditions are called
Limited entry DT otherwise extended entry
3
01/23/25
DT contd….
Conditions acts as input
Actions acts as output
DT are declarative
No of test case = no of columns in the
condition entry.
4
01/23/25
Modeling Logic with Decision
Tables
Indifferent Condition
Condition whose value does not affect which action is
taken for two or more rules
Standard procedure for creating decision tables
Name the condition and values each condition can
assume
Name all possible actions that can occur
List all rules
Define the actions for each rule
Simplify the table
5
01/23/25
Decision table for the Triangle
Problem
C1: a,b,c form a triangle NY Y Y Y YY Y Y
C2: a=b? Y Y Y Y NN N N
C3: a=c? Y Y N N YY N N
C4: b=c? Y N Y N YN Y N
a1: Not a triangle X
a2: Scalene X
a3:Isosceles X X X
a4: equilateral X
a5:Imposible X X X
6
01/23/25
Next Date Function
Equivalence Classes/ Conditions
M1 = {month : month has 30 days}
M1 = {month : month has 31 days}
M1 = {month : month is February}
D1 = {day : 1<= day <= 28}
D2 = {day : day = 29}
D3 = {day : day = 30}
D4 = {day : day = 31}
Y1 = {Year : Year is leap}
Y1 = {Year : Year is not leap}
7
01/23/25
Actions For Next Date
A1: Impossible
A2: Increment Day
A3: Reset Day
A4: Increment Month
A5: Reset Month
A6: Increment Year
8
01/23/25
Cause Effect Graph Testing
Technique
Aids in selecting high yield set of test
cases
Beneficial in highlighting incompleteness
and ambiguities in specifications.
9
01/23/25
Process used for deriving Test
Cases
Identify causes and effects in the specification
Convert semantic content of the specification to
Boolean graph linking causes and effects.
Annotate the graph
Convert the graph to limited entry decision table.
Convert the columns of decision table to test
cases
10
01/23/25
Basic Notation for the Graph
Identity Not
C1 e1 C1 e1
C1
C1
V e1
C2 V e1
C2
C3
11
01/23/25
Example:
The characters in column 1 must be an A
or B.
The characters in column 2 must be a
digit.
In this situation, the update is made. If the
character in column 1 is incorrect,
message x is issued. If the character in
column 2 is not a digit, message y is
issued
12
01/23/25
The Causes are:
C1: character in column 1 is A
C2: character in column 1 is B
C3: character in column 2 is a digit
13
01/23/25
The Effects are:
E1: update made
E2: message x is issues
E3: message y is issued
14
01/23/25
CEG
c1 e1
V
c2
e2
c3
e3
15
01/23/25
Draw Cause effect graph for
triangle problem
16
01/23/25
The causes are:
C1: side x is less than sum of sides y and z
C1: side y is less than sum of sides x and z
C1: side z is less than sum of sides x and y
C4: side x is equal to side y
C5 side x is equal to side z
C6 : side y is equal to size z
17
01/23/25
The effects are:
E1: Not a triangle
E2: Scalene triangle
E3: Isosceles triangle
E4: Equilateral Triangle
E5: Impossible
18
01/23/25