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

What Is End To End Testing

End-to-end testing is a software testing methodology that tests an application from start to finish, simulating real user scenarios to validate system integration and data integrity. It involves testing interactions between all components of a system, such as its interface, data storage, and APIs. Some key aspects covered include: - Horizontal testing across multiple applications within a single system. - Vertical testing of all transactions from top to bottom of each application layer. - Designing test cases from the user's perspective to test features and scenarios. - Checking the end-to-end flow and interactions between a system and its subsystems, both internal and external.

Uploaded by

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

What Is End To End Testing

End-to-end testing is a software testing methodology that tests an application from start to finish, simulating real user scenarios to validate system integration and data integrity. It involves testing interactions between all components of a system, such as its interface, data storage, and APIs. Some key aspects covered include: - Horizontal testing across multiple applications within a single system. - Vertical testing of all transactions from top to bottom of each application layer. - Designing test cases from the user's perspective to test features and scenarios. - Checking the end-to-end flow and interactions between a system and its subsystems, both internal and external.

Uploaded by

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

1

What Is End To End Testing: E2E Testing Framework


With Examples
What Is End to End Testing: E2E Testing Framework with Examples
End-to-end testing is a Software testing methodology to test an application flow from
start to end. The purpose of End to end testing is to simulate the real user scenario and
validate the system under test and its components for integration and data integrity.
Nobody wants to be known for their mistakes and their negligence, and same is the case
with the Testers. When the Testers are assigned an application to test, from that
moment, they take the responsibility and the application also acts as a platform to show
their practical and technical testing knowledge. 
So, to describe it technically, to ensure that testing is done completely, it is necessary to
perform “End to End testing”.

In this tutorial, we will learn what is End to End Testing, how it’s done, why it’s
necessary, what are the matrices used, how to create an end to end specific test cases
and some few other important aspects also. We will also learn about System testing and
compare it with End to End test..
Real also => End to End Training on a Live Project – Free Online QA Training.
What You Will Learn: [show]

What Is End To End Testing?

End-to-end testing is a Software testing methodology to test an application flow from


start to end. The purpose of this testing is to simulate the real user scenario and validate
the system under test and its components for integration and data integrity.

It is performed from start to finish under real-world scenarios like communication of the
application with hardware, network, database and other applications.

The main reason for carrying out this testing is to determine various dependencies of an
application as well as ensuring that accurate information is communicated between
2

various system components. It is usually performed after the completion of functional and
system testing of any application.

Let us take an example of Gmail:

End to End Verification of a Gmail account will include the following steps:
1. Launching a Gmail login page through URL.
2. Logging into Gmail account by using valid credentials.
3. Accessing Inbox. Opening Read and Unread emails.
4. Composing a new email, reply or forward an email.
5. Opening Sent items and checking emails.
6. Checking emails in the Spam folder
7. Logging out of Gmail application by clicking ‘logout’

How End-To-End Test Work?


To understand a bit more, let us find out How it works?
Take an example of Banking Industry. Few of us must have tried out Stocks. When a
Demat account holder, purchases any share, a particular percentage of an amount is to
be given to the broker. When the shareholder sells that share, whether he gets profit or
loss, a particular percentage of the amount is then again given to the broker. All these
transactions are reflected and managed in accounts. The whole process involves Risk
Management.
When we look at the above example, keeping the End-to-End test in mind, we will find
that the whole process includes multiple numbers as well as different levels of
transactions. The whole process involves many systems that can be difficult to test.
3

E2E Testing Methods


#1) Horizontal Test:
This method is used very commonly. It occurs horizontally across the context of multiple
applications. This method can easily occur in a single ERP (Enterprise Resource
Planning) application. Take an example of a web-based application of an online ordering
system. The whole process will include accounts, inventory status of the products as well
as shipping details.

#2) Vertical Test:


In this method, all the transactions of any application are verified and evaluated right
from the start to finish. Each individual layer of the application is tested starting from top
to bottom. Take an example of a web-based application that Uses HTML codes for
reaching web servers. In such cases, API is required to generate SQL codes against the
database. All these complex computing scenarios will require proper validation and
dedicated testing. Thus this method is much more difficult.

‘White Box testing’ as well as ‘Black Box Testing’ both are associated with this testing.
Or in other words, we can say, this is the combination of benefits of both white box
testing and black-box testing. Depending on the type of software being developed, at
different levels, both the testing techniques i.e. white box and black box testing are used
as and when required. Basically, End to End test performs functional as well as the
architectural approach for any software or programs to validate system functions.
The Testers like End to End verification because writing test cases from user’s
perspective and in a real-world scenario, can avoid the two common mistakes
.i.e. ‘missing a bug’ and ‘writing test cases that do not verify real-world scenarios’. This
provides testers, an immense sense of accomplishment.
Below enlisted are few guidelines that should be kept in mind while designing the test
cases for performing this type of testing:

 Test cases should be designed from the end user’s perspective.


 Should focus on testing some existing features of the system.
 Multiple scenarios should be considered for creating multiple test cases.
 Different sets of test cases should be created to focus on multiple scenarios of the
system.
As we execute any test cases, similar is the case with this testing. If the test cases are
‘Pass’ i.e. we get the expected output, it is said that the system has successfully passed
End to End test. Likewise, if the system does not produce the desired output, then a
retest of a test case is required keeping in mind the areas of failure.

Why Do We Perform E2E Testing?


In the present scenario, as also shown in the diagram above, a modern software system
comprises of its interconnection with multiple sub-systems. This has made modern
software systems as a very complicated one.

These sub-systems we are talking about can be within the same organization or in many
cases can be of different organizations also. Also, these sub-systems can be somewhat
similar or different from the current system. As a result, if there is any failure or fault in
any sub-system, it can adversely affect the whole Software system leading to its
collapse.
4

These major risks can be avoided and can be controlled by this type of testing:

 Keep a check and perform system flow verification.


 Increase the test coverage areas of all the subsystems involved with the software
system.
 Detects issues, if any with the subsystems and thus increase the productivity of
the whole software system.
Below mentioned are the few activities that are included in the end to end process:
 A thorough study of requirements to perform this testing.
 Proper set up of test environments.
 A thorough study of Hardware and Software requirements.
 Descriptions of all subsystems as well as main software system involved.
 Enlist the roles and responsibilities for all the systems and subsystems involved.
 Testing methods used under this testing as well as standards that are followed, its
description.
 Test cases designing as well as tracing requirement matrix.
 Record or save the input and output data for each system.
E2E Testing Design Framework

We will look into all the 3 categories one by one:


#1) User Functions: Following actions should be performed as a part of building User
Functions:
 Listing features of the software systems and their interconnected sub-systems.
 For any function, keep track of the actions performed as well as Input and Output
data.
 Find the relations, if any between different Users functions.
 Find out the nature of different user functions .i.e. if they are independent or are
reusable.
#2) Conditions: Following activities should be performed as a part of building conditions
based on user functions:
 For each and every user functions, a set of conditions should be prepared.
 Timing, Data conditions and other factors that affect user functions can be
considered as parameters.
#3) Test Cases: Following factors should be considered for building test cases:
 For every scenario, one or more test cases should be created to test each and
every functionality of the user functions.
 Every single condition should be enlisted as a separate test case.
Metrics Involved
Moving to the next important activities or metrics involved in this testing:
5

1. Status of Test case preparation: This can be tracked in the form of a graph to


represent the progress of the planned test cases that are under preparation.
2. Weekly tracking of Test progress: This includes week wise representation of
the test cases execution progress. It can be reflected through percentage
representation for a pass, fail, executed, not executed, invalid, etc cases.
3. Status and detailed report for Defects: The Status report should be prepared
on a daily basis to show the test case execution status as well as defects found
and logged as per their severity. Weekly, the percentage of the open and closed
defects should be calculated. Also, based on defect severity and priority, defects
status should be tracked on a weekly basis.
4. Test environment: This keeps a track of the test environment time duration
allotted as well as the test environment time actually used while performing this
testing.
We have almost seen all aspects of this testing. Now let us differentiate “System
Testing” and “End to End testing”. But before that let me give you a basic idea of
“System testing” so that we can easily differentiate between the two forms of software
testing.
System testing is the form of testing which includes a series of different tests whose
purpose is to perform the complete testing of the integrated system. System testing is
basically a form of black-box testing where the focus is on the external working of the
software systems from the user’s point of view keeping real-world conditions as
consideration.
System testing involves:
 Testing a fully integrated application including the main system.
 Determine the components interact with one another and within the system.
 Verify the desired output on the basis of the input provided.
 Analyzing the user’s experience while using various aspects of the application.
Above we have seen the basic description of System testing to understand it. Now, we
will look out the differences between “System Testing” and “End to End testing”.

S.No
End to End Testing System Testing
.

1 Validates both the main Software system as well as all the As per the specifications pro
interconnected Sub-Systems. Requirement document, it ju
the software system.

2 The main emphasis is on verifying the end to end testing process The main emphasis is on ver
flow. checking features and functio
the software system.

3 While performing testing, all the interfaces including the backend While performing testing, on
processes of the software system is taken under consideration. functional and the non- func
and their features are conside
testing.

4 End to End testing is executed /performed after the completion of System testing is basically p
System testing of any software system. after the completion of integ
testing of software system.
6

S.No
End to End Testing System Testing
.

5 Manual testing is mostly preferred for performing end to End testing Both manual and automation
as these form of testing involves testing of external interfaces also be performed as a part of Sy
which can be very difficult to automate at times. And will make the testing.
whole process very complex.

Conclusion
Hope you learned various aspects of End to End tests like its processes, metrics, and the
difference between System testing and End to End testing.

For any commercial release of the software, End to End verification plays an important
role as it tests the entire application in an environment that exactly imitates real-world
users like network communication, database interaction, etc.

Mostly, the end to End test is performed manually as the cost of automating such test
cases is too high to be afforded by every organization. This is not only beneficial for
system validation but can be also considered useful for testing external integration.

You might also like