What is Data Driven Framework
The goal of the data-driven architecture is to isolate the logic of the test scripts from the test data. enables us to feed various test data sets to test automation scripts to construct them. The test data set is stored in external resources or files, including XML files, SQL databases, Microsoft Excel Sheets, and Microsoft Access Tables. To obtain test data, the test scripts establish a connection with the external resources. We could quickly and simply make the test scripts function correctly for various test data sets by utilizing this framework. Comparing this framework to a modular-based framework, the amount of test scripts is substantially lower.
Why Data Driven Framework
We typically store all of the test data in excel sheets that we use for test runs. Let's say we have to execute a test script with multiple test data sets (say, login test). It takes a lot of effort and is prone to error to manually run the same test on several test data sets. We see a real-world example in the following section.
To put it another way, we use the Data Driven Framework when we need to run the same script on different sets of test data.
Advantages of using Data Driven Test Framework
- Re-usability of code
- Improves test coverage
- Faster Execution
- Less maintenance
- Permits better error handling
What is Apache POI
The Apache Software Foundation created and released Apache POI, an open source library that allows users to manipulate or create Microsoft Office files with Java programs. This well-known API enables Java programs to manipulate Excel files. In summary, Java allows you to read and write Microsoft Excel files. Your Java Excel solution is Apache POI.
If you needed to read or write an Excel file using Java (XLS), you would use HSSF. If you need to read or write an OOXML Excel file using Java (XLSX), you would utilize XSSF. Numerous predefined classes, methods, and interfaces are included.
Best practices of Data Driven testing:
Below given are Best testing practices for Data-Driven testing:
- It is ideal to use realistic information during the data-driven testing process
- Test flow navigation should be coded inside the test script
- Drive virtual APIs with meaningful data
- Use Data to Drive Dynamic Assertions
- Test positive as well as negative outcomes
- Repurpose Data Driven Functional Tests for Security and Performance
Advantages of Data-Driven testing
Data-Driven offer many advantages some of them are:
- Allows to test application with multiple sets of data values during Regression testing
- Test data and verification data can be organized in just one file, and it is separate from the test case logic.
- Base on the tool, it is possible to have the test scripts in a single repository. This makes the texts easy to understand, maintain and manage.
- Actions and Functions can be reused in different tests.
- Some tools generate test data automatically. This is useful when large volumes of random test data are necessary, which helps to save the time.
- Data-driven testing can perform any phase of the development. A data-driven test cares are generally merged in the single process. However, it can be used in multiple test cases.
- Allows developers and testers to have clear separation for the logic of their test cases/scripts from the test data.
- The same test cases can be executed several times which helps to reduce test case and scripts.
- Any changes in the test script do not effect the test data
Disadvantages of Data Driven testing:
Some Drawbacks of Data Driven Automation Testing method are:
- Quality of the test is depended on the automation skills of the Implementing team
- Data validation is a time-consuming task when testing large amount of data.
- Maintenance is a big issue as large amount of coding needed for Data-Driven testing.
- High-level technical skills are required. A tester may have to learn an entirely new scripting language.
- There will be more documentation. Mostly related to scripts management tests infrastructure and testing results.
- A text editor like Notepad is required to create and maintain data files.
Conclusion:
- A test automation framework known as "data-driven" keeps test data in a distributed spreadsheet or table format.
- Data sources such as databases, XML, CSV, and Excel files can be used as one or more data sources for input data in a data-driven test automation framework.
- Making a unique test for every data set takes a lot of effort and time. This problem is solved by the Data Driven Testing framework, which keeps the data apart from the functional tests.
- doing realistic data is the best option when doing Data Driven Testing.
- During regression testing, it permits the use of numerous sets of data values in the testing application.
- This method's dependence on the Implementing team's automation expertise is a drawback.