In reference to the point mentioned in the post titled "Equivalence Class Testing", we decided to use decision tables to test the program as part of our project in order to test the different combinations of inputs and study their resulting outputs. This would be a more efficient way of testing the rules that govern the underlying logic of the program and how effectively those rules were implemented.
*Note: We started to cover decision tables as part of a group. After it was decided that doing equivalence classes would be more of a hindrance than a help, I was given the task of taking over and finishing up on decision tables - mainly do up the table, create the test cases, run the tests and document them.
Plan:
- List conditions and actions
- Draw out table
- Design test cases
- Run tests
- Write up conclusion
Considering the specification of the program, we came up with the following conditions:
where s = steps, the first input and ln = nth location
- s has to be greater than 1 (s > 1)
- s has to be a member of the Natural number family set (s ∈ N) in that it has to be a whole positive numerical integer.
- The number of locations must equal the value of steps for the program to terminate (s = n in the end)
- Each subsequent location (ln) must be greater than the previous (Ln > Ln-1)
- Each value entered for any location must be positive (Ln > 0)
- Each value entered for any location must be a member of the Natural number family set (Ln ∈ N) in that it has to be a whole positive numerical number.
We then considered the following actions:
- Print an appropriate error message:
- Error Message: Invalid input (# steps must be greater than 1)
- Error Message: Invalid input (not an integer)
- Error Message: Invalid Input (must be positive)
- Error Message: Invalid Input (must be greater than previous)
- Prompt the user for a valid input
- Print the valid output
We concluded that these six conditions and the various actions would be enough to cover the different combinations of inputs and outputs. In terms of drawing out the actual table, we decided to try it out on paper.
![]() |
Initial Draft
|
![]() |
| Draft with all combinations - 64 columns of possible combinations of rules |

