Transcript from a recent chat I had, details changed to protect the innocent (and typos changed to make me look smarter):
Testing Lead: How familiar are you with testing methodologies with Scrum?
Me: In theory, fairly well, in practice, who knows? 🙂
Testing Lead: I guess I’m looking for either one at this point. My problem is this: I have certain knowledge of how the processing is being done for [a particular feature/subsystem]. Is it wrong to use a white box approach to testing new features implemented using the Scrum model? The advantage is I can eliminate half of the test cases.
Me: Scrum doesn’t change the core of your job, but agile/lean principles suggest that you should eliminate the tests if they have no value
Testing Lead: So I should eliminate this waste because I have the advantage of knowing the internal workings of the code.
Me: I think so, or is that some how "cheating"? Is that ultimately your question?
Testing Lead: I don’t think of it as cheating, but if we truly adopted the lean principles, I should be able to trim down the test cases knowing what I know.
Me: I’m with you
Testing Lead: The only disadvantage is reusability of the tests in case the internal workings of the code somehow changes. I guess that would be addressed as part of another story. If the functionality needs to be changed, so does the testing. I guess it really should go hand in hand.
Testing Lead: Writing these tests with a black box approach would essentially negate the point of agile (kind of like building documentation that may never get used). Thanks for the info.
Me: NP – hope it helped (At this point I’m feeling like a moron, because I haven’t really provided any meaningful advice…)
Testing Lead: It did. I sometimes forget that one of the main points of agile is to eliminate waste, even if it could prove useful far down the road (or not even at all). I have to focus on the here and now.
Sometimes mentoring is all about listening while someone talks themselves through it…