9 types of tests you must absolutely use

9 types of tests you must absolutely use

In each level of testing there are different types of tests. The list may be long, but in this article we present the 9 essential types of tests. They are of course to be known. But above all, you must use them in each of your development projects.

The definition extracted from the ISTQB syllabus for “type of tests” is the following:

A group of test activities based on specific test objectives aimed at specific characteristics of a component or system.

A test type is focused on a specific test objective (e.g. reliability, usability, regression, etc.). Each test type can cover one or more test levels and one or more test phases.

#1 Smoke testing

Smoke testing consists of a non-exhaustive series of tests to ensure that no critical bugs affect the major functionalities of the software. This type of test determines whether it is possible to advance in the testing stages or whether it is necessary to review the code before going any further. When the tester receives a new version of the product to be tested, it starts the smoke testing first.

Types of tests

#2 Functional testing

Functional tests aim at confronting the system with functional requirements. Testers execute an action and analyzing the result obtained. For example, an action can be press the “add to cart” button and check did the button press cause the selected product to be added to the cart or not. If the result obtained differs from the expected result, we will consider that there is an anomaly. And the tester will be led to document an anomaly.

Testers use test plans to execute functional tests. And they ensure that the system meets the functional requirements. Requirements that are defined in the functional specifications of the project.

#3 End-to-end testing

End-to-end testing allows you to test a user’s journey from start to finish. This test verifies that all components of a system work as expected together in real-life situations.

End-to-end testing integrates different types of tests: functional tests, compatibility tests, usability tests, graphical tests…

#4 Non-regression testing

After a software evolution (bugfix, the addition of functionality, etc.), it is necessary to make sure that the changes made have not affected the software. That is to say that no regression in the code has been introduced as a result of new developments.

During this phase, we will simply re-run the previously played test cases. Depending on the criticality of the delivery all or part of the tests will be replayed.

software testing

#5 Usability testing

Usability testing (or user testing) is executed by an end-user, with the aim of checking whether the system is suitable for him. By observing and identifying how the user uses the system and any difficulties he encounters, the usability of the website/application can be effectively evaluated.

#6 Intrusion testing

This type of test consists of evaluating the security of a system, usually by simulating a computer attack. The goal is to discover vulnerabilities that a hacker could exploit in order to improve the security system. They are run by testers who are specialists in this field.

#7 Performance testing

To determine how the system performs in terms of response time and stability with a high number of users or a failure event, the tester run performance tests. There are many performance tests available. You will find the 4 main ones below:

  • Load test
  • Stress test
  • Endurance test
  • Scalability test

#8 Exploratory testing

In exploratory testing, the tester ignores the recipe book and functional specifications. Tester designs the tests as he explores the site/application. This type of test has several advantages. By departing from the technical requirements, the tester can put himself in the position of a user and check the logical operation of the system. It also allows the discovery of new anomalies and the improvement of existing test cases.

Testers, in addition to functional and end-to-end testing, execute exploratory testing. Despite the “free” aspect, it is necessary to organize exploratory test sessions.

automated testing

#9 Automated testing

Automated tests are widely used in non-regression testing. Using a framework, the automator will code the tests that the script must execute at each version of the system. This is very useful to free up some weight for testers on repetitive tasks. Automation also allows to have a regular verification of the software.

However, not everything can be automated. It is thus necessary to make a strategic choice on the parts to automate and those to test manually.

Written by
Xavier Brice
Join the discussion

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Rocket Your App To the Next Level

The Testing Company For Websites And Mobile Apps Based In Asia.
We provide quality assurance testing services for any product that appears on a screen and interacts with a human :)
Let's talk about test!