How to properly maintain a testing version of a site?

Although I usually use a similar approach, I suggest you give sqlyog a try if you are in need of a professional solution that can quickly deploy mysql databases:
https://www.webyog.com/

For content, use rsync, which is the fastest way to synchronize local and online.

Hope it helps. Good luck.