Testing of database-intensive applications has unique challenges that stem from hidden dependencies, subtle differences in data semantics, target database schemes, and implicit business rules. These challenges become even more difficult when the application involves integrated and heterogeneous databases or confidential data. Proper test-data that simulate real-world data problems are critical to achieving reasonable quality benchmarks for functional input-validation, load, performance, and stress testing. In general, techniques for creating test-data fall in two broad areas, namely, test-data generation and test-data extraction, that differ significantly in their basic approach, run-time performance, and the types of data they create. Test-data generation relies on generation rules, grammars, and pre-defined domains to create data from scratch. Test-data extraction takes sample data from existing production databases and manipulates that data for testing purposes, while trying to maintain the natural characteristics of the data. This title provides novel test-data extraction techniques and compares it with competing test-data generation.