I was a NPC in a LARP recently, playing a leader of an armed group of people, who wanted to control the building and take hostages to get the VIP person there to agree with group’s terms.
We had our information (floor plans, etc.), inside persons, surprise element. Different teams we sent to control choke points. All seemed to be well. From the start, the operation went smoothly, until we discovered that our information had been misleading.
No problem there, I commanded re-assignment of forces to deal with the persons who were not supposed to have weapons on the second floor. Due to the unexpected resistance there were more wounded to take care of – distracting us, as we needed hostages not corpses. Situation calmed down and seemed to be under my (our) control. I continued as planned, approaching the barricaded door to start negotiations with the VIPs – whom, as it turned out, had even more armed personnel with them. We pressed on and most of us ended up dead on the floor…
What has this to do with Software Testing ? – You ask.
This, in hindsight, is similar to any testing problem. Before starting the testing we try to find out as much as we can about the product and the context. We devise an operation plan, paying special attention to most important areas. We estimate, that we can handle the testing in this timeline.But, during testing we usually find out additional factors, which makes testing more complicated. We find important areas be blocked by problems in other areas.
From the very first steps we are a starting to wander off from the path we thought we are taking. Leading us deep into the unknown jungle and there we will be lost until the end of time.
We need to adapt to the situation.
Like in the LARP we should have thought over what we could do to keep the building under our control. We should have considered calling for additional forces. Or instead of controlling the whole house, concentrated all of our efforts to get the terms signed. Or even run away to fight another day. Anything, but blindly hoping that our original plan would still work.