It is common for organisations to have 3 environments, development, testing and production. Usually each environment consists of a completly seperate database server & database, along with seperate application & and web servers if applicable.
This way any development can be safely performed in a seperate database as to not "break" your current production environment. Once development is complete you move your new code to a testing environment where you test your new code/application until satisfied, then migrate to production.
Development & Testing environments in a perfect world would mirror your production environment. This is rarely the case due to cost. So they are usually cut smaller db's and less powerfull servers.