Testing consumes and produces large amounts of data. Data describes the initial conditions for a test, forms the input, and is the medium through which the tester influences the software. Data is manipulated, extrapolated, summarized and referenced by the functionality under test, which finally spews forth yet more data to be checked against expectations. Data is a crucial part of most functional testing. This paper sets out to illustrate some of the ways that data can influence the test process, and will show that testing can be improved by a careful choice of input data. In doing this, the paper will concentrate most on data-heavy applications; those which use databases or are heavily influenced by the data they hold. The paper will not consider areas where data is important to non-functional testing, such as operational profiles, massive datasets and environmental tuning.