improving software app testing -appium and aws device farm

If you have developed apps for Android or iOS, you would know that it is frustrating to buy/rent or borrow units separately to do the testing. Not to speak of the time spent on installing the app and then testing each device. This is wastage of time, and you will have to wait with bated breath to know how the users are going to review it.

Developers and testers are now realising the benefits of automated Appium testing because it delivers much faster and accurate results. Appium is an automation tool which supports automation testing of native and hybrid mobile applications developed for iOS and Android OS. Appium uses the Selenium API to test mobile applications.

Appium Testing with Amazon Device Farm

The best feature about Appium is that it can support tests on any framework and in any language. While basic programming language is required to develop Appium scripts, the testing process itself is simple because the code doesn't have to be modified just for testing purposes.

Mobile app testing can be done with Appium and Amazon Device Farm and this gives you more control over the test environment. It would also help you predict the outcome of the tests in a cloud environment.

Amazon Device Farm (ADF) is an AWS service launched in July 2015, and its function is to provide automated testing for native, hybrid and web applications. It is provisioned for quick testing, so all the developer/tester has to do is upload the app into the test framework, Appium, and this would provision him to test the app on the go.

The testing is done in real time on real devices (mainly Android and iOS) on the cloud. It lets you run the applications on a number of devices without actually having to acquire them. In fact, you can indulge in two activities with ADF:

  • Automated testing of apps through a wide variety of testing frameworks
  • Load, run and navigate apps through remote access of real devices.

The framework supports cross-platform test execution so you can use the same API to run tests for multiple platforms.

Provides Support for QA Teams and Developers

AWS Device Farm aids in the iterative testing of app during the development period of the app. It is also possible to have cumulative testing of the builds as part of Continuous Integration (by making a schedule for example, every night).

If the development team has developed a particular functionality or a series of functionalities, they can get it tested through AWS Device Farm, prior to releasing the app. This gives them the assurance that their app will function seamlessly across various devices without a hitch.

Though Appium testing, you will be able to verify functionalities so it will be certified before release. And once the app is released, you can monitor its performance to ensure the application is working as it is meant to be.

During the monitoring, you will be able to capture any issues your customer and end user faces. Through Appium testing, you can reproduce issues as reported by them. In case you don’t have a device handy to test the issue (for example, you have a customer reporting an issue on a Samsung phone), you can run a test script, and check it. This way you can fix the issue, test the app once again, and then release it.

The main characteristics at a glance:

  • Testing on real devices for native, hybrid and web apps
  • Try different combinations of devices, several instances of each device and scale them
  • Security is remarkable, with full software and hardware isolation
  • Plethora of support for several common frameworks in the industry
  • Reports of the success tests through performance data, logs and screenshots
  • Plugins for Jenkins, Android Studio, CLI and SDKs integration provided
  • Languages supported are Java, Ruby, Python, .Net. etc.

Pricing for Automated Testing

An attractive feature of AWS Device Farm automated testing is that you need to pay only for what you use. There are two main plans:

  • Free usage of 250 minutes, followed by payment or $0.17 per device minute.
  • Free usage of 250 minutes, followed by $250 per device slot per month for unlimited testing.

This is also determined by the number of devices used and duration of tests.

To start integrating your Appium test with AWS Device Farm, you need to have a user account and then proceed with the integration.

With this testing scenario, you can combat the following issues that usually plague testers when they run local tests:

  • Device maintenance
  • Device connectivity
  • Device shortage
  • Network/connectivity problem between devices

Closing Thoughts

Appium testing with AWS Device Farm gives you more control over the testing environment, and how apps would perform on real mobile devices. Developers and testers can simulate and emulate the test conditions and parameters to ensure all conditions are met, and there are no discrepancies. Application testing is definitely taken several notches upwards through Appium. As the testing provider, Amazon backs Device Farm, so it has the potential to give good performance.




Subscribe to our newsletter and know all that’s happening at Cabot.