called "variability," and includes elements such as environment, end points, test data, locations, etc.) is separated out from the test logic (scripts) and moved into an 'external asset'. This can be a configuration or test dataset. The logic executed in the script is dictated by the data values. 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. The databases used for data-driven testing can include: Data pools DAO objects ADO objects See also Control table Keyword-driven testing Test automation framework Test-driven development Metadata-driven testing Modularity-driven testing Model-based testing References Carl Nagle: Test Automation Frameworks, Software Automation Framework Support on SourceForge , Data-driven testing approach Software testing