Flutter is a mobile app development framework created by Google. It utilizes the Skia rendering …read more
Jan 15, 2024
Exploring testing phases in Google and Apple's mobile app stores
In the mobile app development world, ensuring quality and user satisfaction is as crucial as innovation itself. Launching an app in today’s competitive market is a challenge that goes beyond developing innovative and attractive features. This article highlights the importance of different testing phases provided by today’s common platforms before releasing our app, essential tools to ensure it not only meets but exceeds user expectations.
Software errors can lead to significant losses in both reputation and revenue, so investing time and resources in thorough testing is an essential strategy. Let’s discover together how each testing phase in Google Play Developer Console and App Store Connect can be a valuable ally in launching a flawless app ready to conquer the market, taking advantage of the different functionalities they offer.
The development of a software product goes through several stages, starting with an idea that we want to transform into a product. After validating it, we move to the analysis and planning phase, where requirements, use cases, technologies, timelines, and target audience are defined. Then we proceed to the design, development, and testing phase, sometimes done in parallel and other times independently. During this process, numerous manual and automated tests are conducted, and multiple errors are corrected, but these are not the tests we will discuss in this article. Once we have developed and tested the app, we move to the pre-deployment phase, the acceptance tests, where users are given the app to try and give their opinion. Errors reported by them are corrected, and the app is tested again.
The testing phase is crucial as it will usually be the user’s first contact with our application. It is important to reach this stage with a polished product that meets minimum quality requirements, as failing to do so can lead to user disinterest and a loss not only of a beta tester but also of a potential user.
Specifically, in Google Play, we have three testing phases, not counting the pre-registration phase that allows users to register to receive a notification when the app is available. These are internal, closed, and open tests. It allows us to easily and simply promote the different versions of our application among the testing paths.
This is the first testing phase, where the app is uploaded to the developer console and invited users are given a link to try it. Normally used to share the app at an early stage among different team members and entities involved in the development process. As its name suggests, this testing phase is (and should be) completely private, making it very useful for testing apps that are not yet finished or that we do not want to be available to everyone.
Testers in this phase are added through the Google developers console via their email and must join through a web browser using a link. The publisher can set up a contact account to receive user suggestions and problems. In it, we can upload the different versions of the app as we develop and iterate over it, showing us some statistics like the number of supported devices. The effectiveness of this testing phase will depend on the number of people involved in the project. Sometimes, especially in small projects, it may not be necessary to go through this phase.
Unlike internal tests where the users participating are usually members of the organization, in closed tests, the participants are often external to the organization, though this is not necessarily the case. This phase is very useful for testing the app with a small group of users, such as coworkers, friends, or family members. This phase is entirely public and can be accessed from the store via a web or mobile link.
In this phase, we can select the countries where the app will be available, and Google allows us to create different " tracks" or testing channels in the closed beta, essential for a controlled and effective launch strategy. These tracks are used to test new features, ensuring that significant changes are well-received and work correctly before reaching all users. They enable segmented testing, targeting specific audiences to obtain detailed feedback, crucial for adjusting and improving user experience. The tracks are also valuable for compatibility testing, ensuring the app works smoothly across a broad range of devices and configurations.
Additionally, these channels facilitate evaluating the app’s stability and performance under real conditions, helping identify and resolve issues before public release. They are a key tool for marketing and user engagement, creating an initial user base that can act as brand ambassadors. Closed beta tracks are also useful for A/B testing, comparing different app versions to optimize user experience. Google will review apps published in this phase to ensure they comply with Google Play policies.
This phase is when user control for app testing opens to the public, meaning anyone with the app link can try it, unlike closed and internal tests where users must be invited by the developer. Usually, it involves people outside the development environment and unrelated to the company or project. Like with closed tests, we can decide in which countries the app will be available. By this stage, it’s extremely important that the app’s quality is very high, as the uses of the app by non-aligned users may differ greatly from those participating in earlier phases.
All the types of tests mentioned can be combined and used together to maximize their effectiveness. Different versions of the app can be published throughout the various testing phases, for example, we could have a version of the app in the internal testing phase and another in the closed testing phase. This provides great flexibility in conducting tests and allows us to have greater control over the status of our apps before they are promoted to production, which we can do from the Google Play Developer Console with a single button.
In Apple’s case, testing options are a bit more limited and do not offer the flexibility of Google’s options in their developer console. With Apple, there are two types of tests available through TestFlight: internal and external tests.
Internal tests are very similar to Google’s, inviting users via their email, and they must have the TestFlight app installed on their device. The main difference is that in this case, the users must be members of the app development team, meaning external users should not be invited. During this phase, the apps are directly available to the user without any filter as they do not go through Apple’s review process.
External tests are very similar to Google’s closed tests, inviting users via their email, with external users being allowed. Allowing up to 500 external users who will join through a link, developers can collect more diverse feedback and conduct larger-scale tests, crucial for ensuring the app is robust and stable enough for production launch.
From initial internal validation to detailed external user feedback and controlled launch, each stage contributes to creating an app that not only meets technical standards but also resonates positively with its audience. This comprehensive methodology is a key component in the development of successful applications in the Apple ecosystem.
As we have seen, testing is an essential part of the app development process, and the tools provided by Google and Apple’s developer consoles are very useful for conducting them. Some offer more features than others, but all are entirely valid for testing our applications. So remember, don’t forget to test your app before launching it to production and, Happy Coding!
Any questions or comments are welcome in the comments section.