What is meant by Portability?
– Portability of a device or a software component can be defined as its capability or ease with which it can be shifted to a new environment.
– Portability testing is a testing technique that tests this capability or ease of the device or a software component.
– Portability is a non-functional aspect of the software and so portability testing is also a non-functional testing technique.
– It tests whether a component of the computer software can be moved from one computing environment to another and with how much ease.
– This ease is determined in terms of the maximum permitted amount of effort.
– The results of the portability testing are expressed in terms of amount of time needed for shifting the software.
– This time also includes updating the documents and complete conversion of the data.
– It also refers to recompiling the software application so that it becomes compatible with the other platforms also. – Today, almost all the software applications are compatible with all the platforms.
– If the development cycle is iterative and incremental, the portability testing has to be carried out with each iteration and after every incrementation.
– Thus, portability testing in this case is performed in an iterative and incremental manner.
– In some cases it might be required to carry out regression testing also.
– In such cases it becomes necessary to automate the portability testing.
Objectives of the Portability Testing
1. Partial validation of the system.
– It involves determining whether or not the portability requirements are fulfilled by the system.
2. Determining if the requirements can be ported to the following required environments
– Processor of the system and its processing speed.
– Hardware physical memory and disk space.
– Resolution of the monitor.
– The make as well as the version of the operating system.
– Make and version of the browser.
3. Determining if all the web pages look and feel the same. It also determines whether the functionality is also same across the various types of browsers as well as their versions.
4. In this testing the system is subjected to causes of the failures.
– This helps in the identification of the defects.
– These are the defects that cannot be found efficiently during the early stages of software testing i.e., the unit testing and the integration testing.
5. Reporting the failures of the systems to the developers so that they can work up on fixing those defects.
6. Helping in determining the extent up to which the system can be launched.
7. Helping in providing the status metrics such as the percentage of the use case paths that have been tested successfully.
8. Providing the input for the defect trend analysis effort.
The tests for the following are included in the portability tests:
This testing is carried out on the software that is used for installing the other applications on the targeted environment.
Co – existence can be defined as a product’s capability of co – existing along with the other software applications. All the co – existing software systems share the same environment as well as its resources.
This is the software product’s capability to serve in place of another product that too has the same purpose and used in the same environment.
This is the software’s capability of adapting to various types of environments without the application of the actions or some other means apart from those specified for the system.
Portability testing for an application is carried out so as to see if it is portable across the following: