If you have developed a new feature or fixed a bug you should test that change before deploying it directly into the production environment.
0. Local environment
The first level you can test your changes is on your local machine.
1. Testing environment
The next level of testing should happen on a little testing server.
2. Staging environment
The staging server should be pretty close to the production setup.
3. Production environment
If your changes work you can deploy it onto the production server.