• info@helpingtesters.com
  • helpingtesters

Portability Testing

December 20, 2016 Types of Testing
portability testing, testing, software portability

Portability of a software is the capability of the software to adapt the changing environment when moved from one to another. Portability testing is the process of evaluating the portability of the software. Portability is measured based on the maximum effort and expense required to transfer from one Operating System to another. 

The portability testing basically validates the system requirements to a certain extent. The testing strategy is designed to determine whether the system can be ported to each of its portability requirements like hardware RAM,  disk space, processor speed, resolution, OS versions, browser versions etc.. And also checks for the look and feel of the user interfaces and the functional performance in various versions of browsers and operating systems.

The Steps in Portability Testing

Test for Installability: The process tests for the requirements of existing software for the proper installation of the product. The prerequisites of the software in target environment should be analyzed and double checked before the installation

Test for Compatibility: The process tests for the compatibility of the software with the existing software/applications and the available resources. The test helps to determine the performance of the application in different combinations of resources and the environment.

Test for Adaptability: The process tests for the capability of the product to be adaptable to the various environments it comes to touch with.

Test for Replaceability: The process tests for the ability of the product  to replace the competitive products available

Preconditions to be satisfied for the Portability Test Execution

  • Software Integration has completed.
  • The specified software components have passed the unit testing.
  • The integration testing for the relevant components has passed.
  • The requirements for portability testing are fully evaluated and verified.

The concept of portability testing is designed for ensuring that the application can be installed on multiple operating systems, can be used on multiple devices and will be able to replace the previous version of the same or similar software. The portability testing should be automated if regression testing occurs.

How to Perform Portability Testing?

Consider a software developed for fighter planes. The need of proper installation of the software in the plane is inevitable and the testing process should be perfect for ensuring the best performance.

The system manages the navigation, communication, fuel levels and alerts any hazardous situation. The early detection of any possibility of risks should be conveyed to the pilot to take precautions. This system should be tested by analyzing the features and the prerequisites for the installation. In this case, portability is an important aspect while designing the test plan.

The manual testing tactics are necessary to ensure the performance and behavior of the system. But manual testing is not enough for analyzing all the features in detail and evaluating the functionalities. So, in the above example, the automated testing is essential to perform tests for portability.

The requirement of various resources is huge for ensuring the portability. This will not be so easy to ensure the availability of resources. Also, most of the customers will be comfortable with sticking on the environment in which they are currently working. Developing a software in a single platform will not be easy to implement as per the user requirements. So, developers should concentrate on the availability of resources and possibilities of making the software portable to various environments.

Portability some of the important aspects to be considered

Selection of  the Operating  Systems

Depending on the hardware platforms the operating systems should be varying and the system design process will determine the operating systems on which the software should be compatible with.

For desktop and mobile applications the operating systems like Microsoft Windows versions, Apple MacOS X and Linux–based distributions should be considered. For the mobile apps, the most common are Google Android, Apple IOS, Windows Phone, BlackBerry OS and Nokia Symbian. For embedded devices and mainframes, the need for operating systems varies.

Hosting Web Server Application

A hosting site is required for the hosting of web applications. An improved hardware and network capacity are needed for an increased traffic.

Buying enough space for peak traffic without spending much money is a tricky decision and the site should be capable of properly managing the applications needs.There are a lot of options like Amazon Web Services, Microsoft Azure, Cloud-based hosting etc.. for perfect hosting by analyzing the application’s requirements.

Using Browsers

The browser compatibility is a major issue while implementing web pages. The use of browsers in different platforms should be tested. Most of the major browsers such as Mozilla Firefox, Google Chrome, Opera are available on all the major platforms.

Some browsers like Apple Safari is available on certain platforms only. So, the application should be tested for the performance in every browser versions. Also, should ensure the compatibility with mobile browsers. The responsiveness of the web applications for various mobile OS should be tested and some scripts/plugins should be implemented for the best performance.

Automation Testing

The portability testing needs to be automated when considering the time for execution and the availability of expert testers. Certain testing Tools can be used for a perfect report. Selenium Testing tool is an efficient tool for checking whether all the available combinations of browsers and platforms are evaluated.

Manual test cases will take more time for confirmation. The lack of availability of any browser or platform will be accounted while building an automatic portability test environment.

Advantages of Portability Testing

The advantage of portability testing is that it is possible to identify the bugs during the process of installation. The errors detected during installation will never affect the user perception. For example, for troubleshooting a plug-in. the user expects to copy the file and install simply to the system. This is possible when the plug-in is portable to any environment.

Disadvantages of Portability Testing

  • A portable software always suffers from the issues of the multi-user environment. The resources are t shared among the users.  So, sometimes the application may share the data of all the users each other.
  • The portability testing is always very time-consuming.
  • The test process becomes costly and requires high workload to prepare for all the test environment.

About the author

Meera Sandeep author

Leave a Reply

Your email address will not be published.