View all web browser and mobile devices available in our cloud-based test lab.
After a very long history behind the Android market, and the recent Android 11 GA, Google is enforcing a new method of application development and delivery process. Up until quite recently, each Android application binary would have been built, signed, and deployed in the format of .APK to Google Play.
As of today, Google already supports the new Android applications under the type and format of APKs. This new change also ties in with the rise of progressive web apps (PWAs) that Google initiated a while ago to also improve the end user experience, and reduce app size and network/environment dependencies.
In this blog, let us take a closer look at APKs, their benefits, and how they impact testers and developers. Read along or skip to the section that interests you most.
APKs, or Android Application Packages, are typically zip files that contain a group of single APK files. Based on rules, specific devices, and user requests, these files will get installed and enabled on the devices in production.
To actually build an APK file, developers need to create an AAB file which stands for Android App Bundle. This AAB is a publishing format that Google requires developers to create, and inside a single file, developers will deploy all of the app content from code, media resources, translated strings resources, and other app-related files.
Once the developer has completed building the AAB file, they can use the bundle tool to generate the APKs. Once uploaded to Google Play, Google can sign and deploy to the respecteddevices and end users.
Here are the main reasons Google is making these significant changes to the app development process:
This new method serves not only the end users, who enjoy a lighter application to download onto their devices. It also serves R&D and engineering teams so they can build and gradually expose new features to end users dynamically and based on context. With some of the new and supported APIs, developers can push immediate and flexible application updates to their users.
Now that you know the benefits of APKs and Google’s requirements for making this transition, here are a few considerations and implications of this new type of technology.
As mentioned above, the new method of Android application development and deployment is changing with the introduction of app bundles. This impacts the end-to-end process of build, test, and deploy.
Developers and testers need better communication to fully understand:
Without formal processes and communication, there will be huge sync issues resulting in escaped defects, broken builds, late testing, and more.
As the image above dictates, the size of the app (Swiggy in this case), the version of the app, and the Android OS version varies based on the end user location and device/OS family.
Continuous testing, test automation, and other types of testing are critical to digital businesses. These testing methods are always critical and will not change in importance with this new technology. The new technology, however, will require much more rigorous processes and testing strategies to accommodate the variance in the different APK files that are supported and part of the AAB bundle.
Since Android users will start consuming smaller, fresher, and more dynamic app versions, the testing matrix — which was a monolithic application testing approach up until recently — will need to shift toward a split-module approach.
Developers and testers need to have a solid matrix of generic app features and different features that are enabled on-demand, based on geolocation and language, and pushed from developers to production and others.
On one hand, users might report issues like the above Google Play review on the Swiggy app, but on the other hand, R&D can easily review this claim, and either push an immediate update, or trigger a flexible update to ensure that the issue is resolved.
As mentioned in the above example provided by Google, new types of dynamic feature module delivery options must be communicated to the testing team. This ensures that they can build manual and automated testing scenarios on the relevant device/OS families, with and without these flags, in time for the app launch on Google Play.
Lastly, since developers are no longer signing Android apps prior to deploying to Google Play, it is critical to ensure that the end-to-end signing process per each APK within the bundle works fine using the APKSigner tool and other guidelines from Google, prior to the upload.
Google will sign the APK file individually once a user downloads them to his/her device, so this needs to work per APK file. It is recommended that both developers and testers review and learn more about this new technology ahead of next year’s mandatory enforcement by Google. There is a useful checklist for launching app bundles, that can be a great start.
Innovation and technology are key to digital transformation, and Google in many cases is leading the market with great enhancements.
In this specific case, this innovative approach is not an option, but a mandate for app developers to shift to in the very near future. It is imperative that the app development teams and testing practitioners start exploring APKs, and AABs, and understand how to shift their processes, methods, and plans to support this new technology sooner rather than later.
Testing in the cloud has never been easier or more scalable. Perfecto enables testing teams to execute at scale against devices in the cloud. And developers can work straight from their IDE of choice to debug apps.
With Perfecto, you get:
Give it a try with a free, two-week trial.
DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto
Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger.
With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.