oh, here’s another description/article:
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.
There’s less ambiguity wrt infrastructure tests as the requirements usually are very explicit (noone asks for a server that “looks nice”). So we can automate a lot of it, if we dare to be smart about it. for more info on “Pester” and “Open Validation Framework” read:
BTW: we recently added “code review” to the project… what’s next 3 amigos?