
In this article, I would like to tell readers about the beta testing of applications, the difficulties that arise along the way, as well as the maximum benefit derived from this.
It's no secret that beta testing on smartphones is a rather laborious process, and even on the iPhone - even more so. It's all about its multistage: first, the user needs to find the UDID of his device, then send it to the developers. Only after these actions on the part of the user, his device is entered into the list of registered devices, and only then the working version is collected and a letter with the request for installation is sent to him by mail.
But that's not all. The user logs into iTunes, installs the application, and only after all the above operations does it appear on his device. Do not you think that this whole chain of actions is too complicated? Not everyone wants to bother his head. And even more to send you feedback manually (it cannot be automated in any way), and even if it does, its quality most likely will not be as good for several reasons: the user can simply forget where they found a mistake, do not understand what the place the application crashed, do not remember what it was he did not like on any of the screens, it is wrong to point out slowdowns and lags, and, of course, it is wrong to evaluate what simply refused to work. So how to solve this problem?
We come to the aid of one smart service:
TestFlightApp.com . It serves to simplify the beta testing process and, paradoxically, he himself was recently in the testing phase, but is now operating at full capacity.
')
Getting started with him is easy. Register your project and click on the button "invite testers." All that is required of them is the address of the mailbox to which the invitation will come to take part in the testing. Users open this email on their iPhone and the developers receive the UDID of their device, and the user is listed. However, there is one “but”: the linking of the UDID to your iTunesconnect account cannot be automated, so this step has to be done manually. True, it is not at all scary and does not require much time. So there is no cause for concern.
Now I want to tell you a little more about the functionality that the SDK provides on the site.
1. Sessions

Very useful stuff. No hassle and "manual" feedback. Just go there and see how users use the application, where they go and how much time they spend testing it. Everything is fully automated. Now you do not need to wait for news from good people who really decided to help you and unsubscribe about the errors found.
2. In-App Questions

Also an interesting thing. We put checkpoints in different places and assign a specific question to each question, the answer to which excites your minds. As soon as the checkpoint is passed by the user, a window pops up with a question that can be answered quickly. In general, there are three types: a yes / no answer, a choice from a variety of options, and a response entered by the user. Also in the new build, you can import questions from the old version of the application in case you are too lazy to type the text again.
3. Remote Logging

The benefits of logging are obvious, so no special explanation is required. And their remote use simplifies everything even more: you can easily track down that the tester got to a certain point in the script of the application, and then see where it stumbled. Embedding log in an application is very easy; all you need to do is to use the well-known #define directive and use the standard NSLog as in the usual application development. All logs are sent to the server asynchronously and do not block the application.
4. Crash report

With this feature you can get a report on the fall of the application in real time. If the user has difficulties, you will know about it immediately.
5. Checkpoints

We put checkpoints in different places and watch where the testers go. Thus, it is possible to analyze which features in the application are more popular, and which require improvement. Undoubtedly, this is another plus of this service. It is very convenient to use checkpoints along with In-App Questions: after passing the next checkpoint, the user is shown a screen, for example, asking them to evaluate how well one or another moment was implemented.
6. In-App Updates

Using this function, you can immediately inform the tester about the new version of your product with corrected bugs and innovations. This will allow users not to find old bugs, but to test only new functionality. It seems to me that this is a very simple and convenient way.
Still do not believe in the performance of this service? Then, for comparison, try to conduct two separate beta testing and compare the result and the efficiency obtained from them. I assure you, you will be pleasantly surprised. The main advantage here is a minimum of operations and time-consuming, as well as the maximum exhaust that you receive from your actions. I think it's worth it, because high-quality and timely feedback is a guarantee of successful promotion of your applications.