Portability Testing is the type of Software Testing which is carried out to determine the degree of ease or difficulty to which a software application can be effectively and efficiently transferred from one hardware, software or environment to another one.
The results of portability testing are measurements of how easily the software component or application will be integrated into the environment and then these results will be compared to the non-functional requirement of portability of the software system. The measurement is based on the comparison of the cost to adapt the software to the new environment to the cost of redevelopment.
Objective of Portability Testing:
The objective of the portability testing is:
- To determine whether a system can be ported to each of the environmental characteristics.
- To determine whether the look and feel of the application with respect to user interface and functional features are similar to various operating systems and browsers.
- To determine whether the system is ready for release on various browsers and environments.
- To find the defects that are missed by the unit and integration testing.
Portability Testing Attributes:
Adaptability is defined as the capacity of the software application to adopt to a particular environment without any effort. Common communication standards between multiple systems help in enhancing the adaptability of the system as a whole.
Installability is defined as the capacity of software application to get installed to the desired environment without using extra resources. Installability is performed on a software that is to be installed in a target environment.
Replaceability is defined as the capacity of software application to replace other software in a particular environment. The software application that is replacing the previous software application must produce the same results on all target environments.
Co-existence is defined as the capacity of software application to work with other software application on the system without disturbing each other and sharing the same resource. Specially this testing is used in large systems which include multiple subsystems as part of it.
Portability Testing Checklists:
- Test whether the application can fulfill the portability requirements.
- Determine the user interface and functional features of the application in the various browsers.
- Review the defects to the development team so that the defects can be fixed.
- Portability testing help to identify defects that were not detected during unit and integration testing.
Advantages of Portability Testing:
- It helps in identification of the dependencies between two applications.
- It is especially used in large systems which have several subsystems as part of it.
- It is performed when the user of application uses multiple environments.
- Defects that are missed during unit and integration testing are detected during this testing.
- Performance and responsiveness of an application is tested across various browsers and various operating systems.
- User interface and functional features of the application on various browsers and various operating systems are checked using this testing.
- It helps in determining whether the functionality of the application is as expected on various operating systems and various browsers.
Disadvantages of Portability Testing:
- It is not performed when a time constraint is applicable on the software testing cycle.
- A lot of budget is required for portability testing for various operating systems and various browsers.
- Support for maintenance of the setup hardware configuration is needed.
- Portability testing is a repetitive testing process.
- Portability testing in a multi-user environment is very tricky.
- A lot of storage space is required for portability testing.
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Testing | Functional Testing
- Software Testing | Static Testing
- Software Testing | Configuration Testing
- Beta Testing | Software Testing
- Software Testing | Penetration Testing
- Software Testing | Security Testing
- Software Testing | Mutation Testing
- Software Testing | Fuzz Testing
- Software Testing | Spike Testing
- Software Testing | Database Testing
- Software Testing | Stability Testing
- Software Testing | Globalization Testing
- Software Testing | Load Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.