What is Non Functional Testing In Software Testing?
- Non functional testing is apart from the functionalities of the requirements, there are several non-functional aspects as well that are required to be tested to improve the quality of the software product.
- Non functional testing is done only if the requirement says to do that.
- It’s a part of functional testing and comes under system and functionality testing.
- Below we explain all non functional testing types with non functional testing examples.
Types of Non Functional Testing
Few Major Non Functional Testing Types Include:
- Recovery testing
- Compatibility testing
- Configuration testing
- Inter system testing
- Installation testing
- Globalization testing
- Sanitation testing
- Parallel testing
- Usability Testing
- Performance Testing
1. Recovery Testing
- Process of checking whether the system is able to recover from any crash or if any data of file gets deleted.
- Recovery requirements are given by the customer.
Example:
- When we accessed the google page and suddenly the internet connection was lost then google showed that you are offline and whenever the connection resumed page we were accessing showed Google.
- When we are buying something from amazon after entering the address we get redirected to the payment page and suddenly app crashes when we reopen that app we have to start again from start.
2. Compatibility Testing
It is the process of checking whether the build is compatible with the user’s expected platform (Operating systems and browsers are user-expected platforms).
Compatibility Testing has two types:
1. Forward Compatibility Testing:
If the build is correct but it’s not working properly on OS/Browser then it is forward compatibility. Errors we find in this test.
2. Backward Compatibility Testing:
If OS/Browser is correct but the build is not proper then it’s backward compatibility testing.
Maximum errors we find in this test.
Software Compatibility testing includes – 1. OS compatibility testing and 2. Browser compatibility testing.
Generally, we perform browser compatibility testing.
Browser compatibility testing is a process in which tester tests build on different.
browsers like internet explorer, chrome, Firefox, etc
The same can be tested on different versions of browsers.
3. Configuration testing
It is the hardware compatibility testing.
It is the process of checking whether our application works on different hardware or not.
Testers are mostly not involved in it.
4. Inter System Testing
It is the process of checking whether our application is able to share resources with other applications OR It is the process of checking whether our application shares data with other applications or not.
DATA communication happens with XML.
Example:
Suppose we have to make payment for the JIO number from Paytm. Then Paytm fetch the data from the JIO app and this data sharing concept and testing comes under inter system testing.
5. Installation Testing
It is the process of checking the installation of our build with existing software into customer life configuration.OR It is the process of checking the installation of our build with existing software into user-expected platforms like a web-based application or mobile app.
When the tester installs the app it should create a shortcut on the desktop.
Testers are mostly not involved in it.
1. Set up program execution:
Check whether the package has all files like executable files.
Check whether all drivers are present or not
2. Easy interface:
The interface should be user-friendly like the user should navigate through the app easily.
3. Disc Space:
Any app requires disc space at the time of installation
Tester check whether disc space is available or not.
If no space is available then some error message should be shown like “Insufficient disc space”
4. Check Uninstallation:
Check whether the application can uninstall from the system or not.
6. Globalization Testing
It is the process of checking whether the application supports different languages or not
Types of Globalization Testing
1. Localization Testing
Check weather application support local languages like Marathi, Bengali, Telugu, etc.
2. Internationalization Testing
Check whether the application supports the official language of countries like English, Dutch, etc.
Here we test mostly the content on the application, formatting of numbers (like commas, dots, etc), and displayed date format in different languages.
7. Sanitation Testing or Garbage Testing
Sanitation testing or garbage testing is the method in which we test/check for extra features which are not mentioned in customer requirements.
When we found any extra feature in the product/build we log them as a defect/bug and the developer has to eliminate that extra feature.
For example on the login page developer added extra features like Google login or Facebook login.
The developer can suggest an extra feature to the customer but he /she should take permission from BA. If the customer agrees then only that extra feature should be built and for that extra money would be paid by the customer.
If an extra feature is developed by a developer in the build then the tester logs a bug against that extra feature.
8. Parallel Testing or Comparison Testing
It is the process of checking our product with other products.
Mostly used in product-based companies to compare features of the same application with other applications.
We are not involved in it because we work in service-based companies.
9. Performance Testing
Performance Testing is the process of checking the speed of processing of our build.
Performance test engineers perform this activity, We do not perform this activity.
Tools: Loadrunner, Jmeter etc.
10. Usability Testing
It is the process of checking the user-friendliness of our build. Mostly focus on the friendliness of an application and ensure user should be comfortable using any application.
Easy validation should be present in any requirement for users.
Examples:
- On the sign-up page, if we click on the name, age, address, etc then the focus should go to that field to make it user-friendly.
- In Gmail, sign up and sign in are at the middle of the page, and no ads so it is user-friendly.
Types of Usability Testing
1. GUI Testing
- Easy to use. Here we are checking the color, font, and design so basically the front end part of any application.
- Mostly focus on the look and feel of an application.
2. Manual Support Testing/Regular expression testing
It is the process of checking context sensitivity to the user’s manual input.
Regular expressions are sometimes more than one object/data having the same logical name. This is called regular expression.
Example:
If there is an uber app in which we have to enter the source and destination. Then we enter the P letter in the source tab then it shows all location suggestions starting with P.
Questions on Non Functional Testing
Q 1. Non functional testing is done in which phase?
Ans: Non functional testing is done in the software testing phase.