Presented to
Dr. Ghazy Assassa
Benha University, Shoubra faculty of
engineering, Department of computer engineering,
Software Engineering course.
March 2013
By : Mohamed Mahmoud El-shenawy
 A test design technique basically helps us to select a
good set of tests from the total number of all possible
tests for a given system.
 There are two main categories:
1. Static technique
2. Dynamic technique
i. Specification-based (black-box, also known as
behavioral techniques)
ii. Structure-based (white-box or structural techniques)
iii. Experience- based
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
Static Dynamic
Structural
Behavioural
FunctionalNon-functional
Reviews
Walkthroughs
Desk-checking
Data
Flow
Symbolic
Execution
Definition
-Use
Statement
Branch/Decision
Branch Condition
Branch Condition
Combination
LCSAJ
Arcs
Equivalence
Partitioning
Boundary
Value Analysis
Cause-Effect Graphi
Random
Usability
Performance
Static AnalysisInspection
Control
Flow
etc.
etc.
etc.
etc.
etc
State Transition
 There are four specification-based or black-box
technique:
 Equivalence partitioning
 Boundary value analysis
 Decision tables
 State transition testing
 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
1 100 1010
valid invalidinvalid
 faults tend to lurk near boundaries
 good place to look for faults
 test values on both sides of boundaries
1 100 1010
valid invalidinvalid
Customer Name
Account number
Loan amount requested
Term of loan
Monthly repayment
Term:
Repayment:
Interest rate:
Total paid back:
6 digits, 1st
non-zero
£500 to £900
1 to 30 years
Minimum £
2-64 chars.
5 6 7
invalid
valid
invalid
number of digits:
first character:
invalid: zero
valid: non-zero
Conditions Valid
Partitions
Invalid
Partitions
Valid
Boundaries
Invalid
Boundaries
Account
number
6 digits
1st
non-zero
< 6 digits
> 6 digits
1st
digit = 0
non-digit
100000
999999
5 digits
7 digits
0 digits
 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
 explore combinations of inputs, situations or events,
 it is very easy to overlook specific combinations of
input
 Decision tables provide a systematic way of stating
complex business rules, which is useful for developers
as well as for testers.
 they help testers explore the effects of combinations of
different inputs and other software states that must
correctly implement business rules.
 If you are a new customer and you want to open a
credit card account then there are three conditions
first you will get a 15% discount on all your purchases
today, second if you are an existing customer and you
hold a loyalty card, you get a 10% discount and third if
you have a coupon, you can get 20% off today (but it
can’t be used with the ‘new customer’ discount).
Discount amounts are added, if applicable.
 A state transition model has four basic parts:
 The states that the software may occupy (open/closed or
funded/insufficient funds);
 The transitions from one state to another (not all
transitions are allowed);
 The events that cause a transition (closing a file or
withdrawing money);
 The actions that result from a transition (an error
message or being given your cash).
 Figure 4.2 below, shows an example of entering a
Personal Identity Number (PIN) to a bank account.

Test design techniques

  • 1.
    Presented to Dr. GhazyAssassa Benha University, Shoubra faculty of engineering, Department of computer engineering, Software Engineering course. March 2013 By : Mohamed Mahmoud El-shenawy
  • 2.
     A testdesign technique basically helps us to select a good set of tests from the total number of all possible tests for a given system.  There are two main categories: 1. Static technique 2. Dynamic technique i. Specification-based (black-box, also known as behavioral techniques) ii. Structure-based (white-box or structural techniques) iii. Experience- based
  • 3.
    Static (non-execution) • examinationof documentation, source code listings, etc. Functional (Black Box) • based on behaviour / functionality of software Structural (White Box) • based on structure of software
  • 4.
    Static Dynamic Structural Behavioural FunctionalNon-functional Reviews Walkthroughs Desk-checking Data Flow Symbolic Execution Definition -Use Statement Branch/Decision Branch Condition BranchCondition Combination LCSAJ Arcs Equivalence Partitioning Boundary Value Analysis Cause-Effect Graphi Random Usability Performance Static AnalysisInspection Control Flow etc. etc. etc. etc. etc State Transition
  • 5.
     There arefour specification-based or black-box technique:  Equivalence partitioning  Boundary value analysis  Decision tables  State transition testing
  • 6.
     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 1 100 1010 valid invalidinvalid
  • 7.
     faults tendto lurk near boundaries  good place to look for faults  test values on both sides of boundaries 1 100 1010 valid invalidinvalid
  • 8.
    Customer Name Account number Loanamount requested Term of loan Monthly repayment Term: Repayment: Interest rate: Total paid back: 6 digits, 1st non-zero £500 to £900 1 to 30 years Minimum £ 2-64 chars.
  • 9.
    5 6 7 invalid valid invalid numberof digits: first character: invalid: zero valid: non-zero Conditions Valid Partitions Invalid Partitions Valid Boundaries Invalid Boundaries Account number 6 digits 1st non-zero < 6 digits > 6 digits 1st digit = 0 non-digit 100000 999999 5 digits 7 digits 0 digits
  • 10.
     If youdo 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
  • 11.
     explore combinationsof inputs, situations or events,  it is very easy to overlook specific combinations of input  Decision tables provide a systematic way of stating complex business rules, which is useful for developers as well as for testers.  they help testers explore the effects of combinations of different inputs and other software states that must correctly implement business rules.
  • 12.
     If youare a new customer and you want to open a credit card account then there are three conditions first you will get a 15% discount on all your purchases today, second if you are an existing customer and you hold a loyalty card, you get a 10% discount and third if you have a coupon, you can get 20% off today (but it can’t be used with the ‘new customer’ discount). Discount amounts are added, if applicable.
  • 13.
     A statetransition model has four basic parts:  The states that the software may occupy (open/closed or funded/insufficient funds);  The transitions from one state to another (not all transitions are allowed);  The events that cause a transition (closing a file or withdrawing money);  The actions that result from a transition (an error message or being given your cash).
  • 14.
     Figure 4.2below, shows an example of entering a Personal Identity Number (PIN) to a bank account.