Portability testing is the testing which establishes the ease or difficulty with which a software product can be moved from one environment to another. The environment here refers to different operating systems, hardware, databases or browsers. Therefore, it measures the units of effort while moving from one environment to another. It is typically done for products which are frequently transferred between environments.
Portability testing attributes
The attributes of the software product which portability testing evaluates are:
- Adaptability: It determines how flexible the system is towards environmental change. It checks hardware, software and system dependencies and language compatibility. Various system designs facilitate a smooth transition. However, at times they are rigid and difficult to move. Hence, it becomes important to evaluate if they are compliant with the new environment.
- Installability: It determines whether the software system installs easily on new environments or requires a lot of efforts and changes. It verifies if the software system is deployable in the new operating system, hardware, and available amount of memory. Moreover, it verifies the pre-requisites and installation procedure in the new setup.
- Replaceability: Replaceability implies the characteristic of exchanging one software system or component with another performing the same set of operations without altering the output. As we know, upgrades and replacements happen from time to time. Replaceability helps to substitute one component with another better or more advanced one.
- Co-existence: As the name implies co-existence, is the presence of two or more systems together in the same environment without adversely affecting each other. Real world systems are complex and many subsystems work in conjunction to accomplish functions. Co-existence is an important attribute of software systems which helps maintain sanity and optimum performance with all the other coexisting systems.
Portability testing example
Suppose there is a web application developed in Windows OS for Chrome browser. Now if the users demand to use it on Mac OS in Safari browser or on Linux OS in Firefox browser, then this application is a good candidate for performing portability testing. Hence, the team can perform portability testing to assess the portability attributes of the application. Moreover, it also gives the maximum effort for moving the web application to the new environment setup.
Portability testing advantages
Portability testing helps with
- When the product has a versatile user base using various types of environments.
- It identifies issues in the big software systems having several sub-systems.
- It checks the errors of application from moving to other environments.
- Portability testing determines if the application installs and adjusts in other environments.
- It also establishes if the application uninstalls cleanly in different target environments.
Portability testing challenges
- It increases the timeline of the project. Hence, requires approval from all stakeholders.
- Portability testing needs several environment setups for execution. It is a tedious process to accomplish.
- Testers should have good knowledge and comfort working on different types of environments.
- It is definitely a costly process and not all projects want to invest in it.
Portability testing verifies the suitability of the product in different environments. It not only determines if the product is able to install or uninstall in the new system but also that it functions at par in all the environments. Therefore, it requires a lot of testing environment setup thereby incurring high budgets. Hence, it is advisable only when the audience and users of the product intend to use it in different environments.