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.