Initially, desktop based applications were the ones which were mainly talked about with regards to testing. And then came the era of web based application, and web versions of desktop based applications. Porting of applications like messengers to a web platform (as done by Meebo) caused a great rush to shift to the web platform which enhanced the user experience.
As time is passing by, mobile users are increasing, and the demand of applications across mobile platform is increasing. Applications which are web platform based, are not only moving towards desktop versions, but are also getting origins in the mobile application and the WAP version to cover maximum users, and maximum utilization by the users.
Now, launching applications across different platforms is becoming a trend, giving businesses a competitive edge. Hence, there arose a need of multi-platform testing. Instead of hiring experts of different platforms, for testing the same application on different platforms, it becomes easier and simpler if the same team does the testing across platforms.
Testing across multiple platforms is a challenge in itself. It requires a great deal of skills for a tester. The tester has to balance his testing between a lot of factors such as platform specifications and scope, application specification and scope, compatibility and end user experience across platforms, keeping in mind their similarities and differences.
The following comprises of identifying some key points for multi platform testing:
· Understanding the specifications, limitations and usability prospects of different platforms on which the tester is going to work.
Different platforms have different specifications limitations and prospects, which can impact the requirements and design of the software specific to a platform. Also the platform version specific features play a key role in defining the functioning of the applications and its test case.
For Example, desktop platforms can deal with bulk data, but don’t cater to continuous connectivity for the users on the move. Where as
If a product is designed for web, desktop, mobile and WAP versions, then the tester has to be aware of about platform specific parameters such as OS Version, memory management, process management etc. This is very important to know as in an event of software crash, such information is very handy.
· Understanding the end users particular to a platform.
The end users of the platform decide the key features of the different versions of the application. For Example, a web user would get the complete master set of all the features of the product, the desktop version user would get a smaller set with considerable features, and mobile application and WAP versions would further see a reduction in features, with a package of certain primary functions. This is helpful in testing usability of the product with respect to platform.
· Understanding the usability scope of the platform which directly or indirectly affects the scope of the application which has to be tested/ used on the platform.
Every platform has its usability scope. The specification of product version for the platform should be designed such that it is in sync with the usability scope of the platform.
The usability scope of the current mobile platforms is much lesser than those of desktop platforms. Hence, the product specifications for these platforms are designed accordingly. Additionally, some flows in the application might arise due to the various limitations of the specific platform.
Keep in mind the user experience of multiple platforms and visualize if feature and facilities of the application in one platform can be a boon or not in another, thereby enhancing usability of the application.
· Understand the GUI nitty-gritty specific to the platform.
· Understand the GUI nitty-gritty specific to the platform.
GUI of the application differs as per the platform for which it has been designed.
The web and desktop version can handle bulk data, bulk transactions and a lot of features and functions. In those platforms, having quite a few functions neatly organized in layout would not affect the GUI adversely.
But the same design in a smaller screen of mobile platform version would look unorganized, and reduce its user friendliness. But having a mobile version is always help as it provides quick and easy access to information for users on the move.
Hence GUI designing is a key component to ensure the product’s usability and its appeal to the users.
· Identify and design test cases specific for a platform which would impact application usability directly or indirectly.
Test Cases specific to a platform should be identified, designed and executed accordingly.
For example, in web and desktop applications, test cases for performance related issues should be considered as it mainly deals with bulk data. And in mobile applications, connectivity related, and client-server response time cases should be considered as user.
· Identify and design test cases which will be consistent for the application across all platforms.
Some test cases would be common for all platform specific versions of the applications like login, other basic application flow. Such cases should also be designed and executed to test the consistency of such functions of application across different platform.
· Understand the test environment set up required as per the platform and as per the application.
Test environment set ups will be different for different platforms. Mobile platforms should have test cases for different network types, device battery strength and different device configurations. Desktop machines should have test cases around the system process status variations, different memory status configurations, and different system configurations.
Different combinations along the above stated cases, and the cases around different system requirements of different platform versions of the applications should be considered for testing environment set ups.
· Use test data by keeping in mind the application's usability perspective with respect to the platform.
Test data should be designed according to different platform versions. As stated earlier, as web and desktop applications can deal with bulk data, test data would be in bigger quantity for those platform versions of the application. On the other hand, mobile versions can’t be tested with the same amount of test data, and need to be tested with smaller subsets of the test data.
Software Testing by Indira Pai is licensed under a Creative Commons Attribution 3.0 Unported License.