Data-Driven Testing - Let the Data Do All Your Testing

Data-Driven Testing

Let the Data Do All Your Testing

Data-driven testing is a useful testing approach if you need to rapidly and efficiently design test cases in multiple variations with different sets of input data and expected results. Use TestBench's data-driven testing extension as the hub to control manual or automated data-driven testing.

It's all about data

What is Data-Driven Testing?

The concept of data-driven testing – also called table-driven testing – is about separating the test data from the test steps. Without data-driven testing, the test steps typically contain every value necessary to be run. Data-driven testing uses placeholders for the values, which can be varied to define different test cases. For the test execution, the placeholders are replaced by specific values provided in data tables that may also include the expected results.

Concise

Scalable

Reusable

Fast

Efficient

Convenient

Benefits of Data-Driven Testing

Keep data and logic separated

Benefits of Data-Driven Testing

Often there are multiple data sets for a sequence of test steps. But creating individual test cases for each set of data is time-consuming and inefficient. Data-driven testing overcomes that issue.

You can rapidly define a large volume of test cases, especially if they only differ in detail. Data-driven testing provides a reusable test logic separated from test data. That makes it easy to maintain your test cases. Additionally, you can comfortably reach proper test coverage. Changes either in the test logic or the test data will not affect the other, making modifying a breeze. Data-driven testing also reduces the risk of unnecessary duplicates and redundancy of test cases and automated test scripts.

Data-Driven Testing Scenarios

Data-Driven Testing Scenarios

When to Use Data-Driven Testing?

Data-driven testing is most useful for tests that have a similar structure but use different data, for example, for test cases created by test techniques like equivalence partitioning, boundary value analysis, or other similar test approaches.

Use data-driven testing if you are facing one of the following scenarios:

  • You have to test multiple variations of the same use case or workflow.
  • You have an existing test case and want to increase its test coverage by adding test data variants.
  • You want to check behavior on invalid input data by adding test data rows containing invalid input values.

In addition to validating that your application works as expected, data-driven tests can also be used to populate databases, e.g., for load and performance testing.

How does data-driven testing work?

One, Two, Three, Data!

01

Abstract Test Case

Create a test case that meets your testing objective for one of the options you have in mind.

02

Parameters

Identify which data in the test case you want to vary and replace it with parameters.

03

Table

Create a table with columns for each parameter and fill in the first row with replaced values.

04

Test Data

Extend the data table by the data combinations you need.

05

Concrete Test Case

By combining the abstract test case and test data, you get one concrete test case for each table row.

Who benefits from Data-Driven Testing?

Everything is Data – Data is for Everyone

Data-driven testing is a test design method done by anyone creating test cases, typically by test managers and test analysts. However, the application of data-driven testing also supports other persons involved in testing, e.g. when executing tests and when implementing automated tests.

Test Manager

„With data-driven testing, the tests are easy to maintain as I can add, delete, or modify either the test data or the steps in the test case itself.“

Software Developer

„Seperating programming logic from concrete data is daily development work. It's great that I can do the same with my test cases.“

Project Manager

„With data-driven testing, I can reduce the cost of testing in my project without lowering the quality.“

Tester

„Instead of reading many different but almost identical test cases and figuring out the differences on my own, it is sufficient to read a single test procedure.“

Automated Data-Driven Testing

Connect Test Automation Scripts via API

Automated Data-Driven Testing

Connect test automation scripts or frameworks like Robot Framework, Selenium, or Cypress via API to TestBench and execute your data-driven tests automatically. TestBench provides the data table with one call. Return the executions with the results back to TestBench for a quick and easy review.

Get an insight

Why TestBench Is the Best Tool for Data-Driven Testing

TestBench's data-driven testing extension is the pivotal point for manual or automated data-driven testing. Documentation of test data, all test executions, and the test results are available in one tool.

Transparency

DDT in TestBench is much more than only adding data tables. TestBench supports you in designing your tests. All derived concrete test cases can be viewed at any time. Beyond that, you can immediately see how your changes - whether in data or the original abstract test case - affect the resulting concrete test case.

Smart Handling

With TestBench, data-driven testing is not dependent on the automation skills of your team members, nor does it require learning a new scripting language. You define the parameters; TestBench creates the tables where you enter your test data.

Consistent Documentation

All data, documents, and the workflow of the data-driven tests are available for everyone in TestBench. Any changes, all executions, and the results are always up to date.

Manual or Automated

If your amount of test data is manageable, start with manual data-driven testing. If your application to be tested grows, and your test data is getting bigger, consider automation. TestBench supports both options.

Data-Driven Testing - Design

Design

Create one abstract test case that illustrates the workflow you want to test. Choose what is to be replaced by variable data. These so-called parameters in the abstract test case are reflected as the headers for your table columns.

Data-Driven Testing - Fill

Fill

Enter your concrete test data into the table. For each set of data, one concrete test case is instantly created. Execute the first concrete test cases and verify the results.

Data-Driven Testing - Repeat

Repeat

Then continue testing until each concrete test case is executed.

Data-Driven Testing - Smart test management tool

The Smart Test Management Tool

Sign up for the free TestBench Basic Version and start data-driven testing right now.