I am a big fan of having a testing environment that is sperate from your production environment (the live site). If you are not sure that you should have a testing environment you can read a post I wrote that explains why you should have a WordPress testing environment. Below are three ways that you can setup a WordPress testing environment.
Second Hosting Account
The first way is to set up a second hosting account that is only used for site development and testing. You can set up a quality hosting account with Site5, Lunarpages, or SiteGround. All three of these companies are a great choice for setting up a second hosting account that is only for testing.
The second option is to set up a development, staging, and hosting lab at SiphonLabs.com. With this option you development sites and production sites are hosted with the same company. You develop, upgrade, or make any other file related changes on your development site and then inject the changes to the staging area. From staging you can push you changes to the production(live) site. This option will help to improve your productivity once you get used to the workflow.
Updated July 30, 2013 – SiphonLabs is no longer available for WordPress powered sites. Sad but true. So if you know of a hosting solution for development, staging, and hosting leave me the name in the comments.
Local Web Server
The third option is to setup a web server on your local computer. This is the easiest and most cost effective way to set up a WordPress testing environment. If you are on a PC you can setup your local web server using WAMP. If you are a MAC user you can setup your local web server using MAMP.
When you have to manage a website, a testing environment is a must have. What other ways are there to set up a WordPress testing environment?