dtgwt
v0.0.1
Published
Simple Decision Table to Given , When and Then
Downloads
2
Maintainers
Readme
dtgwt
Simple Decision Table to "Given" , "When" and "Then"
How to use
- Step 1. Download sample_dt.xlsx
- Step 2. Modify as you like
- Step 3. Go to Table to Markdown
- Step 4. Copy Step 2 to "Paste Table Here!" (Please don't forget about FIRST LINE)
- Step 5. Click "Convert M↓"
- Step 6. Click "Copy"
- Step 8. Go to Dtgwt page
- Step 9. Copy Step 6 to the "textarea"
- Step 10. Click "Scenario output"
- Step 11. Copy "Output Scenarios" as you like
Background
Example App
Now, suppose you have a simple app with one form and two buttons.
- The number "0" is entered as the initial value.
- When the "+" button is clicked, the number is incremented.
- When the "-" button is clicked, the number is decremented.
- The minimum value of the number is "0".
- The maximum value of the number is 255.
- If a non-numeric character is entered, the message "Invalit value" will be displayed.
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.
It should make you annoying right?
Solution
I have created a simple web application to solve the above problem.
~~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.
{% include form.html %}