The definition of data-driven testing can be defined as a way of running test scripts repeatedly, using data stored in some external file/storage location. Storage location can be any- a database, an XML file, a spreadsheet etc. Each time we need to run the test script, we may do so by using these input data iteratively. This way we can judge the efficiency of an application in handling various inputs.
A graphical view is the best form to understand any scenario. Let's have a look :
One more thing one needs to keep in consideration is the fact that, the data stored in external files that supports sequential storage, enables us to modify it easily. For example, in Microsoft Excel, data is stored in a tabular form, we have various sort mechanisms to store our data in a sequential order. Hence during the process of performing automation tests, one row may be selected or multiple rows. However , we need to mention which are the input values and which are the verifying values. The separation of input data from the test commands makes life simple, as the data is fetched from an external source and not from hard-coded values, makes it logically simple and easy to understand. When we have both input value and verifying data, data driven test performs the following set of operations.
Now, for carrying out an automation test with the help of external source, we have a tool that provides an efficient way to perform data-driven testing. Let us understand data-driven testing in the light of the tool named 'TestComplete'.
TestComplete offers the following ways to create data-driven tests.
A test automation tool is simply a framework or in simple terms it can be thought of as a zone which has its own set of specifications. Automation tool has its own set of coding standards, ways to handle tests, etc.
Few test strategy guidelines :
Hence data-driven automation testing facilitates creation of test scripts with a simplified logic. It definitely enhances test coverage also. The concept of using inputs from external data source proves to be an advantage. The major benefit that it offers is, one has the option of saving input values in any data source of their choice, as our automation framework offers the necessary drivers associated with a specific data source. Thus data-driven testing in automation is quite maintainable and efficient.