Story
Come un agente AI per il QA gira su un solo Mac mini
1.792 test rotti, un Mac mini e un agente con 24 strumenti. Come l'agente QA di PerfectApps ripara i test, smista i fallimenti e approva le release, e perché gira su Apple silicon invece che su un VPS Linux.
Aggiornato: 2026-09-15
PerfectApps è una piattaforma no-code per applicazioni. Il suo team QA gestisce oltre 2.100 casi di test automatici in Cypress e Selenium. Oggi la maggior parte di quel lavoro viene avviata, analizzata e riportata da un agente AI che vive su un unico Mac mini dedicato.
Ecco come è nato, cosa fa e perché la scelta dell'hardware è stata ponderata.
Tutto è iniziato con 1.792 test rotti
Una correzione di sicurezza obbligatoria ha rimosso Bootstrap da tutto il codice di PerfectApps. La struttura delle pagine è cambiata ovunque in un colpo solo, e 1.792 casi di test si sono rotti lo stesso giorno, in oltre 50 aree del prodotto.
Nessuno ha stimato nel dettaglio la riparazione manuale, perché non è mai stata fatta a mano. La stima approssimativa era tutto il team, quattro persone, solo su questo per un massimo di due mesi.
È stato allora che l'agente ha smesso di essere un'idea.
Riparare, poi coprire, poi giudicare
Riparare. Invece di correggere 1.792 test uno per uno, l'agente ha trovato ogni causa principale una volta sola e ha applicato la correzione a ogni spec coinvolta. Il login è stato spostato in un unico comando condiviso, così una sola modifica arrivava a tutti i test.
Coprire. Con la riparazione funzionante, lo stesso approccio è passato alle aree mai testate. La suite è cresciuta da 1.400 a 1.955 file di spec. Tra questi c'era un editor visuale di diagrammi disegnato su canvas, che non offre nulla su cui un test possa cliccare. La soluzione è stata smettere di testare il canvas e verificare invece i dati salvati: 51 nuove spec, tutte verdi alla prima esecuzione completa.
Giudicare. Dopo ogni regressione, qualcuno doveva esaminare i fallimenti e decidere quali erano test rotti, quali bug reali e quali rumore. Servivano 12 ore, divise tra tre persone, per ogni release. Ora è compito dell'agente. In una release ha esaminato 1.748 risultati di test e ha trovato esattamente un bug reale del prodotto tra circa 300 fallimenti. Il resto era debito della migrazione.
Cosa fa l'agente
L'agente ha 24 strumenti e decide da solo quali chiamare e in che ordine. Il team gli parla in linguaggio naturale, su Microsoft Teams o sul web.
Un ciclo di release passa per una pipeline fissa:
One release run
- 1SanityA smoke test on production. If it fails, everything stops.
- 2RegressionMore than 2,100 test cases in five parallel lanes, in about 90 minutes.
- 3New testsSpecs for areas without coverage, generated while regression runs.
- 4TriageEvery failure classified as a test issue, a real bug, a flaky test or a known blocker.
- 5ReportA GO or NO-GO verdict, posted to Teams and to the GitHub pull request.
Alcuni esempi di cosa è cambiato:
| Attività | A mano | Con l'agente |
|---|---|---|
| Fare il triage di un'intera esecuzione di regressione | 12 ore, 3 persone | Minuti |
| Scrivere un nuovo test da un ticket Jira | Da 2 a 4 ore ciascuno | Minuti |
| Aprire un bug dopo la regressione, con le prove | Da 30 a 60 minuti ciascuno | Automatico |
| Approvare una release di hotfix | Mezza giornata | Minuti |
Il valore non è il tempo risparmiato su una singola riga. È che settimane di lavoro manuale non compaiono più affatto nel ciclo di release.
Perché un Mac mini e non un server Linux
L'agente gira in modo nativo su un Mac mini dedicato. Niente Docker, niente Kubernetes, niente cluster. Raggiunge il mondo esterno tramite un Cloudflare Tunnel.
È stata una decisione, presa dopo il confronto con un VPS Linux:
- I browser sono più veloci. Su Apple silicon, Chrome e Cypress giravano da tre a cinque volte più velocemente che sul VPS.
- L'agente lavora sul repository reale. Legge e scrive direttamente i file di test, quindi per generare una nuova spec non serve un livello di API in più.
- Niente da simulare. Un Mac ha un vero stack grafico, quindi non c'è un display server virtuale da tenere in vita solo per aprire un browser.
- Spazio per i modelli locali. Piccoli modelli sul Neural Engine del Mac possono gestire lo smistamento e la classificazione semplice, e il modello cloud più grande resta per il ragionamento che lo richiede.
Il VPS sarebbe costato 43 dollari al mese in meno. È meno della giornata di lavoro di un ingegnere che servirebbe per il trasferimento.
Cosa significa se stai costruendo un agente
- Dai all'agente una macchina tutta sua. Gli servono un browser, un file system e la libertà di girare per ore senza che nessuno lo disconnetta o lo riavvii.
- Inizia dal lavoro che nessuno vuole fare. Il collo di bottiglia erano il triage e la riparazione dei test, non lo sviluppo di nuove funzionalità.
- Lascia il verdetto a una persona. L'agente classifica e consiglia. Il team decide se una release esce.
- Scegli l'hardware in base al carico di lavoro. Se il tuo agente pilota un browser o fa build per le piattaforme Apple, Apple silicon si ripaga in fretta.
L'agente QA di PerfectApps è stato creato per uso interno e gira su un Mac mini dedicato presso MacDuty.
Disponibili oggi
Questi sono già nel rack. Scegline uno, guarda cosa include e crea l'account solo quando ordini.
Controllo dei rack in corso
Un Mac mini tutto tuo
Scegli una configurazione. Se non è disponibile, lasciaci la tua email e ti scriviamo il giorno in cui è nel rack.
Annuale: almeno 19% in meno rispetto al pagamento mensile
Avanti