Types of software testing

Criterion: Level
Modular (component) testing consists of testing individual components or modules used in the software.

Integration testing. It is used to check whether different modules and services work well together. The integration of modules, their interaction with each other, and the integration of subsystems into a common system is tested for compliance with requirements.

System testing is performed after module and integration testing. It is intended to check the functioning of the software product as a whole and to evaluate its compliance with the requirements.

Operational testing. If the system meets all the requirements, it is important to ensure that it meets the needs of the user and fulfils its role in its operational environment.
Before a finished product is released for use by the general public, it must undergo mandatory testing. This is the final stage of work on software, an application or a website, which consists in checking the functionality of all the resource's functions and its compliance with the technical specification.

It is necessary to understand that there is no reference list of types of testing. Books on testing present various variants of classifications. Together with specialists from Magenta Favorita IT, we have analysed what types of testing there are and what criteria are used to distinguish them.

Criterion: test object
Functional. Testing is aimed at checking which software functions are implemented and how correctly they are implemented. The purpose of this type of testing is to check that the actual functions of the product match the functional requirements.

Non-functional. Testing of characteristics that are not related to the functionality of the system.

Non-functional testing includes
  • Localisation testing. This is the testing of the content of an application or other product against the linguistic and cultural requirements of the target region and its peculiarities.
  • Configuration testing. A special type of testing aimed at verifying the operation of the software under different system configurations (declared platforms, supported drivers, under different computer configurations, etc.).
  • Compatibility testing. Its purpose is to ensure the smooth operation of the software in different environments. For this purpose, it is necessary to check the compatibility with certain devices, operating systems, browsers, etc.
  • Installation testing is aimed at checking the installation and configuration, as well as updating or uninstalling programs and applications.
  • Performance testing. System performance is evaluated under a given workload. These tests can be used to assess the reliability, speed, scalability and responsiveness of an application. For example, the response time when executing a large number of requests, or the behaviour of the system when working with large amounts of data.
  • User Interface Testing - Testing the interface for compliance with requirements (size, font, colour, etc.).
  • Usability testing is a testing method aimed at determining the degree of usability, comprehensibility and attractiveness of the developed product for users.
  • Security testing. It is used to verify the security of the system and to analyse the risks associated with providing a holistic approach to protecting the application from attacks by hackers, viruses, unauthorised access to confidential data.
Criterion: Degree of automation
Manual. This test is performed by a person who checks the operation of all application functions manually or by interacting with the software and API through the appropriate toolkit.

Automated. Performed by a machine using a pre-written test script. This approach is much more stable and reliable than manual testing, but the quality of automated testing depends on the quality of the test scripts.

Criterion: Level of access to the code
Black box. A testing technique that does not involve access (full or partial) to the system. It is based on working exclusively with the external interface of the system under test.

Grey Box. A software testing technique that requires partial access to the project code.

White Box. Assumes full access to the project code.

Criterion: Changes
Smoke tests. These are basic tests that check the basic functionality of the application. They are carried out at an early stage and are primarily aimed at checking the readiness of the product for more advanced testing. They allow you to identify the main critical defects at an early stage, which can be detected quickly.

Reasonability testing. Used to demonstrate the performance of a particular function or module in accordance with the stated technical requirements. Traditionally, sanity testing is performed after a minor defect has been fixed within the system, or after work has been done on partial editing of the software's operating logic.

Regression testing. Code is interconnected, and a fix may cause new problems. A change made to one part of the code may inadvertently affect the behaviour of other parts of the code. Regression testing aims to catch such unintended side effects.

Testing with Magenta Favorita Universal LDA
Tasks related to the software testing process are one of the most sought-after services today. Magenta Favorita Portugal's staff will help you carry out all possible tests to ensure the quality and reliability of your product.
Other company articles
Show more