Having finally completed the BBST Foundations course, it is time to share my key takeaways as well as to compare how my terminology has changed since my last blog post.
Aside from a refresher on testing related matters, my key takeaways had less to do with hands on testing and more with how to approach learning and testing in general:
- I learned that “Reading stuff because it is interesting” and “preparing for an essay style exam without reference materials” produce very different styles of learning. The BBST courses are known to require between 12-15 hours of work every week. While this didn’t seem like a lot to me at first – this was the time I spent “reading stuff because it is interesting” anyway – I quickly realized that a deep dive into the topics required a much larger amount of focused work and dedication than I had anticipated. To compensate, I had to slow down my other activities and completely stop writing any new blog posts.
- If I did not agree with a definition, it was difficult to work with it at first. However, having multiple contradicting definitions for the same thing – and being able to switch between them when appropriate – is a great help when discussing or modelling the problem space. I now think that being mentally fluent with various contradicting models and definitions is a key skill for testers.
- Learning to explain and argue (and giving feedback) are key tester skills as well. Most of the assignments had us participating in groups, writing short essay style explanations of our understanding of the course materials and then peer reviewing each other’s work.
Looking at my previous post, “Sharing my Testing Terminology, before BBST”, I realize that the course was not that much about terminology (with the exception of lesson 1) and rather about how to approach different problems in testing. Because of that, the words I commonly use were not really changed that much.
I now have a slightly different idea on why the distinction between black box and white box testing can be interesting in some contexts. I added the term “implementation level testing” to my vocabulary, to contrast “system level testing”. I learned to appreciate a lot of the concepts that did not even make it into my old testing terminology. Maybe it is time to build a new one from scratch.
As a closing note, I can highly recommend the BBST Foundations course to anyone who wants to deepen their understanding of the basic problems of software testing – I think the basics are important, no matter how long someone has been testing for.