Skip to the content.

Node.js CI

dtgwt

Simple Decision Table to “Given” , “When” and “Then”

How to use

ezgif.com-gif-maker.gif

Background

Example App

Now, suppose you have a simple app with one form and two buttons.

ezgif.com-gif-maker.gif

Decision table

You have written the following decision table (or something like it) to test this app.

                       
Condition                      
  Initial input is “0” Y Y             Y Y
  Initial input is “1”     Y Y            
  Initial input is “254”         Y Y        
  Initial input is “255”             Y Y    
Action                      
  Click “+” Y   Y   Y   Y      
  Click “-“   Y   Y   Y   Y    
  Modify Initial input to “AB”                 Y  
  Modify Initial input to “1%”                   Y
Result                      
  Input 1 0 2 1 255 253 255 254 0 0
  Error Message N/A N/A N/A N/A N/A N/A N/A N/A Invalid Input Invalid Input

Problem happened

However, your test management tool only accept to import scenario-based format as shown below. you needs to be converted to the following format

Scenario No Test conditions Step description Step expected result  
1 Given Initial input is “0” When Click “+” Then Input:1 and Error Message:N/A  
2 Given Initial input is “0” When Click “-“ Then Input:0 and Error Message:N/A  
3 Given Initial input is “1” When Click “+” Then Input:2 and Error Message:N/A  
4 Given Initial input is “1” When Click “-“ Then Input:1 and Error Message:N/A  
5 Given Initial input is “254” When Click “+” Then Input:255 and Error Message:N/A  
6 Given Initial input is “254” When Click “-“ Then Input:253 and Error Message:N/A  
7 Given Initial input is “255” When Click “+” Then Input:255 and Error Message:N/A  
8 Given Initial input is “255” When Click “-“ Then Input:254 and Error Message:N/A ’,
9 Given Initial input is “0” When Modify Initial input to “AB” Then Input:0 and Error Message:Invalid Input  
10 Given Initial input is “0” When Modify Initial input to “1%” Then Input:0 and Error Message:Invalid Input  

The only way to do this is to create a new tab in the xlsx containing the decision table and convert it one by one by your hands.

ezgif.com-gif-maker (1).gif

It should make you annoying right?

image.png

Solution

I have created a simple web application to solve the above problem.

ezgif.com-gif-maker (2).gif

The input is also in markdown, which is really not very user-friendly (lol). I’ll make a tool that converts xlsx to markdown to solve this problem later on. (Solved 2022 Feb 13th have a look here)

You can find the source code here The demo application is here

I made this in about two hours in mess. If you notice anything, please give me your pull request for anytime.

Playground

Example App

Input(format should be Markdown)

Output Table

Output Scenarios