I’m currently involved in a project around moving servers from a “classic datacenter” VMware setup to cloud-based infrastructure (as Code). The requirements, as prepared by the architect are around network segments, port openings, server sizes and naming standards.
As this is hundreds of servers and a range of networks (shell) scripts are used to “construct and deploy” the solution. And mistakes happen, simply because we are humans, and bugs like this occurs:
naming conventions are not followed
server open on port http, but should be httpS
servers included in the wrong network segment
OS are not patched after initial deploy
So the system under test is a totally different thing than in classic software development. Luckily it’s usually an easy fix - unless it’s actually a live end-user facing system you are restarting.
This is a weak point for me. Stephan Kämper did a great sidebar on testing infrastructure as code in our More Agile Testing book, if anyone wants to read that, ping me and I’ll send the sidebar. And, ping Stephan on Twitter, @S_2K, I’m sure he’d help! Might also be something on his website.