Test data generation is an important preparatory step in software testing. It calls for a tester’s creativity as much as test case design itself. Focusing on the type of testing to be performed and designing data to support it yields the greatest success in finding defects. For example, security testing largely requires negative test data to attempt to gain access to a system as a hacker would. Localization testing requires very specific test data in the areas of date, time, and currency. Rajini Padmanaban describes how test data generation is a reverse engineering process, where one first focuses on the end goal and then works back to determine what kind of data should be created. Rajini describes data sets for various types of testing, ideas to keep in mind in reusing test data, and sharing data across the product team to save time while not trespassing on the team’s creative thinking.