As opposed to functional testing, the purpose of which is to verify that the actual product functions meet the functional requirements, as you might have guessed, the purpose of non-functional testing is to verify that the properties of the application match its non-functional requirements.
Non-functional testing means testing properties that are not related to the functionality of the system. These properties are determined by non-functional requirements that characterize the product from such sides as:
These properties of the system can be investigated using the following types of testing:
As you can see, although non-functional testing does not check the system functions specified by the customer, it allows you to control more global properties: safety, performance, and reliability. These requirements characterize the quality of the software system, which leaves an impression on the user that affects how popular the developer company is.