to reduce the possibility of finding a bug after production we need to define a strategy before starting the test.
I start by asking myself questions. with their answers I draw a graph. from there I start testing.
For example, if I 'm testing a site. Why I'm using this site ? did I need to have an account ? how can I create my account ? from where can I log in ? questions are linked together. this was for the user part. another list of questions will be based on the service given by the site. another will be about communication, with other user or the site itself. etc....
all these questions will give you what you need to define a strategy. At this point, I like to draw a nice big picture and put it on the wall. and believe me, seeing things from a distance make you found what you are missing, so I take some distance and look to find what I missed.
I use the draw to test, and the red pen to barre every part I make.
this method helps me to organise my work, and cover a big part of what I test and make me win times, since I never do a step twice.
If we prepare this draw, this big draw for a group of testers. just one minute, what if this draw was accessible for number of testers who can add things, add area for testing, add a comment...I think I have a nice idea to develop. However, let's go back to our subject, all I want to say is, if we prepare this draw with all detail needed and group of testers use it as a reference, we can make sure that a valuable bug will never be found in production.
The last thing I want to say that the tester is different from the user, different from the player, different from the developers, and that's what make him special. So be a tester.