What is Non Functional Testing?
All testing can be divided into two main parts: functional and non-functional. Functional testing can be conditionally referred to as "standard" testing, and non-functional testing as additional.
Functional VS Non-Functional Testing
- Functional testing is aimed at verifying the compliance of software requirements with its real characteristics. The main task of such testing is to confirm that the developed product has the functionality required by the client.
- Non-functional testing is the testing of properties that are not related to the functionality of the system. This type of testing allows determining the performance of the system under different conditions. Is non-functional testing mandatory?
Is non-functional testing mandatory?
It all depends on the goals of the project at the current time. Some projects (for example, an MVP startup that needs to be launched as soon as possible) may be limited to only functional testing. But for some projects, the emphasis is on non-functional testing (for example, a stylish landing page for a company's brand).
In mobile application development, additional testing is definitely necessary. This is because one of the most important criteria for application performance is ease of use, which is included in usability testing. We will talk more about it and other types of additional testing that we apply.
What to pay attention to in non-functional testing of mobile applications
- Incoming and outgoing SMS, calls, notifications from other applications;
- Battery overheating;
- Disconnecting and connecting cables;
- Turning off and on networks, Bluetooth, airplane mode, GPS;
- Disconnecting and connecting SD cards, additional devices like physical keyboards or headsets;
- Loss of connection to the server or proxy.
Another important stage in testing aimed at supporting and displaying the software product correctly is cross-browser compatibility. Ultimately, the product should be displayed correctly on any modern device.
First of all, it is necessary to study the statistics of application visits and determine which browsers are popular among the target audience. Usually, the most common ones are Google Chrome, Mozilla Firefox, Internet Explorer, Opera.
Checking cross-browser compatibility involves not only tests on real browsers but also using convenient online services and utilities. Such as BrowserStack, Browsershots, Webshot by Mobile Ready, and others.
Types of non-functional testing
Usability testing shows how well a product meets user expectations. It identifies problem areas and allows you to see the software through the eyes of real users, obtain practical recommendations regarding content, design, and navigation, and explore the ease of working with the application.
Configuration testing can pursue different goals. For example, it can determine the optimal hardware configuration or check compatibility with hardware and software products from other vendors. By the way, ISTQB Syllabus does not mention configuration testing. Another term is used for this — portability testing. Don't be surprised if you come across it.
Scalability testing determines the system's ability to handle large volumes of traffic.
Performance testing allows you to detect possible vulnerabilities in the system and prevent their harmful effects during use.
Performance testing is divided into:
- Stress testing checks the application's performance under loads that exceed user expectations.
- Load testing simulates various loads on the application, comprehensively evaluating system performance, quality, and reliability.
- Volume testing is conducted to study the performance when increasing the amount of data stored and used in the application.
- Stability testing shows how the application will behave during long-term operation under normal load.
All of the above tests are necessary for controlling the security, performance, and reliability of the program. The quality, rating, and popularity of the application directly depend on these requirements.
Do you want your websites and software to not only be functional but also user-friendly? Write to us at firstname.lastname@example.org — we will test and help bring any project to perfection.