Boy, Have I EVER!! Just when it is time for production – erk. there it is. How could we have missed it?
A missing requirement? A sneaky service with a bad gate issue? An API with one of it’s Camels out of case? What — a profile permission got changed?
I know you know.
So that’s why when people ask me what I do, I say “I look for what isn’t there…” or “I think backwards”, or “I ask the stupid questions”. Heh. Right? So much in a system can bounce or jiggle until we literally remove all exceptions.
But how can that be done without a seasoned QA approach? When there is an abundance of ‘rabid deployment’, splinter releases, and .2.b releases, mistakes are bound to happen. Simple stuff. But overlooked stuff. Snags that cause delays.
Today in Agile approaches, I have thankfully seen automation turn these things up quickly before a sprint is done, and wham-bam, it is done and fixed. So much can be done now to remove the human error, but how much of the behavioral testing gets pushed to the side? I, to this day, still hear.. “Oh, we don’t use automated Unit test tools”. I say, “Oh, really?” Then, I might hear, “Yeah, we just do it manually”. My thought bubble says, “hmmm”. I can take an automated unit test tool and build it into a stack of tests, scenarios and e2e tests running critical path workflows. But if the unit test fails, it all crumbles. What happens if (God forbid) the code must be regression tested? Manually? Really? Sigh.
All I am saying, which is old news, but still fun to expose, is that there are simple ways to think things through to help make the system more bullet proof. I kinda like the idea of stacking up a series of small tests into a test case, then into a scenario based upon a workflow. If that works, geez, we can get fancy. Jus’ sayin’. Fun with testing, right? But will the budget allow it? erk.