Sometimes production bug scenarios, are difficult to recreate in a test environment.
One such bug was discovered on one of my projects:
If ItemA is added to a database table after SSIS Package1 executes but before SSIS Package2 executes, an error occurs. Said packages execute at random intervals frequently, to the point where a human cannot determine the exact time to add ItemA, if that human is trying to reproduce the bug. Are you with me?
So what is a tester to do?
The answer is, control your test environment. Disable the packages and manually execute them to run one time, when you want them to.
- Execute SSIS Package1 once.
- Add ItemA to the database table.
- Execute SSIS Package2 once.
A tester on my team argued, “But that’s not realistic.”. She’s right. But if we understand the bug as much as we think we do, we should be able to repeatedly experience the bug and its fix, using our controlled environment. And if we can’t, then we really don’t understand the bug.
This is what it’s all about. Be creative as a tester, simplify things, and control your environment.