Building blocks of a good (software testing) course

PracticeIn my opinion a good course will contain theory, experience based stories and a practical part. Each of these will deliver value to the participants in its own way, therefore I think all these elements need to be present in every course. No software testing course can be complete without some actual testing in it.

Theory

Theory is considered to be boring by most of the participants, but it’s necessary! The theory will provide some common understanding of terms and definitions that can be used throughout the course. Of course the theory is best accepted by participants when it’s backed by experience based stories, but these stories alone will not suffice to bring the message. It’s up to the teachers to deliver a good mix of theory and experience based stories! The theoretical part of the course is actually a guideline for the teacher, so no relevant subjects for the course are forgotten. Since a course is usually not limited to a single teacher, the theoretical part will make sure that the minimal need information to make the course worthwhile is delivered every time.

Experiences

In the previous paragraph I mentioned that it’s up to the teacher to deliver a mix of theory and experience based stories. Beware for courses where the teacher lacks personal experience in the provided content. However, the teacher is the only one that provides experience stories. A good course will use some form of discussions to let all the attendees share their knowledge. Stimulate all attendees to participate in discussions. Where one person sees problems, the other already tackled these. A good teacher will learn from these discussions and will be able to provide more information every next course. It’s important to acknowledge that you, as a teacher, do not know everything. Also give credit to the attendees and tell them that you will use their input to improve the course.

Practice

To improve the chance that the information in a course sticks with the attendees; always make sure to have some exercises. In the case of software testing, make sure there is some actual testing in the course! Challenge all the people to actively try to make the topic work for them. To really learn something, people need to apply the learned in their own context. Soft skills are important for testing too! Help people develop their soft skills e.g. by letting them present a part of the course and than using the group to give feedback.

What makes a good course great, is a follow up session after the course. Let the attendees try to work with the material in their context and then let them tell how it worked out. As a teacher you’ll learn how the provided material will work out in different contexts, preparing you even better for next courses.

Conclusion

Theory is needed to provide the context for the course. Add stories based on experience to emphasize how the theory can help in real world situations. Let people practice with the provided material, enabling them to apply the material in their own context.

About these ads

4 comments on “Building blocks of a good (software testing) course

  1. I agree with your building blocks of theory, stories and practise. But it depends on the way these building blocks are applied in a course. I often see course that start with 2 hours of theory. Like described I my blog post I would prefer the way James Bach would approach it: he certainly wouldn’t start with lectures about processes, definitions and testing vocabulary. During the testing session the aspirant-tester will do stuff that can be named. They will (ignorant) use all kinds of techniques that can be further explained and explored while they pop-up.

    I really have to find a way to try that!

  2. Thanks Huib. I intentionally did not write down which order to use these blocks. I’m still trying to figure out what works best for me and for the groups that I’m teaching. In my opinion the course should adapt to the people that attend, but that’s very hard to manage…

    Main improvement point for me was to incorporate all these blocks into my courses. The only thing in my post that I do not have in my courses is the follow up session. For internal courses I try to fix that with some e-mailing to attendees about their assignments.

    The testing dojo approach might work to start a course off… Let people do something in the context of the course before explaining. Thanks for making me think about this! I’m going to try something like that.

  3. Pingback: Five Blogs – 5 May 2012 « 5blogs

  4. Pingback: Certified Agile Tester | Testing Experiences

What do you think of this post?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s