I’ve just done a bit of a refactor. It involved restructuring the way a couple of services were built and deployed. It was a literal refactor in the sense that the only outcome I wanted was structural. There was supposed to be no change to the behaviour or interface of the services.
Sure… but what if I broke it anyway?
- First, there was the local build to tell me it still built.
- Then, there were the unit tests to tell me that I’d managed to keep the behaviour.
- Then, there was a local dry run test to stage it on my laptop and smoke test it
- Then there was the CodeBuild of the commit to show me that the version in the repo could be built and packaged
- And the Sonar and Snyk tests to check that I was using the right dependencies, code styles, security standards
- And finally, I hit merge on my branch to go to
So, now it’s deploying… but what if it doesn’t really work when deployed?
dev deployment also runs a test pack… and that test pack is happy that my APIs are there and still serving results.
So, it doesn’t NOT work!