0
Upcoming SlideShare
×

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.
Standard text messaging rates apply

Swe3643 2006 Decision Table Based Testing

2,288

Published on

Published in: Technology, Education
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
2,288
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
52
0
Likes
0
Embeds 0
No embeds

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.