Importance of domain knowledge in testing
Length : 3 Minutes
Let’s start this blog with few questions:
What will happen, if we ask engineer to do heart surgery? Not possible!
What if doctor has been asked to write a JAVA program? Not possible!
What if IT engineer has been told to fix a broken chair? It is possible.
What if we ask car driver to drive a car? He can very easily drive a car.
You might be thinking that first two questions are totally irrelevant.
As doctors and engineers are expertise in their own domain, but lack of knowledge and experience of each others areas.
Then, how IT engineer could fix the broken chair? Is he Carpenter?
He can easily fix the broken chair, because though he is not having experience, but using subconsciously gained knowledge over the period of time, engineer can easily fix the chair.
Can we confidently say that, driver will drop us to at our destination?
Yes, because of the knowledge and experience he gained in its own field.
If you think about all above questions, you will find that in first two cases individual need a knowledge and experience to carry out his or her work.
In third example individual is neither having experience nor having specialized skills or knowledge, still he can fix the broken chair.
In forth case individual is having both experience and knowledge, that is the reason he can easily complete his work.
Now, Let’s understand domain knowledge importance from testing perspective and try to figure out whether both domain knowledge and experience is required every time.
And, of course domain knowledge is not only important for testers but also for BA’s, developers and for software architects.
What is domain?
Domain is nothing but area with imagined boundary. It’s meaning vary with context in which it is used.
Different business areas which are consider as a domain: Banking, Insurance, e-Commerce, Procurement, Telecom etc.
Domain can be sub part of any particular domain: Asset serving or Asset management can be treated as separate domain, though they come under Investment banking domain.
As per work type: Testing, Development, Business analyst etc.
Why domain knowledge is required?
As discussed in starting of this blog, if tester with telecom domain knowledge has been asked to test banking application. It will take some time for him to grasp that knowledge and perform the task. Or possibly he might not be able to give his 100%. Results delivered could be error prone.
From above examples we can say that “Alone domain knowledge or experience will not work”.
But one need to understand the relationship between different factors, which will show us “How effectively one could deliver the output?”
Factors could be:
- Domain knowledge.
- Expertise or experience of individual in particular domain.
- Complexity of the application
- Ability of individual (Grasping power).
- Outcome delivered.
How domain knowledge, experience, system complexity and individual’s ability are related to individuals effectiveness to perform particular task?
In below (Figure 1) three cases individual can deliver quality results, because for complex systems, tester has a domain knowledge and experience.
While simpler system does not require much domain expertise.
Refer (Figure 2) to below scenarios where tester can possibly deliver good quality, as tester is either domain expertise or experienced one and system under test is not much complex. Example could be E-commerce website, Educational website.
In below (Figure 3) scenarios let’s consider system is complex Example: Banking application or Critical healthcare software.
Tester is expertise in performing testing activities, however he did not have any application knowledge. Then, possibility is that tester cannot carry out better testing quickly. But might be after few weeks or months of learning he can give better quality.
When tester is neither domain expertise nor experienced one and has been asked to carry out testing of complex systems, he will unable to carry out test properly. (Figure 4)
I hope you you like this blog!
You can mention your thoughts, questions in comment section.
Click here to subscribe to this blog!