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?
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
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!
Abstract Test Case
Create a test case that meets your testing objective for one of the options you have in mind.
Identify which data in the test case you want to vary and replace it with parameters.
Create a table with columns for each parameter and fill in the first row with replaced values.
Extend the data table by the data combinations you need.
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.
„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.“
„Seperating programming logic from concrete data is daily development work. It's great that I can do the same with my test cases.“
„With data-driven testing, I can reduce the cost of testing in my project without lowering the quality.“
„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.“
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.
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.
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.
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.
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.
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.
Then continue testing until each concrete test case is executed.