Important Aspect of Domain Knowledge in Software Testing
Domain is nothing but the industry for which the software testing project is created. When we talk about software project or development, this term is often referred. For example, Insurance Domain, Banking Domain, Retail Domain, Telecom Domain, etc. Importance of Domain Knowledge Now a days ...
Domain is nothing but the industry for which the software testing project is created. When we talk about software project or development, this term is often referred. For example, Insurance Domain, Banking Domain, Retail Domain, Telecom Domain, etc.
Importance of Domain Knowledge
Now a days three things are important for Software Testers:
- Software Testing Knowledge
- Technical Knowledge
- Domain Knowledge
So, Is Domain Knowledge An Important Aspect When You Test The Application?
When you want to “Check”, no domain knowledge is needed but when you want to “Test”, domain knowledge is very important. Confused? Let me explain this in detail. Let’s take an example to understand how domain knowledge is important for testers. Say, you have written few automation scripts which “check” for some UI or basic functionality. To run them, your computer software doesn’t need any domain knowledge, it is just checking that whatever is written in that auto test should pass but when you do testing or make test cases from SRS/FRD documents then you need to understand each requirement and the expected output very clearly and hence need some domain knowledge for that.
Few of the projects in which Domain knowledge plays a vital role are:
- BFS (Banking & Financial Sector)
- Healthcare Software Domain
- e-Commerce Domain
- ERP Domain
- Mobile Application Testing Domain
- Insurance Sector Domain
- Retail, Travel & Hospitality sector
Banking & Financial Sector
Banking & Financial Services. All the major banks and financial institutions are categorized to fall under the BFS domain. Banking industry demands the maximum security, hence in most of the organizations, such clients have their own ODC’s with restricted access to other users. In today’s world when cyber-crime has increased so much, banking applications and website’s security testing has become challenging part. Without domain knowledge, this can become risky for the business too.
Some of the major areas testers are involved in the Banking Sector -
- Core Banking
- ATM Banking
- Internet Banking
- Credit Card Management
- Mobile Banking
- Loan & Mortgage Management
- Forex Management
Healthcare Domain
Healthcare industry is a sector which deals with the health of an individual, hospitals, insurance companies, wellness companies all fall under healthcare.
Some of the major areas testers are involved in the Healthcare Sector -
- Hospital Management System
- CRM for Healthcare
- Medical Image Analysis
- Healthy lifestyle System
e-Commerce Domain
A place for buying and selling which happens through internet. This is fairly a new platform but this will surely change the shape of the industry. The Online business is in high demand these days which is generating the need for ecommerce sites.
Some of the major areas testers are involved in the Ecommerce Sector -
- Payment Functionality
- B2B
- B2C
- C2B
- C2C
ERP Domain
The main objective of an ERP domain is to combine information and processes from all divisions of an organization and merge them to create a structured working system. ERP specially describes software that is used to connect many aspects of a business together.
Some of the major areas testers are involved in the ERP Sector -
- HRMS
- Material Management
- Stores
- Manufacturing Management
- Financial Management
- Supply Chain Management
- Inventory Control
- Sales
- Production Planning
Mobile Application Testing Domain
Here, I am going to take an example of mobile application Domain testing. Say tester has to test an application which is related to music. If he does not have any prior domain knowledge of the application then he will not know the various options we have to sync music from and whether all of them working fine or not! Also what type of music files are supported by the application and which are not compatible with it. But if has domain knowledge then he can even give his ideas to make that application better and more usable.
Insurance Sector
Insurance allows individual, business & other entities to protect themselves against significant potential losses & financial hardship at a reasonably affordable rate.
Some of the major areas testers are involved in the Insurance Sector -
- Policy Management.
- Claims Processing System.
- Insurance Agent Management System.
Retail, Travel & Hospitality
Retail is the process of selling goods to the consumers in small quantity. Retail includes sell of all types of products ranging from food & beverage, consumer durable goods, Soft goods, selling of books, hotels. Travel includes the aviation & railways industry. Hospitality mainly clubs the restaurant industry.
Some of the major areas testers are involved in the Retail Sector -
- Point of Sale (POS)
- End of Day (EOD)
- Invoicing.
- Payment Validation.
- Pricing Module.
Here are some of the Advantages of having Domain knowledge:
-
If a tester has domain knowledge then he may take a step ahead and think out of the box to question the current functionality of an application. Domain knowledge helps tester to execute negative test scenarios.
-
If a tester has domain knowledge then he may contribute in test cases review by comparing the application requirements against test cases.
-
Domain knowledge makes sure testing team is putting the right effort in the right direction and it may speed up the overall testing progress as the effort of training the resources in the mid of project is not needed.
-
Tester with domain knowledge are flexible to accommodate new changes or requirements that are introduced in the mid of the project.
-
Client always demands the quality testing which project management can make sure after recruiting the human resources with domain knowledge as well as technical expertise.
-
Testers with domain knowledge ensure less or no risk to application testing.
-
If testers have domain knowledge then it saves cost of training to tester for an organization.
-
Tester with domain knowledge may take an additional role in project for requirement gathering or direct interaction with client after spending considerable time in the project.
-
Tester with domain knowledge may prove asset to an organization in long run as they may become professional trainer for new joiners.
How you can enhance your Domain knowledge:
Here are some ways on how you can enhance knowledge on a particular domain:
-
While testing any project, focus more on the business understanding and think like an end user, analyze the importance of each functionality from a business point of view. This will help you gain a deeper knowledge of the domain.
-
If you are new to the domain and unfamiliar with the terminology, you can do a Google search.
-
Each Organization has their own internal training materials. Going through those materials also helps.
-
Apart from training kits, many organizations also provide internal domain certification. Internal certifications don’t hold much value outside the organization but they are good for gaining knowledge. This certification helps if a tester wants to change projects within the same organization. Many customers make it mandatory to have a certain level of domain certification, like if you are working on a healthcare project, clearing HIPPA (Health Insurance Portability and Accountability Act) certification is a must.
Usually, while developing any specific domain project, domain expert help is sought out. Domain expert are master of the subject, and he may know the inside-out of the product or application.
Conclusion
Main advantage which makes difference here is that when a tester has common sense, he can find obvious bugs but when he has domain knowledge, he can find bugs which are related to core functionality since he know the flow of the application and know what goes where.
While testing any application “You” should think like an "End-User". This article will give you a high-level idea of the different domains and why you should take interest to improve your domain knowledge, but the actual scope of testing for each of the domains remains huge.