Jayant Deo asks:
“Looking at the current scenario from the industry it is seen that the testers are expected to have both technical testing skills as well and either need to be from the domain background or have gathered domain knowledge mainly for BFSI is commonly seen.
I would like to know why and when is this domain knowledge imparted to the tester during the testing cycle?”
Firstly, let’s get introduced to the three-dimensional testing career mentioned by Danny R. Faught. There are three categories of skills that need to be judged before hiring any software tester.
What are those three skill categories?
- Testing skills
- Domain knowledge
- Technical expertise
No doubt that any tester should have basic testing skills like Manual Testing and Automation Testing. Testers with common sense can even find most of the obvious bugs in the software. So would you say that this much testing is sufficient? Would you release the product on the basis of this much testing being done? Certainly not.
You will certainly have a product looked at by the domain expert before the product goes into the market.
While testing any application you should think like an end-user.
But every human being has limitations and one can’t be an expert in all the three dimensions mentioned above. (If you are an expert in all of the above skills then please let me know ;-)) So you can’t be sure that you can think 100% like how the end-user is going to use your application.
A user who is going to use your application may have a good understanding of the domain he is working on. You need to balance all these skill activities so that all the product aspects will get addressed.
Nowadays you can see that professionals being hired in different companies are more domain experts than technical skill experts. The current software industry is also seeing a good trend so many professional developers and domain experts are moving into software testing.
We can observe one more reason as to why domain experts are most wanted! When you hire fresh engineers who are just out of college, you cannot expect them to compete with experienced professionals. Why?
Because experienced professionals certainly have the advantage of a domain and testing experience and they have a better understanding of different issues and can deliver the application better and faster.
Given below are some of the examples where you can see the distinct edge of domain knowledge
- Mobile Application Testing
- Wireless Application Testing
- VoIP Applications
- Protocol Testing
- Banking Applications
- Network Testing
How would you test such applications without the knowledge of a specific domain?
Are you going to test the BFSI applications (Banking, Financial Services, and Insurance) just for UI or functionality or security or load or stress?
You should know what the user requirements are in banking, working procedures, commerce background, exposure to brokerage etc and should test the application accordingly, only then you can say that your testing is enough – Here comes the need of subject-matter experts.
Let’s take an example of my current project:
I am currently working on the search engine application. Where I need to know the basics of search engine terminologies and concepts. Many times I see some other team’s testers asking me questions like what is ,”publishers” and “advertisers”, what is the difference and what they do?
Do you think they can test the application based on the current online advertising and SEO? Certainly not. Unless and until they get well familiar with these terminologies and functionalities.
Once I know the functional domain better I can better write and execute more test cases and can effectively simulate the end-user actions which are distinctly a big advantage.
Here is a list of the required testing knowledge:
- Testing skills
- Bug hunting skills
- Technical skills
- Domain knowledge
- Communication skills
- Automation skills
- Some programming skills
- Quick grasping
- Ability to work under pressure
This is going to be a huge list. So you will certainly say, do I need to have these many skills?
It depends on you. You can stick to one skill or can be an expert in one skill and have a good understanding of the other skills or a balanced approach to all the skills. This is a competitive market and you should definitely take advantage of it. Make sure to be an expert in at least one domain before making any move.
What if you don’t have enough Domain knowledge?
You will be posted on any project and the company can assign you any work. So what if you don’t have enough domain knowledge for that project?
You need to quickly grasp as many concepts as you can. Try to understand the product as if you are the customer and what the customer will do with the application.
Visit the customer’s site if possible to learn how they work with the product, read online resources about the domain you want to test the application, participate in events addressing such domains, and meet the domain experts.
At times, the company itself will provide all this in-house training before assigning any domain-specific task to the testers.
There is no specific stage where you need this domain knowledge. You need to apply your domain knowledge in each and every software testing life cycle.
If you are reading this tutorial till this point, then we would like to hear about the domain you are working on? Thereby, our readers can get a better idea of different domains and projects.
Note: As per the request from our readers, we have updated our Software Testing Resource Page for BFSI domain online documents and articles for downloads.