TestFlight: cos'è, configurazione e lavoro con i test

Autore: IT Sectr Pubblicato: 2026-06-06 Tempo di lettura: 7 min

TestFlight è la piattaforma ufficiale Apple per distribuire build di pre-rilascio delle app ai tester. Consente agli sviluppatori di caricare versioni beta su App Store Connect, gestire l'accesso e raccogliere feedback prima della pubblicazione. Secondo la documentazione per sviluppatori Apple, TestFlight supporta fino a 10.000 tester esterni tramite un link pubblico e fino a 100 interni tramite Apple ID.

Punti chiave

  • TestFlight è lo strumento ufficiale Apple per il beta testing di app iOS, iPadOS, macOS, tvOS e watchOS
  • Il testing interno consente di aggiungere fino a 100 partecipanti tramite Apple ID senza moderazione del build
  • Il testing esterno supporta fino a 10.000 partecipanti tramite un link pubblico con revisione Beta App Review obbligatoria
  • La gestione dei build include il raggruppamento dei tester, la raccolta di metriche e i crash log di Apple
  • La pubblicazione da TestFlight avviene senza ricostruzione — la versione beta approvata viene inviata all'App Store con un clic

Cos'è TestFlight?

TestFlight è una piattaforma di beta testing integrata in App Store Connect per distribuire build di pre-rilascio delle app prima della pubblicazione sull'App Store. Gli sviluppatori caricano build archiviati tramite Xcode e li distribuiscono tra i tester senza dover distribuire manualmente i file IPA.

Apple ha acquisito TestFlight nel 2014 per sostituire la distribuzione Ad Hoc tramite profili di provisioning. In precedenza, gli sviluppatori raccoglievano gli UDID dei dispositivi, creavano profili di provisioning e distribuivano gli IPA tramite servizi di terze parti. TestFlight ha automatizzato l'intero processo: il tester installa l'app beta tramite TestFlight App, mentre lo sviluppatore gestisce l'accesso tramite un'interfaccia web.

Secondo il WWDC 2024, TestFlight elabora oltre 2 milioni di installazioni di test al mese. La piattaforma supporta la distribuzione su tutte le piattaforme Apple, inclusi iOS, iPadOS, macOS, tvOS, watchOS e visionOS, rendendolo l'unico strumento unificato di beta testing nell'ecosistema Apple.

Testing interno ed esterno

TestFlight suddivide i test in due tipi: testing interno per i membri del team (fino a 100 partecipanti, build disponibile immediatamente dopo il caricamento) e testing esterno per utenti esterni (fino a 10.000 partecipanti, richiede la revisione Beta App Review). Il testing interno non richiede moderazione, rendendolo ideale per la verifica rapida dei build all'interno del team.

Il testing esterno consente di invitare tester via email o tramite un link pubblico. Dopo aver superato il Beta App Review, il build è disponibile per il download a tutti gli invitati. Per le app pubblicate per la prima volta, il testing esterno è obbligatorio secondo le linee guida di revisione dell'App Store.

Come funziona TestFlight: scenari principali

Il flusso di lavoro di TestFlight inizia con l'archiviazione dell'app in Xcode e il caricamento su App Store Connect tramite Organizer o Transporter. Dopo il caricamento, il build viene sottoposto a convalida automatica e scansione di sicurezza.

I tester interni ricevono una notifica sul build disponibile tramite TestFlight App. Possono installare l'app e lasciare feedback attraverso l'interfaccia integrata di screenshot e commenti di testo. Per i tester esterni, è richiesta l'approvazione del Beta App Review, dopo la quale il build viene distribuito come quelli interni.

TestFlight raccoglie automaticamente metriche di utilizzo: numero di installazioni, crash log, screenshot con annotazioni e feedback. Lo sviluppatore visualizza questi dati nella sezione TestFlight di App Store Connect. Tutti i dati sono aggregati per versioni di build, semplificando il confronto della stabilità tra diversi build.

Scadenza dei build

Ogni build caricato in TestFlight ha un periodo di validità di 90 giorni. Dopo la scadenza, i tester non possono più installare o avviare l'app. Per continuare i test, è necessario caricare un nuovo build con un numero di versione incrementato. Questa limitazione incoraggia gli sviluppatori ad aggiornare regolarmente i build.

Con l'avvicinarsi della data di scadenza, TestFlight invia notifiche sia allo sviluppatore che ai tester. Se un nuovo build non viene caricato in tempo, i test vengono interrotti e i partecipanti perdono l'accesso all'app fino alla comparsa di una nuova versione.

Configurazione di TestFlight in App Store Connect

La configurazione di TestFlight inizia in App Store Connect nella sezione TestFlight. Per iniziare, è necessario almeno un build dell'app caricato. L'interfaccia è divisa in tre sezioni principali: build, tester interni e gruppi esterni.

I tester interni vengono aggiunti tramite Apple ID. Ogni partecipante deve essere invitato tramite App Store Connect con un ruolo che includa l'accesso ai test. Dopo l'invito, il tester riceve un'email e può installare l'app tramite TestFlight App sul proprio dispositivo.

Per il testing esterno, vengono creati gruppi che raggruppano i tester per scenari. Ogni gruppo è collegato a build specifici. Un gruppo può avere un link pubblico per l'adesione automatica, comodo per progetti open source o beta testing di massa. Secondo la documentazione per sviluppatori Apple, un link pubblico può essere revocato in qualsiasi momento senza perdere l'accesso per i tester che hanno già aderito.

Caricare un build in TestFlight

Il caricamento di un build in TestFlight viene effettuato tramite Xcode Organizer dopo l'archiviazione del progetto. Per il caricamento è necessario un account Apple Developer Program con permessi di Admin o App Manager in App Store Connect.

Prima del caricamento, il build deve essere firmato con un certificato di distribuzione valido e contenere un profilo di provisioning con distribuzione App Store. Xcode configura automaticamente la firma tramite la firma automatica quando è presente un account sviluppatore attivo.

bash
# Upload via xcrun altool (Xcode 15+ uses notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait

# Upload to App Store Connect directly
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"

Dopo il caricamento, il build viene sottoposto a verifica automatica: convalida del binario, scansione di codice maligno e controllo della conformità alle linee guida di revisione dell'App Store. La verifica richiede generalmente da qualche minuto a un'ora. Lo stato viene visualizzato in App Store Connect nella sezione TestFlight.

Caricamento automatico tramite CI/CD

Per CI/CD (GitHub Actions, Bitrise, Jenkins), si utilizza xcrun altool o notarytool per caricare il build direttamente senza Xcode. Le chiavi di autenticazione sono memorizzate nel portachiavi o nell'API di App Store Connect. Fastlane fornisce l'azione upload_to_testflight per l'automazione completa del processo.

Invitare i tester: interno ed esterno

L'invito dei tester a TestFlight dipende dal tipo di test. I tester interni vengono aggiunti direttamente in App Store Connect tramite Apple ID e ottengono l'accesso a tutti i build immediatamente dopo il caricamento. I tester esterni vengono invitati tramite gruppi con build specifici assegnati.

Per il testing esterno, è necessario superare il Beta App Review — una versione semplificata della revisione dell'App Store che verifica le funzionalità di base e la conformità alle regole. Il primo build esterno supera solitamente la revisione in 1–2 giorni, mentre i successivi sono più veloci. Dopo l'approvazione, tutti i tester del gruppo ricevono una notifica.

Un link pubblico semplifica gli inviti: lo sviluppatore pubblica il link su un sito web o sui social media, gli utenti lo seguono e si uniscono automaticamente ai test. TestFlight supporta fino a 10.000 partecipanti per gruppo esterno e il numero di gruppi è illimitato. È possibile configurare più gruppi con build diversi per ciascuna app.

Lavorare con il feedback

I tester inviano feedback tramite TestFlight App, allegando screenshot e annotazioni. Lo sviluppatore visualizza tutto il feedback in App Store Connect, raggruppato per build. Ogni feedback contiene la versione del sistema operativo, il modello del dispositivo e un timestamp, facilitando la riproduzione e la correzione dei bug.

Pubblicazione dopo i test

La pubblicazione di un'app da TestFlight all'App Store non richiede ricostruzione. È sufficiente selezionare il build beta approvato in App Store Connect e fare clic su Invia per revisione. Lo stesso build che ha superato il beta testing viene inviato per la revisione finale dell'App Store senza ricompilazione.

Ciò garantisce che la versione esatta testata dai partecipanti vada in produzione, eliminando i rischi di differenze tra i build beta e quelli di rilascio. Dopo aver superato la revisione finale dell'App Store, il build viene automaticamente pubblicato sull'App Store secondo le regole di disponibilità configurate.

Prima della pubblicazione, lo sviluppatore deve aggiornare i metadati: descrizione della versione, screenshot per la nuova versione del sistema operativo e informazioni sulle modifiche. I build di TestFlight che non sono stati inviati all'App Store vengono automaticamente eliminati 90 giorni dopo il caricamento insieme a tutti i dati di test.

Domande frequenti

Quanto tempo richiede la verifica di un build in TestFlight?

La verifica automatica richiede generalmente da 5 minuti a un'ora. Il Beta App Review per il testing esterno richiede da alcune ore a 2 giorni. Per i build successivi, la revisione è più rapida poiché Apple considera la cronologia delle revisioni precedenti.

Si può usare TestFlight senza Apple Developer Program?

TestFlight è disponibile solo per i membri dell'Apple Developer Program (99 $/anno). Senza abbonamento, non è possibile caricare build in App Store Connect. Per la distribuzione Ad Hoc senza abbonamento, sarebbe necessario un account Enterprise o SideStore.

Qual è la differenza tra TestFlight e la distribuzione Ad Hoc?

La distribuzione Ad Hoc richiede la raccolta degli UDID dei dispositivi, la creazione di un profilo di provisioning e la distribuzione manuale dell'IPA. TestFlight automatizza l'intero processo: lo sviluppatore carica il build, il tester installa tramite TestFlight App senza profili di provisioning o UDID.

Quanto dura un build in TestFlight?

La durata di un build in TestFlight è di 90 giorni dal caricamento. Dopo la scadenza, i tester non possono installare o avviare l'app. Per continuare i test, è necessario caricare un nuovo build con un numero di versione incrementato.

TestFlight supporta le applicazioni macOS?

TestFlight supporta le applicazioni macOS a partire da macOS 11 Big Sur. I tester installano la versione beta tramite TestFlight App su Mac. Il processo di caricamento e gestione è identico alla versione iOS: archiviazione in Xcode, caricamento tramite Organizer.

Riepilogo

  • TestFlight è la piattaforma ufficiale di beta testing Apple integrata in App Store Connect e Xcode
  • Il testing interno (fino a 100 partecipanti) è disponibile immediatamente dopo il caricamento del build senza moderazione
  • Il testing esterno (fino a 10.000 partecipanti) richiede il Beta App Review e supporta i link pubblici
  • Il caricamento dei build viene effettuato tramite Xcode Organizer, xcrun altool o automazione CI/CD
  • Il feedback e le metriche vengono raccolti automaticamente, inclusi crash log e screenshot annotati
  • La pubblicazione sull'App Store viene effettuata da un build beta approvato senza ricompilazione
  • Si raccomanda di utilizzare TestFlight per tutti i build di pre-rilascio come unica infrastruttura ufficiale Apple

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche