The actuality of cross-platform testing is conditioned by the fact that a mobile application is supposed to work on devices and networks of a different kind, often customized by users and providers. To test an app on every device separately using all the existing methods would mean the useless waste of time and money.
That is why testers look for alternative, cost-effective ways of cross-platform testing of mobile software. All the efforts to solve the issue of cross-platform testing usually lead to two possible solutions.
There can be distinguished two approaches to cross-platform testing:
1. Object Recognition
The method of software testing based on object recognition (mapping) functions in the following way. Your operations with objects on one platform are recorded. Then when you turn to another platform, the testing tool finds the same objects on it and repeats the respective actions you have done before. The drawback of this approach is that it may not always be reliable since the majority of mobile apps are coded in such a way that they do not have similar objects across different platforms.
2. Cross-platform scripting
The cross-OS scripting based approach involves the devices in the cloud that are set up to operate with the cross-platform scripts. The drawback of this method is that one has to jailbreak the device to make it support the scripting language. Therefore because of the modifications made for enabling cross-platform scripting the devices become different from those that will be used by end users.
The market of cross-platform mobile testing is still undeveloped, but new players appear in it every day. Let’s outline the services provided the best tools we have found for cross-OS mobile testing. You may find detailed information about them navigating to the given links.
Object-recognition testing tools are as follows.
eggPlant Mobile / eggOn by TestPlant
This tool recognizes images to help automate testing on devices and emulators. eggPlant Mobile needs only one script for testing on a variety of devices. As it is non-invasive, it is able to test some situations that other tools are not. eggPlant Mobile is most suitable for functional and regression tests when integrated continuously.
Ranorex by Ranorex
Ranorex provides GUI test automation for web, mobile and desktop apps. With the help of this tool you can record and reuse the templates. It also gives non-technical users a chance to combine other templates and operations with complex code.
Squish by froglogic
This is a tool for automating GUI functional and regression tests. It works on Windows, iOS, Web/HTML, Java and other platforms. Squish enables writing test in many popular scripting languages as well as supports compatibility with a range of test environments and management systems.
Consider also the next testing tools based on cross-platform scripts.
DeviceAnywhere by Keynote
DeviceAnywhere is a cloud-based tool used for tests on real devices. Automation of interactions with users is provided by its Test Center Enterprise.
MobileCloud by Perfecto Mobile
This cloud-based testing tool also works on real devices. Its test automation is maintained by the web-based interface which writes test scripts in Perfecto Mobile ScriptOne language based on keywords.
Xamarin TestCloud by Xamarin
This cloud-based tool enables testing of iOs and Android apps on real mobile devices simultaneously. Cucumber is used for test writing and Calabash for their execution on iOS and Android.
The alternative approach to cross-platform testing of mobile apps is offered by Soasta Company.
TouchTest by Soasta
This tool enables automation of functional tests for apps based on touch and gesture on Android and iOS mobile devices. A tester needs to just perform the gestures he wants to capture to play them back when needed again. As each device has to be separately automated, TouchTest is most suitable for automation of critical tests which are to be used repeatedly.
Using the tools above will save your time and help you execute cross-platform testing on mobile devices effectively.