1. A system for generating an on-demand test environment comprising: a processor; and executable instructions accessible on a computer-readable medium that, in response to being executed, cause the processor to control the system to perform operations comprising: receiving a command by a cloud manager to create a test environment, wherein the command identifies a primary function and indicates a number of machines to provision for the primary function and one or more dependent functions of the primary function in the test environment; identifying the dependent functions of the identified primary function, the dependent functions including functions that the primary function requires for operation within a production environment; generating a topology to be implemented within the test environment that reflects a relationship between the dependent functions and the primary function, wherein the topology is based on records accessed from a dependency database, the records including an identification of the dependent functions corresponding to the primary function; provisioning each pool of a set of pools to create the topology within the test environment being accessed using a developer credential wherein the provisioning includes distributing the primary function and the dependent functions in the indicated number of machines within each pool and assigning a load balancer to each pool to manage operations of the primary function and the dependent functions; updating ESB routing, wherein the updating ESB routing causes a service request from the primary function provisioned in the test environment to be directed to the dependent functions provisioned in the test environment; and decommissioning the set of pools in the test environment, wherein the decommissioning the set of pools removes the ESB routing within the test environment and returns the machines to a cache.