For many projects you will want to test your application as a working website or service before actually deploying it to production. You may also need to have several environments to satisfy company policy. It is a simple matter to create additional Heroku Apps that are deployed to from the same codebase, easily establishing multiple environments.
To create more environment you simply create a new Heroku app from the same codebase / project. Each new app is typically called the app name with the environment name tagged onto the end.
heroku create --remote environment my-app-environment
--remoteoption specifys the alias name used for the remote Git repository on Heroku.
To deploy when you push your code to these environments you use the commands:
git push environment master
There is no specfic naming convention required by heroku, although the above names are commonly used. Use a naming convention that works for your organisation. See the Heroku article on multiple environments for more information.
Some development workflows call for a one or more environments outside production. Most developers consider their own system the development environment, however a test and staging environments are also very common as applications get bigger and more connected. So you could create one or more of the following environments: