logo
Send your CVContact

/

logo
Background image

Blog

Non-functional Testing

Norbert Wieczorek 30.01.2023

Some time ago, we delved into the world of functional tests (https://dorwijnerda.pl/pl/blog/testy-funkcjonalne), so it would be remiss not to mention non-functional tests, which complement each other like the Taoist yin-yang symbol.

First, it's worth explaining how non-functional tests differ from functional ones. Functional tests focus on checking whether the application works according to requirements and specifications, while non-functional tests focus on other aspects of the application, such as performance, scalability, security, and usability.

In other words, functional tests answer the question: "Does the application work as it should?" Meanwhile, non-functional tests answer the question: "How well does the application work?" In this way, non-functional tests complement functional tests, allowing for a complete and comprehensive assessment of the quality and functionality of the application.

Now let's look at some specific types of non-functional tests:

Performance Testing

These are used to check how the application copes with the load and how quickly it responds to various situations. Tools such as Apache JMeter, Gatling, or LoadRunner can be used to generate heavy traffic in the application and monitor the results. The goal is to identify performance-related issues, such as long page loading times or delays in responding to requests.

Scalability Testing

These tests check how the application handles a large number of users and data. Scalability testing is often performed in conjunction with performance testing, as both aspects are interrelated. Scalability testing involves gradually increasing the load on the application and monitoring its performance. The goal is to ensure that the application can adapt to an increasing number of users and data without losing performance.

Availability Testing

These tests determine whether the application is available and functioning correctly over a specified time and level. Availability testing requires generating heavy traffic in the application and monitoring its operation over a specified period, e.g., 24/7 for a week. The goal is to ensure that the application can operate continuously and provide availability for all users.

Security Testing

These tests check how the application protects data and how resistant it is to cyberattacks. Security tests are important for applications that process sensitive data, such as credit card numbers or personal data. The goal is to ensure that the application can protect this data and prevent unauthorized access.

Usability Testing

These tests check whether the application is easy to use and meets user expectations. Usability tests involve assigning test users to perform specific tasks in the application and monitoring their experiences. The goal is to ensure that the application is easy to use and convenient for users.

 

In summary, non-functional tests are something that cannot be ignored when assessing the quality and functionality of our application. Checking things like performance, scalability, security, and usability gives us a complete picture of how our software functions. Therefore, it is important not to neglect non-functional tests and to ensure they are performed properly. Only then can you be sure that your application works as it should and will not have any problems. By investing in good and reliable tests, you can be sure that your software meets all requirements and is ready for use. What more could you want, right?

logo
ContactSend CV