Todays weekend testing mission was to test a mobile app which functioned as a sort of exercise documentation tool and determine how our domain knowledge (or lack there of) effected our ability to test the product. The idea of domain knowledge is interesting to me because of how vague it is. I’ve reading reading Rethinking Expertise so I thought I could explore some of the relevant parts I’ve read thus far.
According to Collins & Evans there are two main categories of expertise. There is ubiquitous tacit knowledge and specialist tacit knowledge. Ubiquitous tacit knowledge can be split in to beer-mat knowledge, popular understanding, and primary source knowledge. Specialist tacit knowledge can be split into interactional expertise and contributory expertise. These different categories create a sort of spectrum in wich the farther to the right (contributory expertise) you are, the deeper your understanding and ability to perform a task is.
Beer mat knowledge is they type of thing you read in passing about some topic. Popular understanding is the type of expertise you gain from following the common media or popular books on a topic. primary source knowledge is gained from reading primary sources of information.
On the specialist tacit knowledge side, interactional expertise is the ability to comunicate in the language of a field. Contributory expertise is the ability to actually contribute to a field. It should be noted that without actually seeing a person do work, these two types of expertise are indistinguishable.
So, back to domain knowledge. In terms of software testing and what is commonly referred to as domain knowledge, what Collins and Evans present is a pretty good representation. The type of expertise needed will be dependent on the role the tester is filling and the type of software.
BUT we discovered today that domain knowledge greater than the first level, beer mat knowledge, is not necessary to do meaningful testing. Domain knowledge can be beneficial for understanding the value specific people will get from a product but lack of should not prevent meaningful work. Development of skill as a tester in my opinion is more important than domain knowledge because most of the time these skills will be transferable to many different contexts and most of the domain knowledge needed can be learned in a short period of time.