First of all we should know that what Portability testing is. It is a type of testing in which Software application is installed from one environment to other, may be from one platform to another platform with different hardware and software configuration. The whole purpose is to check whether application is able to run and can be deployed in different applicable environment, in order to satisfy business needs of the customer. If we see in terms of software application, running the whole application is also important to check whether whole of the application functionality is running in different environment. Apart from running the functionality of the application manually, it is also required sometimes to run automation testing suite to check if the application functionality is working fine in different environments.
One more thing that needs to be considered is deploying application in different hardware configuration in different environment. If we are deploying application, we need to check if it is working fine in environment with different hardware configuration such as Memory(Random Access Memory what we usually call RAM) Hard Disk space or different Processors which may be Dual Core, Triple core or Quad Core processors. Also application can be checked on different Operating system to check whether it is supported by that operating system.
Sometimes Application also needs to be tested on different resolutions such as 1280 by 1023 pixels, 1024 by 768 pixels, 800 by 600 pixels and 640 by 480 pixel resolutions. Also, Software Application needs to be checked on different browsers like and different browser versions. Generally browser version that is commonly used for testing is latest browser version and its previous two versions. Suppose the latest version of Browser Internet Explorer is 11, so we may test the software application on Internet Explorer Version 10 (Internet Explorer 10) and internet Explorer Version 9 (Internet Explorer 9). Though it is not mandatory and determined by the by the business needs of the customer.
Some of the most commonly used browsers are as below:
- Google Chrome
- Mozilla Firefox
- Internet Explorer
Nowadays, applications are being made compatible with the mobile platforms and are made compatible to work on Mobile Operating Systems. So, apart from these web browser versions, applications are checked on different mobile platforms
Generally what happens is that the defects which occur during Portability testing does not come out in normal course of testing like when team does Unit testing, Integration Testing, Module Level Testing and System Integration Testing. There are some defects which only come out during Portability testing and that needs to be fixed in order to ensure that application is highly portable and can be deployed in multiple environment and does not show failure when installed in different environment.
Also we need to check that integration of the Third Party Software with the project is also compatible with all the possible environment that has been decided to be checked upon.
There are times when the application requires to be checked and upgraded in order to be compatible with newer environment, so that end users, having different software and hardware configuration, have same experience, in that case also Portability testing is done.
The sole purpose is to test the environment to which developed software application can be ported to. Let us take an example, suppose we have to check whether software running on Windows XP is able to run on Windows 7 or MAC machine, there is need of type of such type of testing and find out defects and report it to development team so that it can be fixed and ensured that users working on these different operating system has the same experience and there is no compatibility issue in functionality as well as look and feel of the application
Now after knowing about what is Portability testing and how important it is, it is equally important for tester to know how to do this testing.
- First step is to get the requirement like what are different environments containing different hardware and Software configuration, product needs to be tested on.
- Second step is that we have to define the test cases to be checked (Test Suites or part of it), which is to be checked as per application’s business need which is covered in Test Plan. Please note that testing like manual testing is based on test cases or better say Test Suite which contains business scenarios with expected result. If while doing Portability Testing, Tester do not get expected result, Test Case is Fail, Also Test Scenario contains the description of environment (including Software and hardware configuration including Operating System, Browsers, Processor Speed etc.) in which software is to be ported or in other words, where such type of testing is required to be done
- Third Step is to execute these test cases
- Fourth step is to log defect
- Fifth step is to verify if the bug still exist, after fixing by development team.
The process is more or less same what is followed in Software Testing Life Cycle. One more thing to note that this testing is done in an incremental and Iterative model throughout the Software development.
You may interested in => Type of testing.
Advantages of Portability Testing are as below:
- It prevents defect to enter into production which would if found in production incur big cost and rework. Much time and Effort is required to solve the issue, if arises in different applicable production environment
- End users don’t face any problem on variety of applicable environment and software application work as expected
Though there are some disadvantages of Portability Testing:
- First disadvantage is that testing same thing again and again makes the work monotonous for testers and tester can lose its concentration while testing.
- Second disadvantage is that too much time is required.
- Third disadvantage is that it involves too much cost as different hardware configuration needs to be there available for testing.
Parameters for portability testing:
Now there are some parameters or, rather say criteria to find out portability of Software Application or component of software. These are as below:
- Adaptability: It is defined as capacity of the software to adopt to a particular environment without any effort
- Installability: It is defined as capacity of software application to get installed to the desired environment without using extra resources only.
- Replaceability: It is defined as the capacity of software application to replace other software in a particular environment
- Co-existence: It is defined as capacity of software application to work with other software application on the system without disturbing each other and sharing the same resource.
Overall, we can say that this type of testing is very important type of testing which allows software application to work in same manner efficiently in all the applicable environments for which Portability Testing has been done and ensure that there is no failure after release, due to change in multiple desired environment, which in turn saves Time, Effort and Cost for the company and serves the purpose of the customer for which software application was developed, in many environments.
Like this post? Subscribe to get new articles via RSS or Email. Sharing your own testing experience, tips or testing secrets in comments below will definitely make this article more interesting and helpful!!
Happy Testing with STC!!