The aim of the baseline decision table is to make tests easier to read.


Background

The idea of a decision table is to demonstrate how different combinations of input parameters generate different results.
To make the impact of each parameter to the output results transparent it is good practice to modify just one parameter from row to row.
For big tables with many input parameters it is often not immediately visible to the reader which parameter changes from row to row.

Syntax

As a user of the baseline decision table you specify in the first row below the header in each column the values for all input and output parameters.
This defines your base scenario and so far this is 100% identical to a normal decision table.
In all following lines you just specify the values which differ from the base scenario all other columns are left empty.

This makes your table more readable. It is also easier to maintain in case a value must be changed.
Don't repeat yourself is a good rule even when you write test cases. :)

Fixture Code

When the baseline decision table is tested all empty columns are filled by the Slim test system with the corresponding values from the base scenario.
In all other aspects the bahviour is identical to the decision table.
Your fixture code is identical to a decision table. The fixture will not be able to identif any difference between a baseline decision table and a normal decision table.

Example

Let's look at an example which you know already from the Decision Table

Dependencies


import
fitnesse.slim.test


Given I have at least one milk remaining
Then I should NOT go to the store

baseline: should I buy milk
cash in wallet credit card pints of milk remaining go to store?
0 no 1 no
2
7
10
yes
10 yes
1 1


Given I have no milk remaining
And a credit card
Then I should go to the store

baseline: should I buy milk
cash in wallet credit card pints of milk remaining go to store?
0 yes 0 yes
1
2


Given I have no milk remaining
And at least three $
Then I should go to the store

baseline: should I buy milk
cash in wallet credit card pints of milk remaining go to store?
3 no 0 yes
10
7
yes

Given I have no milk remaining
And no credit card
And less then three $
Then I should NOT go to the store

baseline: should I buy milk
cash in wallet credit card pints of milk remaining go to store?
0 no 0 no
1
2


Contents: