Simple explanations for different types of testing

Sometimes in the software testing cycle, it is difficult to understand each type of tests and where it fit in the context. 

So, with time, study and some readings, I created some questions for each type of test which might be helpful. See below:

Unit testing

The basic concept of unit testing is to ensure that the smallest unit of your system can be tested, such as: Functions, classes, methods and in some cases even modules.

Definition:

WHY : is to guarantee code assertiveness

WHO : Developers and some technical testers.

WHAT : Functions, classes, methods and modules (Less testable part)

WHEN : New code is written

WHERE : Most often local.

HOW : Junit, PHPUnit, Jasmine, etc.

Testing API or Services

It is a type of test to validate and evaluate the response of a given service, it can be REST or SOAP.

Definition:

WHY : is to guarantee that the services are communicable and the responses & requests are working as expected

WHO : Developers and testers.

WHAT : New services implemented

WHEN : As soon as changes occur or a new API is developed

WHERE : Local and in test environments

HOW : Postman / Newman, SoapUI or even query via http for any programming language of your choice.

Acceptance Test

It is a phase of the testing process responsible for validating system and user requirements, before being deployed.

Definition:

WHY : is to guarantee that the system requirements and the customer’s expectations are met

WHO : Testers

WHAT : User Story verification, field validation and verification of new features

WHEN : When functionality is finalised and unit tested

WHERE : Test and homologation environments.

HOW : Cucumber, Protractor and Jasmine, Selenium, Katalon Studio etc.

Regression test

It is the test phase when we apply a new version of the system and ensure that no new bugs have been found.

Definition:

WHY : is to guarantee that every system is working when new versions are implemented in an integrated manner

WHO : Testers, in some cases more agile the Business Analyst and the Product Owner.

WHAT : User flow, Positive flow, some performance and security stuff

WHEN : When the acceptance test is completed

HOW : Exploratory testing & using automated testing tools.

For me, the biggest difficulties were understanding why and when each type of test had to enter. So I hope I can help more people who, like me, felt this need!


Leave a Reply

Up ↑

%d bloggers like this: