Handling an Overstructured Mission
Handling an Overstructured Mission
Submitted by michael.a.bolton@gmail.com (Michael Bolton http://www.developsense.com) on Fri, 08/01/2010 - 22:58.Excellent testers recognize that excellent testing is not merely a process of confirmation, verification, and validation. Excellent testing is a process of exploration,discovery, investigation, and learning.
A correspondent that I consider to be an excellent tester (let's call him Al) works in an environment where he is obliged by his managers to execute overly structured, highly confirmatory scripted tests. Al wrote to me recently, saying that he now realizes why that's frustrating for him: every time he runs through a scripted test, he gets five new ideas that he wants to act upon. I think that's a wonderful thing, but when he acts on those ideas and fulfills his implicit mission (finding important problems in the product), it diverts him from his explicit mission (to complete some number of scripted tests per day), and he gets heat from his manager about that. At the end of a couple of days, the manager wants to know why Al is behind schedule—even if Al has revealed important problems along the way—because the manager is focused on test effort in terms of test cases completed, rather than test ideas explored.
I suggested to Al (as I suggest to you, if you're in that kind of situation) a workaround: don't act on the new test ideas; but do note them. Jot them down in handwritten notes or a text file, and especially note your motivation for them—ideas about risk, coverage, oracles, strategies, and the like. Tell your test manager or test lead that you didn't run tests associated with those ideas, and then ask, "Are you okay with us NOT running them?"
In addition, check in with your manager more often than once every two days. Deliver a report, including new ideas, at one- to two-hour intervals. If direct personal contact isn't available, try instant messages or email. If those don't work, batch them, but note the time at which you started and/or stopped a burst of testing activity.
Al was excited about that. "Wow!" he said. "That also means defects arising from the new ideas are noted down. Currently, my management is under the impression that test cases are the things that reveal problems, but it's my acting on my test ideas that really reveals the problems." He also noted, "There's another bad that comes from that. If the test cases don't reveal problems, we take the problems that we've found and create a test case for them so that those problems aren't missed next time." I've seen that happen a lot, too. On the face of it, it doesn't sound like a bad idea—except that specific problems that are fixed and verified tend to remain fixed. Repeating those tests is an opportunity cost against new tests that would reveal previously undiscovered problems.
So: the idea here is to make certain aspects of our work visible. Scripted test cases often reveal problems as those cases are developed. When those problems get fixed, the script loses its power. Thus variation on the script, rather than following the script rigourously, tends to reveal the actual problem. However, unless we're clear that this is happening, managers will mistakenly give credit to the wrong thing—namely, the script—rather than to the mindset and the skill set of the tester.
A correspondent that I consider to be an excellent tester (let's call him Al) works in an environment where he is obliged by his managers to execute overly structured, highly confirmatory scripted tests. Al wrote to me recently, saying that he now realizes why that's frustrating for him: every time he runs through a scripted test, he gets five new ideas that he wants to act upon. I think that's a wonderful thing, but when he acts on those ideas and fulfills his implicit mission (finding important problems in the product), it diverts him from his explicit mission (to complete some number of scripted tests per day), and he gets heat from his manager about that. At the end of a couple of days, the manager wants to know why Al is behind schedule—even if Al has revealed important problems along the way—because the manager is focused on test effort in terms of test cases completed, rather than test ideas explored.
I suggested to Al (as I suggest to you, if you're in that kind of situation) a workaround: don't act on the new test ideas; but do note them. Jot them down in handwritten notes or a text file, and especially note your motivation for them—ideas about risk, coverage, oracles, strategies, and the like. Tell your test manager or test lead that you didn't run tests associated with those ideas, and then ask, "Are you okay with us NOT running them?"
In addition, check in with your manager more often than once every two days. Deliver a report, including new ideas, at one- to two-hour intervals. If direct personal contact isn't available, try instant messages or email. If those don't work, batch them, but note the time at which you started and/or stopped a burst of testing activity.
Al was excited about that. "Wow!" he said. "That also means defects arising from the new ideas are noted down. Currently, my management is under the impression that test cases are the things that reveal problems, but it's my acting on my test ideas that really reveals the problems." He also noted, "There's another bad that comes from that. If the test cases don't reveal problems, we take the problems that we've found and create a test case for them so that those problems aren't missed next time." I've seen that happen a lot, too. On the face of it, it doesn't sound like a bad idea—except that specific problems that are fixed and verified tend to remain fixed. Repeating those tests is an opportunity cost against new tests that would reveal previously undiscovered problems.
So: the idea here is to make certain aspects of our work visible. Scripted test cases often reveal problems as those cases are developed. When those problems get fixed, the script loses its power. Thus variation on the script, rather than following the script rigourously, tends to reveal the actual problem. However, unless we're clear that this is happening, managers will mistakenly give credit to the wrong thing—namely, the script—rather than to the mindset and the skill set of the tester.
