Top Qs
Timeline
Chat
Perspective
Data-driven testing
From Wikipedia, the free encyclopedia
Remove ads
Data-driven testing (DDT), also known as table-driven testing or parameterized testing, is a software testing technique that uses a table of data to direct test execution by specifying input, expected outputs and test-environment settings.[1][2] The multitude of techniques for testing software co-exist because they differ in the effort required to create and subsequently maintain. One advantage of data-driven testing is the relative ease to cover an additional test case for the system under test by adding a line to a table instead of having to modify test source code.
Often, a table provides a complete set of stimulus input and expected outputs in each row of the table. Stimulus input values typically cover values that correspond to boundary or partition input spaces.
Data-driven testing involves a framework that executes tests based on an input table. The framework provides re-usable test logic to reduce maintenance. Table-driven testing allows for anything that has a potential to change to be segregated from the framework; stored in an external asset. The framework might manage storage of tables and test results in a database such as data pool, DAO and ADO. An advanced framework might harvest data from a running system using a purpose-built tool (sniffer). The DDT framework can playback harvested data for regression testing.
Automated test suites contain user interactions through the system's GUI, for repeatable testing. Each test begins with a copy of the "before" image reference database. The "user interactions" are replayed through the "new" GUI version and result in the "post test" database. The reference "post test" database is compared to the "post test" database, using a tool.[3] Differences reveal probable regression. Navigation the System Under Test user interface, reading data sources, and logging test findings may be coded in the table.
Keyword-driven testing is similar except that the logic for the test case itself is encoded as data values in the form of a set of "action words", and not embedded or "hard-coded" in the test script. The script is simply a "driver" (or delivery mechanism) for the data that is held in the data source.
Remove ads
See also
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads