Your SlideShare is downloading. ×
Swe3643 2006 Decision Table Based Testing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Swe3643 2006 Decision Table Based Testing

2,241
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,241
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Decision Table Based Testing
    • Decision table is based on logical relationships just as the truth table.
    • Decision Table is a tool that helps us look at the combination of conditions
      • Completeness of conditions
      • Inconsistency of conditions
  • 2. Components of a Decision Table C1 C2 C3 a1 a2 a3 a4 a5 T T T T F F F F T T F F T T F F T F T F T F T F x x x x x x x x x x x x x x conditions actions values of conditions actions taken R1 R2 R3 R4 R5 R6 R7 R8 rules Read a Decision Table by columns of rules : R1 says when all conditions are T, then actions a1, a2, and a5 occur
  • 3. Conditions in Decision Table
    • The conditions in the decision table may take on any number of values . When it is binary , then the decision table conditions are just like a truth table set of conditions.
    • The decision table allows the iteration of all the combinations of values of the condition, thus it provides a “completeness check.”
    • The conditions in the decision table may be interpreted as the inputs of the table , and the actions may be thought of as outputs of the table .
    How do you decide how many rules must exist ----- use this to check against Requirements Doc.?
  • 4. Conditions?
    • While you get the conditions from the requirement statements, what exactly do you look for?
      • Requirement statement that talks about inputs
      • Requirement statement that talks about processing
      • Requirement statement that talks about outputs
      • Requirement statement that talks about criteria
  • 5. Triangle Problem Example (“short” form)
    • a < b + c
    • b < a + c
    • c < a + b
    • a = b
    • a = c
    • b = c
    • Not triangle
    • Scalene
    • Isosceles
    • Equilateral
    • “ impossible”
    F T T T T T T T T T T - F T T T T T T T T T - - F T T T T T T T T - - - T T T T F F F F - - - T T F F T T F F - - - T F T F T F T F X X X X X X X X X X X Note the Impossible cases Pick input set, <a, b, c>, for each of the columns, or rules, below Assume a, b and c are all between 1 and 200 R1 R2 R3 R4 R5 R7 R6 R9 R8 R11 R10 Explain?
  • 6. How Many Test Cases for Triangle Problem?
    • There is the “invalid” situation --- Not a Triangle :
      • There are 3 test conditions in the Decision table
      • Note the “-” entries, which represents “don’t care,” when it is determined that the input sides <a, b, c> do not form a triangle
    • There is the “valid” situation ---- A Triangle :
      • There are 3 types of valid; so there are 2 3 = 8 test conditions
      • But there are 3 “impossible” situations
      • So there are only 8 – 3 = 5 test conditions
    • So, for valid values of a, b, and c, we need to come up with 8 sets of <a, b, c> to test the ( 3 + 5 ) = 8 test conditions .
    Also, note that as we logically thought through this, it made us “look at’ the Requirement statement s more carefully.
  • 7. Calendar Next-Date Problem
    • The Calendar next-date problem has many constraints, one of which deals with the value of the month:
      • Condition 1 : 1 <= month <= 12
      • Condition 2 : month < 1
      • Condition 3 : month > 12
  • 8. A Decision Table for Next-Date Condition 1 Condition 2 Condition 3 Month input T T T T F F F F T T F F T T F F T F T F T F T F There are 2 3 = 8 test conditions (8 columns) for the month value. But ------- are these really “independent” conditions ?
  • 9. Decision Table for Next-Date Condition 1 Condition 2 Condition 3 Month input T T T T F F F F T T F F T T F F T F T F T F T F Remember : Condition 1: 1 < = m <= 12 Condition 2: m < 1 Condition 3: m > 12 R1 R2 R3 R4 R5 R6 R7 R8 Note that: a) If condition 1 is true, then conditions 2 and 3 must both be false. So Rules 1 – 4 is reduced to just R4. b) If condition 1 is false, then only one of the conditions 2 / 3, not both, can be true. So, rule R5 can be eliminated. c) Not all three conditions can be false. So rule R8 can be eliminated. That leaves only 3 conditions ---- R4, R6, and R7 (resembles “exclusive OR” ?! ) √ √ √
  • 10. Decision Table for Next-Date with Actions Condition 1 Condition 2 Condition 3 Month input T T T T F F F F T T F F T T F F T F T F T F T F Remember : Condition 1: 1 < = m <= 12 Condition 2: m < 1 Condition 3: m > 12 R1 R2 R3 R4 R5 R6 R7 R8 √ √ √ Action 1 Action 2 - - - X - X X - - - X X - - - - Note that R3 has an action defined in the Decision Table. This should trigger a question because the condition can not happen. There should be no action defined for R3 ---- perhaps, a Specification error ? Assume actions defined in the requirements doc.
  • 11. Advantages/Disadvantages of Decision Table
    • Advantages:
      • Allow us to start with a “complete” view, with no consideration of dependence
      • Allow us to look at and consider “dependence,” “impossible,” and “not relevant” situations and eliminate some test cases.
      • Allow us to detect potential error in our Specifications
    • Disadvantages:
      • Need to decide (or know) what conditions are relevant for testing - - - this may require Domain knowledge
        • e.g. need to know leap year for “next date” problem in the book
      • Scaling up can be massive: 2 n rules for n conditions - - - that’s if the conditions are binary