“I’m just the tester, if it doesn’t run it’s not my problem, it’s the deployment team’s problem. I can tell you how well it will work, but first you’ve got to deploy it properly.”
One of the most difficult problems to prevent is a configuration problem; a setting that is specific to production. You can attempt perfect testing in a non-production environment, but as soon as your Config Management guys roll it out to prod with the prod config settings, the best you can do is cross your fingers (unless you’re able to test in prod).
After a recent prod server migration, my config management guys got stuck scrambling around trying to fix various prod config problems. We had all tested the deployment scripts in multiple non-prod environments. But it still didn’t prepare us for the real thing.
It’s too late for testers to help now.
I’ve been asking myself what I could have done differently. The answer seems to be, asking/executing more hypothetical questions/tests, like:
- If this scheduled nightly task fails to execute, how will we know?
- If this scheduled nightly task fails to execute, how will we recover?
But often I skip the above because I’m so focused on:
- When this scheduled nightly task executes, does it do what it’s supposed to do?
The hypotheticals are difficult to spend time on because we, as testers, feel like we’re not getting credit for them. We can’t prevent the team from having deployment problems. But maybe we can ask enough questions to prepare them for the bad ones.