Автор(-ы):
Осина Мария Александровна
9 сентября 2023
Секция
Информационные технологии
Ключевые слова
Аннотация статьи
В статье анализируются существующие инструменты для дистрибуции сборок мобильных приложений на iOS, рассматриваются значительные преимущества и недостатки каждого инструмента, приводится обзор ключевой функциональности приложения для дистрибуции сборок приложений TestFlight. На основе практического опыта в ведущих IT-компаниях России автор делает вывод о ценности использования TestFlight в технологической индустрии для эффективной доставки сборок бета-тестировщикам и внутренней команде тестирования. Статья предназначена практикующим специалистам в сфере мобильного тестирования на платформе iOS.
Текст статьи
One of the important stages in the process of developing and mobile application testing is delivery of the compiled build to the device of a testing engineer or participants of a beta testing program. Application code can only be tested as a build, and this build must be delivered to the testing department. In the field of testing, there has always been a problem of how to distribute builds as quickly, simply and cheaply as possible – this is the combination of benefits expected by all businesses in the IT industry. The issue of choosing a method of application distribution is especially relevant for small IT companies that are just beginning to build testing processes to ensure the quality of their products. In this article, I will analyze the available tools for distributing iOS mobile applications, present their advantages and disadvantages, and also give a detailed overview of the functionality of TestFlight by Apple Inc.
Currently there are four main and the most popular ways to distribute test builds on iOS:
Let us look at the summary table of advantages and disadvantages of the main solutions for distributing iOS mobile builds for IT business (Table 1):
Table 1
App Distribution Tool or Method |
Advantages |
Disadvantages |
---|---|---|
Compiling in Xcode |
1. No extra software is required 2. Code can be fixed on the go and built again instantly |
1. Long building time 2. Build can be assembled only on devices with proper company's provisioning files, or on simulators 3. Access to repository code is required, so no outer testers and specialists are able to access it 4. MacOS computer is always required |
TeamCity/Jenkins (CI/CD) |
1. Pipelines can be set in order to ensure all unit and UI tests are passing 2. Builds can be accessed right after the commit into repository was made |
1. Smaller companies may not afford enterprise CI/CD plans 2. Special access role is required to access CI/CD 3. Can be installed with wires and computer only |
Internal In-App Distribution System |
1. Easy to distribute, install and switch between versions 2. Wires and computer are usually not required to install the build |
1. It is complicated and costly to develop and maintain own distribution system, especially for smaller companies 2. Own services may experience long downtimes |
TestFlight |
1. Delivery process is automated 2. Every company that develops iOS app already has Apple Connect account, so it is easy to set up 3. Apps can be distributed to up to 100 internal testers and 10,000 beta testers; easy to manage invites and access for members 4. Tester can send feedback or bug reports right in TestFlight app 5. Easy to distribute, install and switch between versions |
1. New app updates require Apple review 2. Longer processing times on Apple server (sometimes up to 0.5-2 hours) |
As we can see, TestFlight has the most benefits in using, so let us go deeper into the above mentioned tool.
TestFlight service was founded in 2010 by IT investors Benjamin Satterfield and Trystan Kosmynka as a tool for delivering mobile application builds to iOS and Android, after which, quite soon in 2012, the startup was acquired by Burstly [1]. Then Apple Inc. acquired Burstly in 2014, and one of the company's most important assets was taken over by the California-based IT industry giant. Within a month, Apple, as expected, quitted supporting Android and focused on integrating TestFlight into its own ecosystem.
Currently TestFlight is used to distribute mobile applications builds on iOS, iPadOS, macOS, tvOS, visionOS, watchOS, and iMessage platforms, on beta testers and internal test engineers (one application can be distributed to no more than 10,000 beta testers and 100 internal testers).
Let us proceed to an overview of the main functionality of TestFlight. It is important to note that we assume that we already have a ready-made build of the application for uploading to TestFlight [2]. First of all, the developer needs to go to App Store Connect and enter credentials for authorization in the service [3]. After successful authorization, we need to open the desired application and select the TestFlight section.
Fig. Overview of the main TestFlight screen of the application
Let us analyze the available actions on the main screen of the selected application in TestFlight. In the top panel, it is possible to switch between applications in the developer account by clicking on the application name. In the left panel, we can choose between several sections:
The main iOS Builds section contains current build statuses in each version of the application:
Table 2
Type |
Meaning |
Examples of statuses |
---|---|---|
Red statuses |
There are problems that need to be fixed to start the reviewing process |
Invalid Binary, Rejected. There is also Expired status which shows that this build is older than 90 days and no more available for installation |
Yellow statuses |
There is an ongoing processing on the side of the developer or Apple |
Processing, Missing Compliance, Waiting for Export, In Compliance Review, Ready to Submit, Waiting for Review, In Beta Review |
Green statuses |
Application is available for testers |
Ready to Test, Testing |
Thus, we provided an overview of TestFlight functionality from the side of the application developer. We proved that the build management system provides wide abilities for administering test builds, and also provides a visual dashboard for version-by-version analysis of the test builds. Let us combine the information and review the pros and cons of using TestFlight for IT businesses:
In conclusion we can state that compared to any other app distribution tool and method TestFlight offers a convenient way of app distribution which allows IT businesses to collect feedback from beta testers before the application is published on App Store and to avoid losses due to poorly tested applications, as well as to distribute internal builds on in-house testing engineers thus helping small and medium-sized businesses not to spend resources on developing their own app distributing system.
Список литературы
Поделиться
Осина М. А. Сравнительный анализ инструментов дистрибуции сборок приложений на iOS для мобильной разработки и тестирования // Актуальные исследования. 2023. №36 (166). С. 23-27. URL: https://apni.ru/article/6962-sravnitelnij-analiz-instrumentov-distributsii