Server infrastructure has traditionally lagged far behind our development practices in terms of code quality, testing, continuous integration and continuous development.
When you write your Chef recipes or Puppet manifests or any other CM, you are coding, and every code is prone to defects. All of us understand the benefits of test-driving the application code. The same applies to your infrastructure code. Testing becomes even more significant in case of deployments spanning large clusters of nodes.
Test-driving allows the infrastructure teams to have confidence that their configuration changes are being applied as intended across many different systems, and having the intended effect. This allows the whole system to be trusted, and then updated without fear for introducing breaking changes or otherwise causing instability.