
An Asterisk server has a very involved configuration system. One instance I manage has over 100 configuration files. As these configurations grow, it can be helpful to have a separate server running for testing and debugging problems. If you are planning a major change, it's often helpful to get it up and working in this test and environment before moving it into production. I have found that version control software works perfectly for this.
Better yet, use a combination of version control and configuration management (such as Puppet) to abstract the configuration and reduce configuration mistakes.