Thursday, September 16, 2010

What Are My Three Biggest Takeaways From AST?


Another AST class has come to an end. I had the privilege and pleasure to act as an assistant instructor for my second time during the BBST-100W session (that's shorthand for Black Box Software Testing Foundations class, the 23rd session of that particular class being taught). This is my second time through the class as an assistant instructor, and the Foundations class is getting a reboot next month. Foundations 2.0 will begin in October, and I have signed on for another tour of duty as a "returning student" for its November run so that I can experience the new class structure, format and learning objectives. It should be an interesting experience, and I wonder how my experiences with the last three times through the class (first time as a Participant, second and third time as a "Staffer") will influence what I find of most value in the class.



I mention this because I had a chat session with one of the students from the most recent (and final) Black Box Software Testing Foundations 1.0 course. I'll not divulge who, as it's not important, but it brought up some interesting thoughts, and, well, that's the point of this blog… what do we hope to learn when we take a class or a seminar/webinar. Do we know what our specific objectives are going in? Is there a specific takeaway that we should take with us? This inquiry was started because I was asked what I felt the three most important things to take away and focus on from the class was (in addition to finding out about what their grade was and how it was determined). I answered that, honestly, I couldn't tell them what the three most important things were, not because I was being a smart-aleck, or trying to make things difficult, but because what I would consider to be the three most important things may not prove to be the three most important things for them.



I know what I took away the first time I took the class as a participant, and that was the importance of understanding how to give everything a critical read. In fact, this tripped me up so much, and proved so frustrating, that it was the ONE thing I left the class with above all other considerations. The questions are worded in such a way that, unless you have put in the time and considered the material, you will not guess your way to a right answer (Well, you could, but it would be very hard to do and you'd be very lucky to do it regularly). This is because being able to read critically, and to tease out the important aspects of the question, and then be able to actually answer the question, is a critical skill, and many of us are either lacking that skill or are not as developed in it as we could be. So that is still my number one takeaway.



The second takeaway actually came to me during my first time as an assistant instructor, when I helped staff the class that followed. As I saw many people fall into the traps I fell into, I wanted so much to just give them the answer, but I was advised to not do that. In fact, I was encouraged to answer questions with additional questions (you know, that Socratic dialogue that testers are all so famous for and that tends to annoy our developer friends to distraction (LOL!)?). The purpose was to not punish the students, but it was to make sure that they had a chance to think through the problem, and our questions could give them some hints as to how to find the answer without spoon-feeding the information.



The third thing that I found the most helpful and most important was the value of peer-review, and really committing to giving good reviews and being open to and willing to receive review feedback. This time around, I made it a point to answer and provide feedback to questions when feedback was lacking, but tried to keep a step back from providing too much feedback too early. The reason was that, in the first class I staffed, my review was often seen as though it was final (the "teacher" has made his pronouncement, and therefore all that follows is somehow less relevant). Let me make clear that I disagree with this, but that tends to be the outcome anyway. The quality of peer review went up when I decided to refrain from adding feedback until after everyone else had their chance to have their say, and most importantly, when the individual who originally posed the question had a chance to review and consider his answer based on the feedback as well. My keeping mum until they finished improved the value of the review and the review answers provided. IT also had the net effect that, for some of the questions, I really didn't need to provide feedback at all; the students did well enough and provided enough solid talking points that my comments would have been redundant.



So to my friend who chatted with me and felt like I didn't give them a straight answer, here it is. Out of BBST Foundations 1.0, these are the three most important things I took away from the class, and felt it most important to focus on. Notice that none of these is a specific testing technique. Testing techniques are nice side benefits of the class, but honestly, I don't think they are the most important things. Test techniques will vary from organization to organization, and much of the time, the techniques you use will depend on what your organization values. Those who follow a pre-determined script may find BBST Foundations uncomfortable; its very nature is that you throw away the script. What's good in one context may not be good in another; the three most valuable and key take homes in one person's mind and practice will vary from another person's key take homes. Thus for me, I think that practicing critical reading skills, asking probing questions to better understand the context of what you are testing and what's important, and the ability to give and receive solid and productive feedback are the three most valuable takeaways from BBST Foundations 1.0.



Ask me sometime in December what I think the three key takeaways will be for Foundations 2.0… I'm willing to bet my list may be different by then J.

No comments: