The evolution of the software systems has taken a fast new pace. Thus, the environment in which our computer systems operate is also changing quite frequently. The application software that we use need to be compatible with all these changes. This is why we need portability in our systems and application software.
– All the software that we are using needs to be portable i.e., it should be easy for us to shift them to other operating environments if required.
– The extent up to which the software is portable is determined with the help of the portability testing.
– Most of us consider the portability testing as a part of the system testing but it is actually a type of non–functional testing technique.
– The software system is tested with the intention of knowing the extent of ease with which the software can be ported to some other system.
– Two strategies have been defined for portability testing.
– The first strategy being building the executable files of the software system for running them on various platforms.
– The second strategy involves transferring the installed software from one system to another.
– Overall testing of the software gets included in the portability testing with respect to the various usage patterns of the software over various environments.
The focus of the portability is on the following three major things:
Portability testing has 4 pre–requisites:
– Portability testing can be thought of as an activity that aims at the evaluation of the program’s portability and improving it through identification of the problems and defects.
– Even though portability testing strives for attaining its goals but there are some limitations.
– In spite of these limitations, the portability testing can still be performed efficiently if certain principles are followed properly.
– Even though there are limitations, the portability testing is preferred above all the other proofs, model checking, and static analysis and so on.
-To maximize the efficiency and effectiveness of the portability testing, it is important that we understand its benefits as well as its limitations.
– Limitations can be considered to be principles that a limit a thing’s extent.
Limitations of Portability Testing
Portability testing too has the following limitations:
– Testing is sometimes used to show that there are errors present in the software but it cannot be used to show that the errors are absent. It gives no clue as to what all defects have been left uncovered. Portability testing does not guarantee that there are no issues with the portability of the SUT (system under test).
– Portability testing offers no help when the decision has to be taken regarding releasing the SUT for meeting the deadline or with errors. Another option is to compromise with the deadline and release the product late.
– It cannot be established well by portability testing that the software product is easy to port and can be ported without any problems. Rather, it can only be used to establish the conditions under which the software cannot be ported without any problem.
– The root causes responsible for introducing the portability defects in the software system cannot be found using the portability testing in just one go. If the root causes can be located, they can be prevented from injecting defects in to the software system.
Portability testing by no doubt is an important part of the software testing life cycle and can harness good results if used properly. Often portability testing is carried out in a less formal way and not much rigorously as it should be done.