1. A computer implemented method for providing access to a virtual test environment, the method comprising: receiving, at a configuration server, a first request for access to a first virtual test environment, the first request being received from a first client device over a network and specifying one or more configuration options associated with the first virtual test environment; determining that a user of the first client device belongs to a first group out of multiple groups; selecting a first pool of resources based on the user of the first client device belonging to the first group, wherein the first pool of resources are available to members of the first group but not available to members of a second group out of the multiple groups; provisioning, using the selected first pool of resources, a first virtual machine that comprises the first virtual test environment, the first virtual test environment comprising features associated with the one or more configuration options associated with the first virtual test environment; providing the first client device access to the first virtual test environment; receiving, at the configuration server, a second request for access to a second virtual test environment, the second request being received from a second client device over a network and specifying one or more configuration options associated with the second virtual test environment; determining that a user of the second client device belongs to the second group; selecting a second pool of resources based on the user of the second client device belonging to the second group, wherein the second pool of resources are available to members of the first group and to members of the second group; provisioning, using the selected second pool of resources, a second virtual machine that comprises the second virtual test environment, the second virtual test environment comprising features associated with the one or more configuration options associated with the second virtual test environment, wherein provisioning the second virtual machine comprises determining whether a threshold level of resources in the second pool is available to provision the second virtual machine; and adding the second request to a queue of requests if the threshold level of resources in the second pool is not available to provision the second virtual machine.