Product developmentTesting approaches and practical techniques

Basic types of testing

5 minutes read

This topic might make newcomers feel a bit confused, but we have a way to make it easier to grasp. There are many types of testing, but we'll make it simpler by dividing them into categories. This way, we will cover most of the types of testing.

Goal-based testing

Let's start with the basic categorisation by test purpose. What needs to be tested? Depending on this, testing is divided into two types: functional and non-functional.

Types of testing

Functional testing – confirming that the software product being developed has all the functionality required by the customer. UI testing is one of the types of functional testing. It is aimed at checking the user interface from the product functionality point of view.

Non-functional testing – testing properties that are not related to the functionality of the system. These characteristics are defined by non-functional requirements. Non-functional testing includes a large list of areas that are tested on a project.

Performance testing. The study of how fast an application responds to different kinds and levels of stress. It has subtypes like:

  • Load testing. Examines if the application can handle a high workload without breaking or slowing down, even when that workload goes beyond its usual limits.

  • Stability testing – investigating the application's performance during long-term testing at the expected load level.

  • Volume testing. Investigating the application's performance when processing various (usually large) amounts of data.

  • Stress testing. Investigating the application's behavior under abnormal load changes that significantly exceed the calculated level, or in situations where a significant portion of the resources required by the application are unavailable.

Usability (UX) testing. Check that the product is easy to use (buttons, colors, transitions, etc.).

Security testing. Determines how safe the software product is to use: whether the software is protected against hacking, unauthorized access to data, etc.

Installation testing. Checks that there are no problems installing, uninstalling, and updating the software.

Recovery capability testing. Tests the ability of the system to recover from a failure.

Compatibility testing. Checks whether a software product will work in a particular computer environment (e.g. Microsoft or iOS).

Localization testing. Testing the localized version (language) of a software product.

International testing. Testing changes to a software product in other regions.

Regression testing. This test is performed to verify that the system has not degraded after the changes. A deep and complete test of the product is performed.

Retesting. This is performed to verify a previously fixed problem.

Testing by automation level

The testing process is divided into two types: manual and automated. It depends on the method by which the testing is performed. Manual testing involves testing by hand without the use of automation tools. Automation testing is carried out using automated tests to improve the efficiency of the work.

Testing by positivity of the scenario

Positive testing is testing the software to see if it behaves as expected. This is the very first type of test that should be performed, as the main task of testing is to check that the software works correctly.

Negative testing is testing whether the software works when the user's behavior is different from the expected behavior.

Testing by performer

Alpha testing – testing of a software product at a late stage of development. Performed by developers or testers.

Beta testing – testing of software before it is released to the market by ordinary people – volunteers who are given a preliminary version of the product (beta version). Their feedback is collected, analyzed, and used to make changes to the product.

A/B testing – dividing users into groups who are given a new version of the product (beta) and the current version. Feedback from the groups is collected, analyzed and a decision is made on which version to release.

Conclusion

The types of testing discussed above allow us to look at the testing process from different angles. To get a more complete picture of software testing, it is also important to know about other types of testing, which are discussed in the next topic. The purpose of this chapter is simply to tell you what kinds there are. The main classification of testing types is based on checking the functionality of the application. This is what you will work with most often as a tester.

15 learners liked this piece of theory. 1 didn't like it. What about you?
Report a typo