Good questions.
I do this fairly regularly.
Backup your current site, both the database and the files.
Create a new installation of WordPress and install it in a subdirectory of your choice or on a separate domain.
Then copy all of the files from your backup to your temporary subdirectory.
Restore your database to the new temporary database.
Update your wp-config.php file of your temporary site to point to the new database, which you just restored from backup.
Now you should be able to log onto the new test site and do all of the work you want to do. When you are ready to go live, you will simply need to backup your live site (files and database), just in case something goes wrong.
Move your new site to the folder structure of your original site. The database will not need to be moved. But you will need to update the location of the website in the database (or you can do it in the General Settings, just before you move the files). There are some additional database updates that need to be done as well.
Here is the official link to moving the blog.
[removed contact details – please do not solicit work on the forums]