0% found this document useful (0 votes)
34 views

STM Unit 3 (For Mid 1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

STM Unit 3 (For Mid 1)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

UNIT-3

Domain Testing:
 domains and paths, Nice & ugly domains,
 domain testing, domains and interfaces testing,
 domains and testability.

Learning Outcomes:
• Understand of Domains and Paths
• Gain knowledge and practical skills in applying domain testing techniques
• How to leverage domain knowledge to test software interfaces effectively
• Integration of Domain Testing into Software Development Lifecycle

Domain:
In software testing, a domain is a specific area or field where software-based
systems are used, such as web applications, safety-critical systems, and critical
device management.

It is important for testers to have a good understanding of the


domain so that they can iden fy poten al issues and ensure
that the so ware meets the needs of its intended users.
Example:
If you are tes ng a healthcare applica on, you need to have a
good understanding of medical terminology and processes.
This will help you iden fy poten al issues such as incorrect
diagnoses or incorrect dosages of medica on. Similarly, if you
are tes ng an e-commerce applica on, you need to have a
good understanding of how the applica on handles
transac ons and payments.

Mapping Out the Domain in So ware Tes ng


Before beginning the tes ng process, it is important to map
out the domain of the so ware system. The domain refers to
the range of inputs, outputs, and behaviours that the so ware
is designed to handle. By understanding the domain, testers
can create effec ve test cases and ensure that the so ware
meets the needs of its users.

Example:
consider a web-based email client. The domain of this
so ware system would include:
The range of possible inputs (e.g. email addresses, subject
lines, message bodies),
outputs (e.g. sent messages, received messages), and
behaviours (e.g. message forwarding, spam filtering) that the
so ware is designed to handle.
By thoroughly understanding this domain, testers can create
test cases that cover all possible scenarios and ensure that the
email client func ons correctly for its users.

PATH:
A path refers to the sequence of steps or opera ons or links
and nodes from a program entry to exit.
Each path represents a unique combina on of inputs,
condi ons, and decisions that can be taken by the program.
The purpose of tes ng paths is to ensure that the program
behaves as expected and that all possible scenarios have been
considered.
This approach can help iden fy poten al errors or bugs that
may occur when the program is executed in different ways.

Path Tes ng in So ware Tes ng


Path tes ng is a so ware tes ng technique that involves
tes ng all possible paths through a program's source code. It
is a white box tes ng technique that is used to ensure that all
possible scenarios are tested.
Example: E-commerce Website Checkout Process
In an e-commerce website's checkout process, path tes ng can
be used to test all possible paths through the checkout
process. This includes tes ng different scenarios such as:
 A customer adding items to their cart and checking out as
a guest
 A customer adding items to their cart and checking out as
a registered user
 A customer adding items to their cart, applying a discount
code, and checking out

Benefits of Path Tes ng


1. Increased code coverage: Path tes ng ensures that all
possible paths through a program are tested, leading to higher
code coverage and a lower risk of undetected bugs.
2. Improved so ware quality: By iden fying and fixing
bugs early in the development cycle, path tes ng helps
improve the overall quality of the so ware product.
3. Cost-effec ve: Path tes ng can help reduce the overall
cost of so ware development by catching bugs early and
avoiding costly fixes later in the development cycle.
Challenges of Path Tes ng
 Path testing can be time-consuming and resource-intensive,
especially for complex software systems with many possible
paths.
 It requires a deep understanding of the code and the system
architecture, which may not be available to all members of the
development team.
 Path testing may not be effective in identifying all types of
defects, such as those related to performance or security.
Example for Domain& path:
Consider a banking application where users can transfer funds
between accounts. The input domain for the transfer amount
could be all positive integers representing money.
A path within the application could be:

User logs in ->


Navigates to transfer page ->
Enters transfer amount ->
Confirms transfer ->
Transfer is executed.

Domain Knowledge

 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.

Some Examples for Domain:

Example of Domain:
Retail Domains –
To successfully run a domain test, the tester has to recognize how things
workflow at different levels. examples of the retail domain are warehouse
management, in-store solutions, etc.
Healthcare Domain –
A person with a proper understanding of domain knowledge should handle
a healthcare system effectively. In the healthcare domain, there are a lot of
risks if someone doesn’t have knowledge related to the healthcare domain.
Banking Domain –
A tester should have basic knowledge of the banking sector like login, bill
payment, and transfers if the tester has knowledge so he will perform domain
testing in an efficient way.

Each domain comes with its own uniqueness and challenges. Therefore, without
domain knowledge in the specific field, a tester can't conduct domain testing.

How to Test a Banking Application?


Financial-related or Banking Application Testing, developers need to guarantee
an application runs easily and smoothly on all browsers and devices, is protected
from the freshest cyber threats, and doesn’t get on track to accomplishing peak
business performance.
Since users make banking transactions on a day to day, these apps need to convey
high performance that meets users’ expectations. Also, the banking application
requires a robust reporting system to continue a check on transactions. Software
testing plays an important role in evaluating that banking applications are
working efficiently.
Banking Application Testing Scenarios
The following are 5 Scenarios for testing banking apps:
1. Usability/UX Testing:
UX is the column to achieving the success of any software. A banking application
has a vast assortment of customers. Generally, bankers lack computing skills so
it is basic that an easy-to-understand interface is given. They should be easy to
access and able to understand where to create (add) new clients and deal with the
banking tasks effectively. Banking application interfaces should be simple, and
straightforward, and should have related suggestions. It saves bankers’ time and
helps them in giving outstanding customer service. Testers should focus on
checking the interfaces and UX completely.
Banking authorities are not generally proficient PC users. When it comes to
branch users, not every person has a good command of the web all things
considered. That is the reason application developers have to build clean, user-
friendly, and easy-to-understand interfaces. Testers need to guarantee that the use
of graphic attributes of the product doesn’t need much time and that all the main
functions and services are a couple of clicks away from the home page.

2. Security Testing:

When discussing a banking software application, customer information and data


should be secure, confidential, and protected against any leaks. Particularly in the
banking section, the security aspect is too crucial and excessively critical.
Customers should be provided with high information protection about their
financial transactions.

QA engineers dealing with testing banking applications should have expertise in


security testing and should develop comprehensive and extensive test strategies.
Testers should test all the fundamental functions and highlight the possible risks
in the future.

The main goal of security testing is to guarantee the application fulfills standard
security guidelines and has extra protection intended to be in the clear in the case
of hacker attacks.

3. Load and Performance Testing:

One of the serious issues that employees face when working with banking
software is related to its performance. If an application crashes while a customer
is performing some operation that is related to a money transaction, it can be
inconvenient for him. Performance Testing to check that the application fills in
as it is required and works as it is expected to. Likewise, regular system updates
can also promote a seamless service to customers.

This stage incorporates checking page loading speeds, testing the application’s
performance as the traffic load increments, and evaluating the product’s
responsivity for various browsers.

4. Check Software Functionality:

Banks have huge CRMs with a large number of dependencies and conditions
between modules. All the internal and external operations within the banking
chain must be effectively created, integrated, updated, and deleted. Functional
testing is one of the most suitable solutions to guarantee it is working according
to users’ expectations.
5. Focus on Online Banking:

Since customers use online banking services time after time often, it is essential
to utilize similar approaches for testing banking software. Online banking works
all day 24/7 which implies it should be tested for stress, load, and performance as
well. Happy online customers can promote banking applications and assist
manages an account while developing their business.

Intensive testing can’t be optional for banking applications as they deal with
enormous volumes of confidential data. An error-prone application puts the users
of the banking system at risk and endangers their financial resources.

Through testing, an organization owner can guarantee that users will be able to
freely perform transactions and check the status of a deposit or their account
record balance.

What is Domain Testing?


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 analyse the
inner structure of the product.

You might also like