Why bother with setting up labs?
It may seem that experimenting in a more comprehensive testing environment will always be the best choice once you have your labs built out, but in fact, you may only be adding unnecessary complexities that may divert or completely ruin the test.
Let's take a look at setting up a web server to run a simple web application. We will need to determine what we are testing before we choose our lab environment. Some of the questions that should be asked include:
Are there any specific services that are required to ensure the testing accurately emulates an environment as seen in real world testing?
Load Balancing?
Specific versions of software?
Firewalls?
Are there any factors that will cause the results to be an inaccurate representation of what occurs in true production environments?
Does your lab provide you with the hands-on experience necessary to duplicate your findings in the real world; if not, what needs to be changed to make it so?
Hopefully this quick list...