Testing Types:

User Acceptance Testing (UAT) :

Imen MOKADDEM
4 min readMay 29, 2022

The aim of UAT is to verify if the system meets business requirements . Acceptance tests should be designed in a structured way that provides all acceptance criteria.
End-users usually perform this type of testing and decide whether or not to accept the system.

UAT Phases:

Black-Box Testing (Functional) :

In black-box, or functional testing, test cases are created on the basis of the system functionality, the tester requires information about the input data and the expected output, without needing to know how the system works internally. So the objective is testing the system functionality against the specification.

Test Execution

Regression Testing :

A system that’s modified for reasons such as correction, addition of features, etc.., is often retested to ensure that the changes made do not break it. Such testing is commonly referred to as “Regression Testing.”

So the aim of Regression testing is to ensure that the newly added or modified feature behaves correctly and that the old features continue to behave correctly. Regression Testing is needed whenever a new version of the system is obtained by modifying an existing version.

Regression Tests Execution

Integration Testing :

Integration testing occurs when two or more units are combined and tested. In this phase of testing it is assumed that the units combined have already been tested. The primary intention during integration testing is to find whether or not a subsystem consisting of multiple units works as desired.

The goal of integration testing is to discover any problems that might arise when the components are integrated. The “components” can be code modules, individual applications or client/server applications on a network.

Integration Testing follows Unit Testing and precedes System Testing.

Integration Testing

System Testing :

Black-box type testing performed on a complete, integrated system to evaluate the system’s compliance with its specified requirements.

Smoke Testing :

This test is performed when the build is just prepared (fresh build) and deployed in the test environments. This is basically a quick and a high level test to ensure that the major functionalities are not broken.

Smoke Testing

Sanity Testing :

An initial set of tests to determine if a new software version is functioning well enough ( in a “sane” condition) to accept it for a major testing effort. if sanity test has passed, and no regressions are detected, testers move on to test more advanced features.

Sanity Testing

Performance Testing :

“A well-performing application is one that lets the end user carry out a given task without undue perceived delay or irritation.”

Performance testing can be applied to understand your application or web site’s scalability, or to benchmark the performance in an environment of third party products such as servers and middleware for potential purchase. This sort of testing is particularly useful to identify performance bottlenecks in high use applications. Performance testing generally involves an automated test suite as this allows easy simulation of a variety of normal, peak, and exceptional load conditions.

Load Testing :

A type of performance testing conducted to evaluate the behavior of a component or system under varying loads, usually between anticipated conditions of low, typical, and peak usage.

Stress Testing :

A type of performance testing conducted to evaluate a system or component at or beyond the limits of its anticipated or specified workloads or with reduced availability of resources such as access to memory or servers.

Endurance Testing :

A type of performance testing conducted to evaluate the stability of the system over a timeframe specific to the system’s operational context.

End-To-End Testing :

Testing a complete application environement in a situation that mimics real-world use , such as interacting with a database , using network communications or interacting with other hardware & applications .

Security Testing :

Testing how well the system protects against unauthorized internal or external access or wilful damage.

Cross Browser Testing :

Testing if the web application works as expected across different types/versions of browsers .

Cross Platform Testing :

Verifies that a website/app works as expected across various different platforms. Platform can include OS, browser or a device that will be necessary to run your system.

Backend Testing :

Testing whether the data displayed in the GUI matches with the data that users can’t see ( in the API, Database ).

Back-end Testing

--

--