Software development

Decision Table Technique in Black Box Testing

By 27 October 2022July 16th, 2023No Comments

Testers can use decision table testing to test the results of several input combinations and software states. We can conclude that using Decision Tables proves to be a fundamental technique in Software testing. As we saw with the example above, decision table testing is vital for breaking down all the combinations and expected behavior in software development.

  • The table has highlighted a combination that was not mentioned in the specification for this example.
  • It provides complete coverage of test cases which help to reduce the rework on writing test scenarios & test cases.
  • You can use this approach in a variety of scenarios and contexts.
  • Decision tables are an exact and compact approach to model complex logic.
  • Test the technique by picking areas with fewer business rules.

This table can be used as the reference for the requirement and for functionality development since it is easy to understand and cover all the combinations. Below is the decision table of the program for determining the largest amongst three numbers in which its input is a triple of positive integers and values are from the interval . Here are some of the common notations used for decision tables.

Black-box testing: how to make the most of specification and requirements

For instance, you can use Excel to create decision tables with formulas, macros, and add-ins, such as the Decision Table Creator. FitNesse is a wiki-based tool that allows for writing and running acceptance tests with decision tables by using the Decision Table fixture. Alternatively, Hexawise is a cloud-based tool that helps to create decision tables and optimize them using pairwise testing and combinatorial testing techniques. It also generates test cases and test scripts that can be exported to various formats and tools such as Excel, Jira, HP ALM, and Cucumber.

decision table testing

The Decision table is a highly effective tool utilized for both requirements management and complex software testing. Through this table, we can check and verify all possible combinations of testing conditions. The testers can quickly identify any skipped needs by reviewing the True and False values assigned for these conditions. Decision Table Testing is a software testing methodology used to test system behaviour for various input combinations.

Types of Testing

The 20% action is an assumption on our part, and we should check that this assumption is correct, by asking the person who wrote the specification or the users. We may choose to test each rule/combination and if there are only a few this will usually be the case. However, if the number of rules/combinations is large we are more likely to sample them by selecting a rich subset for testing. The final step of this technique is to write test cases to exercise each of the four rules in our table. Now, we make slight change in this example, so that the customer is not allowed to enter both repayment and term. Now the outcome of our table will change, because there should also be an error message if both are entered, so it will look like Table 4.6.

decision table testing

It provides complete coverage of test cases which help to reduce the rework on writing test scenarios & test cases. There are four steps that we follow to create a Decision table. Subsequently, let’s have a look at these steps based on the above scenario. Saves the time and energy of the testers to rewrite test cases and scenarios. Serves as a beneficial approach for the developers in the development process.

We have 200+ full-stack agile software experts ready to support your business

Not only are decision tables useful in stating complex business rules, but these tables are also helpful for testers who want to understand how different combinations of inputs affect the output. A Decision Table is a tabular representation of inputs versus rules/cases/test conditions. It is a very effective tool used for both complex software testing and requirements management.

decision table testing

Testing combinations can be a challenge, as the number of combinations can often be huge. Testing all combinations may be impractical if not impossible. We have to be satisfied with testing just a small subset of combinations but making the choice of which combinations to test and which to leave out is also important. If you do not have a systematic way of selecting combinations, an arbitrary subset will be used and this may well result in an ineffective test effort. Express conditions and resulting actions in a list so that they are either TRUE or FALSE. In this case there are two conditions, “withdrawal amount ≤ balance” and “credit granted”.

What is Decision Table in Software Testing?

Allow user to login only when both the ‘User ID’ and ‘Password’ are entered correct. Case 4 – Username and password both were correct, and the user is navigated to the homepage. Therefore, the table created at the first iteration is used as the input table for the next tables. The iteration is done only if the initial table is not satisfactory. It assists in the development process with the developer to do a better job. I’M LAKSHAY SHARMA AND I’M A FULL-STACK TEST AUTOMATION ENGINEER. Have passed 16 years playing with automation in mammoth projects like O2 , Sprint , TD Bank , Canadian Tire , NHS & ASOS.

Next we will identify all of the combinations of True and False (see Table 4.3). With two conditions, each of which can be True or False, we will have four combinations . If you enter both, the system will make a compromise between the two if they conflict.

Step-by-step Example of Decision Table Testing

Boundary value and analogous partition are two more related strategies used in Software Engineering to provide greater coverage. They’re utilized when a system’s behavior is consistent over a wide number of inputs. However, in a system with varied system behavior for each set of input values, the boundary value and equivalent partitioning techniques are ineffective https://www.globalcloudteam.com/glossary/decision-table/ in guaranteeing appropriate test coverage. When you provide the proper username and incorrect password and click Login, the user should see an error message. If any one of the above conditions fails, the system will display the corresponding error messages about the issue. If all conditions are satisfied, the photo will be uploaded successfully.

decision table testing

Note that if more than one action results from any of the combinations, then it would be better to show them as separate rows rather than combining them into one row. You might notice now that there is only one ‘Yes’ in each column, i.e. our actions are mutually exclusive – only one action occurs for each combination of conditions. Case 3, 9, 10, and 15 cannot occur because, when an email is invalid, it cannot be saved in the database, so we can delete those cases. The next cases to be removed are 4, 7, 11, and 14 – if the email is not saved in the database, it cannot be blocked. We can also combine cases 1 and 5 if the email is invalid (it doesn’t matter if the password is). Let’s see what the table looks like now, after simplifying and removing a few cases.

Explore Our Software Development Free Courses

This technique can make sure of good coverage, and the representation is simple so that it is easy to interpret and use. Overall, https://www.globalcloudteam.com/ provides the freedom to insert numerous inputs, is easy to understand, and is suitable for small and large organizations. You can easily create a decision table for testing the traffic light system. The table below shows the inputs like the working state of every traffic light in the area, signs at the traffic light, and the presence of traffic police. Further, the actions tell whether the traffic lights, priority signs, or the traffic police regulate the traffic.