Data relevance versus data accessibility
Controlling the test data, or the state of our environment, is a continuous battle of how relevant our data is versus how easily accessible it is. Relevance is a scale of how closely our environment mimics our production environment. Accessibility is a scale of how easy it is to control the data in a given environment. Each of the environments we will test will fall somewhere in between these two scales. The following graph is a rough representation of this idea:
In this graph, points higher up on the y axis mimic production data the closest. Conversely, the lower points do not resemble production at all. The x axis represents the ability to have control on our data and environment, with the rightmost point having full control and leftmost point having close to zero control.
Testing our application on a localhost will yield some of the most consistent results, as we have full and total control over every variable. But this comes at a cost; our tests...