Managing QA Dilemmas with Appium Mobile test Automation

Pcloudy
5 min readSep 18, 2018

With the rise of myriad of mobile applications, operating systems, device platforms, networks, the need of quality testing becomes most critical. Automated mobile testing is still an ingenuous concept in the Quality assurance industry. Mobile app testers were facing serious challenges until the emergence of Appium as the most reliable open source mobile test automation tool for testing Android and iOS apps. It reduced quite a number of challenges faced by testers and became a tester-friendly tool for automated mobile app testing. According to the world quality report 2017–18, the most common challenges that the QA team faces are lack of time in-house test environments, testing expertise and the lack of right tools and approaches to test the mobile apps, , difficulty in integrating test automation into a devops process, etc.In order to overcome these problems, there has to be a shift in the strategies and methodologies at a much deeper level for an improved customer experience.

Below are some of the challenges pointed out based on the experiences mobile app testers faced in Automated Mobile app testing:

Test Execution on multiple devices:It is difficult to deploy and run tests on different device environments. It is easy to buy and run tests on lesser number of devices but when the number is more, running automated testing on all devices becomes a bit tougher and time consuming. It is always a good idea to consider cloud services like pCloudy when testing large number of devices. pCloudy Appium integration architecture make developers’ life simpler with lesser changes in the code. You just need to mention some desired capabilities instead of calling APIs or doing changes in the code to run the Appium scripts. You can run tests in parallel on more than 500 devices. And wonder what! it makes you save 50% of your app testing time.

a) Device Connectivity: Devices come with different features. Some devices have certain limitations in terms of security, accessibility and drivers. Some features of the app that run on one device might not run on the other. So, the devices that would be used for testing would differ a lot in features hence the problem may arise at this level.

b) Test Performance: Testing on the Real devices is most effective as everything is validated on the real situations, especially in the case of testing performance and testing applications under different network conditions. Many of the gestures like GPS, proximity sensors, life sensors, etc cannot be tested on simulators. An application tested on emulator might not always work same on the real devices. There might be an incongruity in the same OS across different devices, let alone different OS. A device cloud testing can also be considered in the scenarios where there is a need of large scale device testing.

c) Access to networks: In order to have a smoother functioning, it is mandatory to have an easy access to the networks, databases and web services. In case of working with remote services, configuration of device tunnels and VPN connection would be required to have an easy access of resources. pcloudy’s Device tunnel provides the developer a full control over the device on cloud. Through this, the cloud devices can be accessed via Android Studio or Eclipse IDE installed in the computer. This has helped the developers and testers to enter any kind of device hosted on cloud for running quick evaluation and app debugging sessions.

The above were some of the challenges of the Mobile app testing Automation but how does Appium solve these issues?

  1. Appium supports Selenium Webdriver API which most of the testers are familiar with

2. No need to modify code of the application that is being tested.

3. Appium supports chief programming languages like JAVA, RUBY, PYTHON, C# etc.

4. Appium supports both IOS and Android mobile platforms

5. Appium has a huge community of users and is an open source tool.

However, it does have its own challenges on some of its versions. Challenges like it doesn’t support image recognition, not all features are available on both Android and IOS simultaneously, some APIs are not implemented, etc. Despite of these drawbacks, Appium remains the best choice of the testers.

PERFORMANCE OF APPIUM ON REAL DEVICES AND CLOUD.

Which environment is the most favorable one for the Appium performance? Is it on real devices or on the cloud?

1. On Real Devices- real device environment is the best to perform regression testing when it comes to providing real time user experience. But real devices always carry a baggage of being unscalability when it comes to handling large number of platforms. Its performance and test usage is high on real devices, parallel testing could be executed. It is best recommended when the device coverage is lower and handling the cost of multiple devices is not an issue which is a rare case.

2. On Cloud — Could is the best, affordable and scalable choice even in the case of large number of platforms. It can provide access to many devices to run tests at the same time. Cloud has other benefits like it can capture reports with screenshots and videos, support from the Appium cloud community,etc. It has an average performance on cloud services, parallel execution is possible even in this case. This is a highly matched scenario in the case of compatibility testing, regression testing and where the device coverage is high

Below table showcases the comparison of best test environment for optimal automation testing:

Automation Testing

Conclusion:

With the advancement in technology comes both opportunities and challenges. As the customer becomes technology friendly and aware, the pressure to provide the best would prevail and the QA community has to be a step ahead to deliver the best customer experience. They would need to tweak the methodologies, approaches and use the tools adept in handling technology advancements. Use Appium as a preferred mobile test automation tool is highly recommended. It supports Android and iOS and also the same code can be applied to both the platforms, it minimizes efforts, costs and saves time. It is open-source, free and has API based on Selenium which is practices by most of the testers. As of today, Appium serves the purpose even when aligned with pcloudy’s testing environment.

Mobile App Testing , Mobile Device Lab , Mobile Responsive Test , Automation Testing , Android App Testing , Mobile Testing Tools , Mobile App Testing Tools , Apk Testing , iOS App Testing , Mobile Application Testing , App Testing

--

--

Pcloudy

Pcloudy is a unified app testing suite developed to replace fragmented tool chain in testing with a comprehensive platform featuring Codeless Automation, AI