- Trending Categories
- Data Structure
- Operating System
- C Programming
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is Domain Testing in Software Testing?
26 Lectures 1.5 hours
20 Lectures 2.5 hours
Domain testing is a testing process where the software is tested to ensure it doesn't accept invalid or out-of-range values. The output is tested against a minimum number of inputs to see whether the system is accepting the input within the required range or not. The white box testing is a perfect example of domain testing.
What is White Box Testing?
In this process, testing engineers test the internal structure, coding, and software design, making sure it goes with the input-output flow. It also determines the design, usability, and overall security of the software. Since the code is visible to the testers, white box testing is also called the clear box, transparent box, glass box, and code-based testing. This is because white box testing allows testers to penetrate the outer shell of an application and look at its inner structure.
White box testing and black box testing both come under software testing. The difference is that in a black box, the software is tested based on its external and end-user perspective. However, in the white box, testing is done to analyze the inner structure of the product.
Domain Testing Strategy
A specific boundary defines every domain. During the test, testers analyze each point nearby those boundaries. Each testing process starts with a question, and the purpose of domain testing is to find solutions to these questions.
- What domains to choose for the testing process?
- What values should one choose for the test?
- How do you group values into classes?
- How do you get the results?
Example of Domain testing
Let's say there is a group of students in a hall. They have been given a set of tasks based on their age and gender inputs. Here, you can consider the hall as the test, age groups as boundary values with numerous possible scenarios.
Tasks are given to students in the following ways −
Students under ten are asked to draw.
- Boys 10 >= 15 are asked to compete in a race
- Girls 10 >= 15 are asked to participate in a sport
- Boys > 15 are asked to dance
- Girls > 15 are asked to sing
- Reaming > 15 students are asked to give a presentation
After having the above algorithms, testers need to group the values into classes. You can classify students into age groups, then set boundary values such as highest and lowest age values.
What domains are tested in Domain Testing?
You can test any domains containing input and output functionality. First, you need to enter the input value and verify the output.
How do you group values into classes?
For grouping values into classes, you need to partition the values into subsets.
You can partition values in two ways −
In this process, you have to divide a set of test conditions into groups or set in a way that the system handles them equivalently. In short, the system should consider these partitions as the same.
|Variable||Valid Class Equivalence Class||Invalid Class Equivalence Class||Boundaries & Special cases|
Explanation − If a field accepts ranges between 0-20, then it should not accept invalid entries and out of boundaries entries like -1 and 21.
The field should only accept values 0, 20, and any number in between them.
Boundary testing analysis or BVA is a process to test boundaries between partitions. In this process, you will have to test both valid and invalid input values from the partition.
Example − Let's say you are ordering a sandwich through an online platform, and you are asked to enter the number of sandwiches you are intended to order. Now, it's a rule that a single customer can only order up to 10 sandwiches.
So, when you enter the value 1 to 10, it is considered valid. A success message will be displayed.
If you choose 11 to 99, it will be considered invalid, leading to an error message.
Which values of the classes were tested in domain testing?
You need the boundary values to test the values of the class.
Example derived from the previous case.
Test condition −
- Number > 10 in the sandwich field is invalid.
- Number > 1 is considered invalid.
- Number 1 to 10 is valid.
- Three-digit numbers are invalid.
How to determine the result?
The output results are determined through domain knowledge.
How to formulate a domain testing structure?
Analyze beforehand what can go wrong while setting boundaries
Prepare strategies to handle each case
Checkpoints to conduct error testing
Use one test point to evaluate adjacent domains
Check off unnecessary test points
- Run the test
- Check for errors in boundaries
Verify every boundary are free from defects
Domain knowledge is a skill set that says you have a great understanding of a particular field and are familiar with all the known terms in the said field. Apart from accuracy, it helps in reducing the delivery cycle by shortening the time of development.
Is it important to have domain knowledge for domain testing?
It is highly important to have at least basic domain knowledge for an expert to conduct domain testing.
Domain knowledge is crucial as each industry or field is unique and has specific requirements.
Retail − In retail domains, the workflow runs at different levels. Therefore, testing engineers looking forward to running domain testing in retail must know how things work in warehouse management, in-store solutions, and so on.
Online Banking − Online backing consists of several crucial internet-dependent activities such as login, money transfer, bill payment, etc., which is quite different than retails.
Healthcare − Handling healthcare domains is quite critical as it holds a huge risk to someone's life. Besides, it includes numerous menial yet time-consuming tasks like patient's entry, health history, prescriptions, setting & modifying schedules, insurance, etc.
As you can see, each domain comes with its own uniqueness and challenges. Therefore, without domain knowledge in the specific field, a tester can't conduct domain testing.
- What is Endurance Testing in Software Testing?
- What is Concurrency Testing in Software Testing?
- What is Thread Testing in Software Testing?
- What is Stress Testing in Software Testing?
- What is Volume Testing in Software Testing?
- What is Interoperability Testing in Software Testing?
- What is Workflow Testing in Software Testing?
- What is the Endurance Testing in Software Testing?
- What is meant by Endurance Testing in Software Testing?
- Stability Testing in Software Testing
- Testing Documentation in Software Testing
- Levels of Testing in Software Testing
- What is Benchmark Testing in Software Testing? (Test Plan, Tools, Example)
- What is Testing as a Service (TaaS Model) in Software Testing?
- What is Non Destructive Software Testing (NDST)?