In the digital world, where mobile applications are constantly released to the market and the demand for quality increases, the automated testing of these applications is as important as ever. A major part of building an Android automated testing environment is the ability to test on a large matrix of mobile devices. This requires the use of a digital lab that enables remote access to any real mobile device and can be integrated with any automation tool.
The numbers point to Android as the dominant global smartphone operating system. IDC reported in May of 2017 that Android’s worldwide market share was up to 85.1% compared to Apple’s 14.7%. This puts the number of potential users staggeringly high.
StatCounter said in April 2017 that Android had surpassed Microsoft Windows as the leading global operating system. A bold claim but not out of the blue. A lot of Android’s global success comes from their domination of emerging markets where price, and portability are huge drivers of smartphone purchases.
The Challenge of Testing Android apps
The number of global Android users is over two-billion, and they use more than 4,000 devices sold by 400 different manufacturers. Many of these manufacturers release their devices with highly customized, and infrequently updated Android versions. This fragmentation of devices and OSes makes compatibility testing difficult.
At the same time, the cycle of new devices is slowing down. Microsoft engineer Dan Luu reported in 2017 that of the Android devices in use worldwide more than half are more than two years old. He continued to say that there are as many as 8 major Android versions that are currently in global circulation. In this case users may not adopt your app because of their own Device and OS setup. This matters little to the consumer whose negative experiences can affect your app’s rating in the app store.
In today’s ultra-competitive app market, fragmentation is only one of the challenges. Version cycles are as frequent as every two weeks so not only do you need to cover a large number of scenarios, but you also have to do it quickly. If your Android automated testing is not carried out effectively and on time, it will cause delays. This often leads to poor ratings and abandonment.
Let’s take a look at some of the ways that developer and QA teams can mitigate the challenges and come out ahead of the game.
The key to App success is Android automated testing
Your app must be tested properly with using mobile app testing to ensure compatibility with any device and operating system combination.
The Android testing tools that your developer and QA teams need are those that will allow them to develop automated test suites that cover any app related scenario. Simple manual testing just won’t cut it anymore. Additionally, these test automation development tools must support complex scenarios outside of simple compatibility. Scenarios like barcode/check scanning, Touch ID, and GPS simulation to name a few. Regression testing is also a must.
When automating testing it is equally important to have the ability to execute these tests on a large matrix of devices and OSes, in order to increase coverage and shorten the testing cycle.
There is more. Your Android automated testing suites, need to run simultaneously and continuously in order to fully test each scenario within the time constraints of a new release or update. The way that developer and QA teams achieve this is by triggering test execution directly from the Continuous Integration environment of their choice. This gives them the ability to create a 24/7 testing process.
Access to a Digital lab is crucial
A digital lab is a centralized hub of real mobile devices and desktop browsers that can be remotely accessed by testers and developers from anywhere directly from their browser. They can instantly access the lab and choose the device/browser they want to test on from a large selection of device manufacturers, models, OS versions and screen resolutions. They can then use them for both the manual and automated testing of their web and mobile applications.
SeeTest digital lab by Experitest is an example of a digital lab that can be deployed onsite on your premises or accessed and used completely as SaaS solution.
Mainly for security reasons some enterprises, especially banks and insurance companies, choose to build their own on-premise device labs. Experitest’s on-prem digital lab helped many of them achieve ultra-secure continuous testing of their web and mobile applications onsite within their VPN.
Other enterprises, take a different approach. They would rather devote their time and resources to developing and testing their applications without having to manage a lab containing several hundred mobile devices. Experitest’s Digital Lab is a highly secure, ISO certified, and available anywhere. The devices and browsers are located in data centers worldwide and take the hassle of owning your own lab out of the equation. Devices are available 24/7 and the lab can be integrated with any testing software your developers prefer.
Integrating with Open-Source environments
Selenium, and Appium, are both popular open-source Android automated testing tools. These open source tools as well as many others can be integrated into the SeeTest Digital Device Lab by Experitest . This means that developers can use the same open source tools they are familiar with and boost them with the powerful capabilities of the Experitest Digital Device Lab. What is perhaps the best part of the lab is that when executing automation testing the tests will be run in large batches in parallel. This cuts testing times down drastically, while increasing coverage.
Sometimes developers and testers need to step back from the huge testing projects they are running and manually test some new feature or update. With the SeeTest Digital Lab by Experitest manual testing is as simple as logging in and opening up a device. You can manually test your applications any device or browser combination, these days there are over 1,000. If you find an error or bug you can use the built-in debugging tools to debug your application on the spot.