Translation, Adaptation, Merging, Extending and Exemplifying using analogy as well as specific examples are essential learning techniques that I have explored as a tester.
I am in the process of building expertise in my company – Test Mile – on the area of white box testing as well as India’s first white box testing course that’s true to its subject. So, from where do I learn? Are there books on the subject from the core testing world? Most of the resources are for testing object oriented systems and a vast amount of related work is in the form unit testing books. Some bits and pieces can be found in the handful of test automation books that deal at this level. Rest is spread across books that talk of xUnit Test Patterns, Design Pattens, some work on coverage from Boris Beizer books etc. There are also gems to be extracted from the world of books that deal with testing in Agile World – TDD/BDD/ATDD etc. And that is still mostly functionality focused. For other software attributes, there are doors leading to worlds of their own. Add to that my practical experience where I’ve been mostly a coder in the testing world for the past 7+ years.
These books are mostly specific to a language – C++/Java/C# dot Net ( or contain examples in one of these languages ), frameworks like Cucumber, my experience itself has been specific to certain contexts. I am a Python programmer, so the first stage is to translate and adapt the contents from all these into Python, while still taking a note as to how things differ across languages. Next stage would be adapting/merging/extending the contents to go beyond unit testing/OO and develop a course that discusses white box testing with all its dimensions. I expect that the attendees for these workshops in India would include for most part, testers who have little or no coding experience. So, a big challenge would be how to make them understand during a period of 4-5 days so that they are confident about trying things out. This is the exemplifying part clubbed with hands-on.
All in all, it is going to be an interesting journey.