• For me, testing in production is only considered an option in extreme cases and never would be part of a normal development lifecycle plan. I like to restore production backups into my dev environments periodically. In some cases I have had to develop a data-scrub process to run post-restore to maintain PCI compliance. For VLDBs sometimes a periodic restore was not practical. In those cases I would cherry-pick specific tables to refresh from prod (scheduled SSIS or bcp job to output a table to a file that I could use the next day for testing) during a maintenance window to get fresh data to test with.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato