Definition
Portability testing is the system testing of an integrated blackbox application against its portability requirements.
Top of Page Bottom of Page
Goals
The typical goals of functional testing are to:
Cause the application to fail when ported to its various environments so that the underlying defects can be identified, analyzed, fixed, and prevented in the future.
Top of Page Bottom of Page
Objectives
The typical objectives of portability testing are to:
Partially validate the system (i.e., to determine if it fulfills its portability requirements):
Determine if the system can be ported to each of its required environments:
Hardware ram and disk space
Hardware processor and processor speed
Monitor resolution
Operating system make and version
Browser make and version
Determine if the look and feel of the webpages is similar and functional in the various browser types and their versions.
Cause failures concerning the portability requirements that help identify defects that are not efficiently found during unit and integration testing.
Report these failures to the development teams so that the associated defects can be fixed.
Help determine the extent to which the system is ready for launch.
Help provide project status metrics (e.g., percentage of use case paths successfully tested).
Provide input to the defect trend analysis effort.
Top of Page Bottom of Page
Examples
Typical examples include portability testing of an application that is to be portable across multiple:
Hardware platforms (including clients, servers, network connectivity devices, input devices, and output devices).
Operating systems (including versions and service packs).
Browsers (including both types and versions).
Top of Page Bottom of Page
Preconditions
Portability test execution can typically begin when the following preconditions hold:
The portability requirements to be tested have been specified and fully implemented.
The relevant software components have passed unit testing.
Software integration has occurred (i.e., some portability testing can begin prior to the distribution of the software components onto the hardware components).
The relevant system components have passed independent integration testing.
The independent test team is adequately staffed and trained in portability testing.
Test environments corresponding to each required production environment are ready.
Top of Page Bottom of Page
Completion Criteria
Portability testing is typically complete when the following postconditions hold:
The application has been ported to each required production environment.
The functional test suites execute successfully in each required production environment.
The usability test suites involving webpage look and feel execute successfully in each required production environment.
Top of Page Bottom of Page
Tasks
Portability testing typically involves the independent test team performing the following testing tasks:
Test Planning
Test Reuse
Test Design:
Port the software to each environment specified in the system requirements specification.
Test Implementation
Test Execution:
Rerun the functional tests.
Rerun the usability tests involving webpage look and feel.
Test Reporting
Top of Page Bottom of Page
Environments
Portability testing is typically performed on the following environments using the following tools:
Test environments corresponding to each required production environment.
Test Harness
Record and Playback Tool
Top of Page Bottom of Page
Work Products
Portability testing typically results in the production of all or part of the following work products from the test work product set:
Documents:
Project Test Plan
Master Test List
Test Procedures
Test Report
Test Summary Report
Software and Data:
Test Harness
Test Scripts
Test Suites
Test Cases
Test Data