So, I was just reading an article detailing the account of how Osama bin Laden was killed. You can read it for yourself here. What struck me in reading it was when they explained why the helicopter crashed into the courtyard on initial entry. To make a long story short, when they set up a simulation for the Navy SEALs to practice on, the fence was chain link. The actual compound had solid walls. The problem is that the former allows the rotor wash to dissipate. The latter doesn't, and it causes interference with the helicopter. So, the testing conditions and the actual conditions were not the same. As a result, the live run didn't go like the tests had. Fortunately, the pilot was quick on his feet and was able to salvage the mission.
We as IT professionals can learn from this. When you test something, try your best to make the testing environment as much like the production environment as possible. OS patch level, size, quality of data, etc can all affect performance in one way or another. You can try to predict how, but often times it's just easier to simulate your situation as accurately as possible. Because if you don't, you may find yourself crashing into a wall. Will you be able to recover?