Martedì 3 novembre 2026
L’edizione di oggi
Millebit
AI · Software · QA
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

QA e affidabilità

QA Wolf porta il suo agent dai browser alle app Android e iOS

Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.

Hanno combinato screenshot e UI tree, e aggiunto azioni touch specifiche per eseguire test riproducibili su più dispositivi.

Illustrazione generata con l’intelligenza artificiale

QA Wolf ha addestrato il suo agent a usare un telefono: oggi testa app Android e iOS unendo screenshot, albero UI e nuove azioni touch1.

Sul web il browser consegna tutto: HTML, ID, label, URL. Playwright guida il browser, il test legge, clicca, digita. L’agent punta il bottone visto nello screenshot e clicca. Su mobile cambia tutto: il test controlla da remoto un emulatore o un dispositivo via Appium, vede solo l’albero UI che l’app espone all’accessibilità, non c’è barra degli indirizzi, l’input è il tocco, schermi e densità variano tra modelli1.

Il vecchio agent andava in crisi. Non trovava elementi, perché cercava selettori leggendo l’HTML o registrando hover. Conosceva solo il mouse, quindi clic, scroll, drag e tasti. Mirava nel punto sbagliato: la coordinata nello screenshot non coincide con quella sul telefono. I test reggevano su un solo modello. E le istruzioni erano pensate per Playwright e un browser1.

La ripartenza è passata dallo sguardo. Per scrivere test deterministici serve un selettore per ogni elemento toccato. Su mobile l’agent ha due viste parziali: lo screenshot mostra cosa vede l’utente ma non contiene selettori, l’albero UI elenca selettori senza mappa visiva. Hanno agganciato le due fonti: quando l’agent individua un elemento nello screenshot, chiede al dispositivo quale elemento sta in quel punto. Il dispositivo risponde con i selettori, dal migliore in giù. Su Android l’ordine privilegia resource ID, poi content description, poi testo. Su iOS conta name insieme al tipo. Se l’elemento non offre nulla, il selettore si appoggia a un vicino identificabile o al percorso nell’albero1.

Le differenze tra piattaforme non impongono due suite. Le app in React Native passano il testID a iOS come accessibility ID e ad Android come resource ID. Così lo stesso campo di ricerca diventa ~shop-search su iOS e //*[@resource-id='shop-search'] su Android. L’agent conserva entrambe le varianti in un unico “oggetto schermo”, l’equivalente mobile del page object. Un solo test gira su iOS e Android1.

Poi hanno riscritto le azioni. Gli strumenti di OpenAI per l’uso del computer coprono mouse e tastiera, non i telefoni. QA Wolf ha mantenuto la forma delle azioni per riutilizzare l’addestramento, ma ha introdotto operazioni solo per dispositivi: un tap che accetta un selettore oltre alle coordinate, un fill che sostituisce il testo, uno swipe con durata impostabile per distinguere tra scorrimento breve e fling veloce1.

Non sempre i selettori esistono. App in Flutter o disegnate su canvas espongono quasi nulla. E nelle schermate nuove l’agent deve toccare ciò che vede ancor prima di avere i selettori. In questi casi usa le coordinate. Funziona solo se lo screenshot combacia con il dispositivo. Spesso non accade: su iPhone 15 lo scatto è 1.179 x 2.556 pixel, ma iOS imposta le aree di tap in modo diverso, quindi la posizione non corrisponde in modo affidabile tra immagine e telefono1.

Il vincolo resta la generazione di test in codice deterministico: esecuzioni rapide, riproducibili, senza chiamare un modello a ogni passo. L’unione tra screenshot e albero UI, più le azioni pensate per il dispositivo, porta questo vincolo nel mondo mobile senza duplicare i test tra piattaforme1.

Fonti

  1. Teaching an Agent to Use a Phone: How We Built AI for Android and iOS Tests QA Wolf Blog · 3 novembre 2026
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Rilettura. Un passaggio toglie i tic della prosa generata da un modello, come i contrasti costruiti e le frasi che annunciano invece di informare, senza toccare fatti e fonti.
  • Fedeltà alle fonti. Un passaggio dedicato toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 8,1/10 dopo 1 revisione.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.