Domain Testing in Software Engineering
Every software development process follows Software Development Life Cycle(SDLC) finally to develop a quality software product. In which Software testing is one of the important phase as it only ensures the quality of the product. So, for that different types of software testing are performed to check different parameters or test cases.
Domain Testing :
It is a software testing technique where minimum numbers of inputs are used to access appropriate output of a system, to ensure the system does not accept invalid input values. The system is expected to give required outputs blocking the invalid inputs.
Structure of Domain Testing :
The process is quite similar everywhere when it comes to build the strategy, where the following step-by-structure is used that suits most of the scenarios:
- Think what can go wrong.
- Find a solution to handle each case.
- Pick several points to test each error.
- Take one test point to examine adjacent domains
- Then start running the test
- Check if the boundaries are faulty in nature
- Inspect boundaries of all domains
Domain Knowledge :
Domain knowledge is the good understanding of particular sphere i.e. a person is acquainted with particular term of discipline. It helps to minimize delivery cycle, improve customer service reduce development time.
Is domain knowledge required for Domain testing ?
It is difficult for someone to perform effectively in a field where the person is not familiar. So a domain tester should to have basic domain knowledge. It is important because:
- Online banking –
A tester must have to be a expert in the online banking activities like login, bill payment, transfers.
- Retail domains –
To successfully run a domain test, tester have to recognize how things work flow at different levels. Some examples of retail domains are warehouse management, in-store solutions etc.
- Healthcare –
A tester with proper understanding of domain knowledge should handle a healthcare system. It is a huge risk to someone’s life when someone with zero knowledge handles the system.
Domain Testing Strategy :
We know that every domain has a boundary from which it is been defined, points near the boundaries are checked during tests. A testing process every time begins with a question. The domain testing strategy is an experiment by a QA specialist to find the solutions to these answers:
- What domain should be tested ?
- How to group values into classes ?
- What value should I test ?
- How am I going to get the results ?
Real-life example of Domain testing :
Let there be a group of students in a study tour. For entertainment purpose they have been given a ticket to perform a specific activity based on gender and age inputs. Here the entertainment facility act as the test, age groups will be boundary values with numerous possible scenarios. Students perform activities in following manner:
- Children less than 5 years old are to tell a poem
- Boys 5>=10 are to draw
- Girls 5>=10 are to sing a song
- Boys >10 are to compete in a sport
- Girls >10 are to participate in quiz
- Remaining children >15 are to participate in essay competition
On the basis of given algorithm, specialist groups the values into classes i.e. age groups, then boundary values is picked i.e. highest and lowest age value in a group. Then different scenarios are built with expected results for each.
Skills required for Domain testing :
To be a good domain tester, one must have the following skills:
- Quick learner
- Domain knowledge
- Can work under pressure
- Technical and Programming skill
- Automation skill
- Bug hunting skill
- Communication skill
Domain testing requires knowledge of providing correct input to get necessary output. It is also equivalent to boundary analysis testing, where input variables examined and taken as boundary values and equivalence class values to get desired result.