Portability testing


Portability testing is the process of determining the degree of ease or difficulty to which a software component or application can be effectively and efficiently transferred from one hardware, software or other operational or usage environment to another. The test results, defined by the individual needs of the system, are some measurement of how easily the component or application will be to integrate into the environment and these results will then be compared to the software system's non-functional requirement of portability for correctness. The levels of correctness are usually measured by the cost to adapt the software to the new environment compared to the cost of redevelopment.

Use cases

When multiple subsystems share components of a larger system, portability testing can be used to help prevent propagation of errors throughout the system. Changing or upgrading to a newer system, adapting to a new interface or interfacing a new system in an existing environment are all problems that software systems with longevity will face sooner or later and properly testing the environment for portability can save on overall cost throughout the life of the system. A general guideline for portability testing is that it should be done if the software system is designed to move from one hardware platform, operating system, or web browser to another.

Examples

There are four testing attributes included in portability testing. The ISO 9126 standard breaks down portability testing attributes as Installability, Compatibility, Adaptability and Replaceability. The ISO 29119 standard describes Portability with the attributes of Compatibility, Installability, Interoperability and Localization testing.