Registrazione dello sviluppo del metronomo
I test delle app per lo sviluppo personale possono essere lasciati all’intelligenza artificiale? Risultati della verifica con metronomo
Verrà utilizzato un esempio di sviluppo del metronomo per mostrare quanto i test delle app di sviluppo personale possano essere affidati all'intelligenza artificiale. Riassumeremo il superamento di 109 test automatici, la scoperta di difetti di transizione dello schermo, l'analisi di registrazioni a 96 BPM e l'intervallo finale di conferma umana.

Se stai sviluppando un'app da solo, non è facile trovare abbastanza tempo per testarla. Questo perché è necessario implementare, controllare il funzionamento, registrare i risultati e indagare sui difetti da parte di una sola persona.
Come risultato dell'utilizzo dell'intelligenza artificiale nello sviluppo dell'app metronomo, valuto che nel caso dello sviluppo individuale, l'intelligenza artificiale può essere la principale responsabilità dei test.
Non solo sono stati in grado di scoprire difetti che gli esseri umani non avevano notato, ma sono stati anche in grado di confermare l’accuratezza del ritmo utilizzando calcoli e analisi di registrazione. Tuttavia, la conferma finale delle specifiche e dei risultati e la decisione di pubblicarli vengono prese dagli esseri umani.
La portata lasciata all'IA e la portata confermata dagli esseri umani
In questo sviluppo, abbiamo condotto test nelle seguenti fasi:
| fase di test | Costruisci usato |
|---|---|
| locale | costruzione dello sviluppo |
| prova interna | Compilazione di verifica |
| prova ravvicinata | Costruzione della produzione |
In questo articolo, "test tramite intelligenza artificiale" include non solo il funzionamento del terminale utilizzando l'intelligenza artificiale, ma anche la verifica tramite test automatizzati e l'elaborazione dell'analisi. Non tutto è stato confermato esclusivamente attraverso le operazioni sullo schermo dell'IA o il giudizio visivo.
Abbiamo lasciato la maggior parte dei compiti all'intelligenza artificiale, come determinare la prospettiva del test, creare specifiche in formato Excel, utilizzare il terminale, determinare pass/fail, acquisire screenshot e confermare la riproduzione dei difetti.
Il flusso di base è il seguente.
- L'intelligenza artificiale identifica le prospettive di test e crea specifiche di test in formato Excel
- Dopo la revisione dell'intelligenza artificiale, un essere umano conferma la versione finale delle specifiche
- L'intelligenza artificiale esegue il test sul dispositivo di verifica e registra risultati e screenshot
- Confronta i risultati dei test e le prove e, dopo la revisione dell'intelligenza artificiale, la conferma finale da parte degli esseri umani
Come prova, utilizza gli screenshot acquisiti sul dispositivo di verifica durante l'esecuzione del test. Le immagini non verranno generate o elaborate dalla generazione AI.
I disegni sono stati controllati da esseri umani con l'assistenza dell'intelligenza artificiale. L’intelligenza artificiale è responsabile dell’esecuzione e gli esseri umani sono responsabili del controllo dei punti importanti quali specifiche, risultati e aspetto.
Scopri i difetti che gli altri hanno mancato
Uno dei bug scoperti dall'IA era Se esegui un'operazione specifica, potresti passare a una schermata che avrebbe dovuto essere scartata.
Non rivelerò le operazioni specifiche o la configurazione dello schermo, ma è un'incoerenza che ti consente di tornare a una schermata che non dovresti riuscire a raggiungere. Per quanto abbiamo confermato, non si sono verificati danni reali agli utenti, ma abbiamo stabilito che si era verificato un problema con la gestione dello stato dello schermo che doveva essere risolto.
Questo problema non è stato riscontrato nei test sull'uomo.
L'intelligenza artificiale ha persino specificato i passaggi per riprodurlo. Effettuiamo revisioni in base al contenuto, lo testiamo nuovamente utilizzando l'intelligenza artificiale e quindi conduciamo la conferma finale da parte degli esseri umani.
Nei test precedenti, abbiamo anche scoperto e risolto un problema per cui la visualizzazione dei pulsanti per 10-12 battute interrompeva le righe e un problema dell'interfaccia utente in cui le notifiche coprivano le operazioni di input/conferma.
Quando implementi tu stesso una funzione, tendi a controllarla concentrandoti sull'operazione prevista. Sulla base di questo risultato, sento che l'intelligenza artificiale non solo può svolgere il lavoro per me, ma può anche assumere il ruolo di individuare i problemi che mi sono sfuggito durante i miei controlli.
Verifica dell'accuratezza del ritmo attraverso il calcolo e la registrazione
Il cuore di un metronomo è la sua capacità di scandire con precisione un ritmo ad un tempo prestabilito. Pertanto, abbiamo controllato la posizione del suono calcolata e l'intervallo effettivo tra i suoni.
Controllare i calcoli dell'orologio interno
Per l'orologio interno che genera il suono, abbiamo calcolato la posizione prevista del suono utilizzando un metodo di calcolo diverso dall'implementazione e abbiamo confrontato i risultati. Questo perché lo stesso errore di calcolo non verrà riportato sul valore atteso.
I precedenti test dell'orologio interno hanno verificato le seguenti condizioni:
| Obiettivo di verifica | condizioni |
|---|---|
| Combinazione di tempo e numero di divisioni | 30, 31, 96, 137, 299, 300 BPM x numero di divisioni da 1 a 4. Equivalenti a 10 minuti ciascuna |
| calcoli lunghi | 137 BPM sedicesimo equivalente a 30 minuti |
All'interno di questo intervallo, abbiamo confermato che l'errore rispetto alla posizione di sondaggio prevista era compreso in un campione e che non vi era alcuna sovrapposizione nella posizione di sondaggio prevista.
"Equivalente a 10 minuti" e "Equivalente a 30 minuti" sono intervalli di verifica del calcolo. Questo non è il risultato della misurazione con un dispositivo reale che continua a produrre suono per lo stesso periodo di tempo.
Registra e controlla il suono proveniente dagli altoparlanti
Oltre ai calcoli interni, abbiamo registrato e analizzato il suono effettivo dell'altoparlante con un microfono per circa 1 minuto a 96 BPM.
Abbiamo rilevato 88 battiti dalla sezione escludendo prima e dopo la registrazione e abbiamo ottenuto i seguenti risultati.
| Articolo | Risultati della misurazione |
|---|---|
| Impostazione BPM | 96 BPM |
| BPM stimati | 95.998 BPM |
| intervallo medio dei battiti | 625.011 ms (valore teorico 625 ms) |
| deviazione standard dell'intervallo di battito | Circa 1,32 ms |
| Intervallo di battitura | 622〜628 ms |
Nelle nostre condizioni, abbiamo potuto confermare che il tempo medio era di circa 96 BPM. Nell'intervallo analizzato non sono stati rilevati intervalli lunghi indicanti battiti mancanti.
Tuttavia, 95.998 BPM è una stima analitica e non garantisce una precisione di misurazione fino a quell'ordine di grandezza. Il rilevamento avviene con incrementi di 2 ms e include errori nel sistema di registrazione e analisi, quindi non si può dire che tutte le variazioni osservate siano dovute all'app.
Inoltre, il suono in uscita è stato misurato a 96 BPM per circa 1 minuto. Non sono stati verificati il suono in uscita ad altri tempi e la deviazione cumulativa dovuta alla riproduzione prolungata.
È stato particolarmente utile non solo poter giudicare con le mie orecchie che non c'era alcun problema, ma anche poterlo confermare numericamente. Il fatto che siamo riusciti a procedere con la misurazione e l'analisi con il supporto dell'intelligenza artificiale ha portato a una conferma approfondita.
Ciò che ho confermato nella build di produzione
In questa build di produzione sono stati superati 109 test automatizzati. Oltre a questo, sto verificando il seguente comportamento sul terminale:
- Cambio di tempo
- Operazione di riproduzione quando lo schermo è spento
- Stop alle notifiche
- Conserva le impostazioni dopo il riavvio
Abbiamo inoltre confermato che la traccia audio funziona anche a luci spente e che la carenza di buffer per quella traccia è pari a 0 al momento dell'acquisizione. Questo risultato ottenuto non garantisce che non si verifichino interruzioni del suono durante l'intero periodo di riproduzione.
Sebbene la qualità non possa essere determinata solo dal numero di test eseguiti, combinando test automatici, funzionamento del terminale e analisi del suono in uscita, siamo riusciti a verificare da una prospettiva diversa.
Problemi che rimangono durante l'affidamento
Richiede la preparazione e la manutenzione dell'ambiente di esecuzione
Quando si eseguono più emulatori contemporaneamente, la CPU e la memoria del PC rappresentano dei vincoli. Per i dispositivi reali, è necessario considerare anche i costi, il metodo di connessione e lo stato di compatibilità dello strumento operativo e per gli ambienti terminali cloud.
Oltre a creare l'ambiente iniziale, c'è anche il fastidio di aggiornare i test in risposta ai cambiamenti nelle schermate e nelle specifiche.
Le persone controllano anche i risultati e i disegni attesi.
Se il risultato atteso stesso è sbagliato, non importa quanti test esegui, non sarai in grado di valutarlo correttamente. Quando si affida lo sviluppo e il test alla stessa IA, è necessario prestare attenzione che la stessa interpretazione delle specifiche possa essere ereditata.
Pertanto, la conferma finale delle specifiche e dei risultati viene eseguita dagli esseri umani. È anche importante non lasciare che gli elementi che non sei riuscito a eseguire o a giudicare superino l'esame.
Alcuni problemi di disegno e disagio durante il funzionamento sono difficili da giudicare solo da un'immagine fissa. Lasceremo il processo di toccare e controllare la macchina reale prima di rilasciarla al pubblico.
Le specifiche e le schermate servono anche come informazioni da trasmettere a soggetti esterni.
Le specifiche e gli screenshot trasmessi al servizio AI potrebbero rivelare funzioni e contenuti aziendali non divulgati. È necessario prestare particolare attenzione durante la gestione dei progetti affidati o dei dati utente.
Verifichiamo separatamente se i dati verranno utilizzati per l'apprendimento, per quanto tempo verranno salvati e chi può accedervi e stabiliamo se il contratto e le impostazioni da utilizzare soddisfano le condizioni del progetto. Anche l’uso di dati fittizi e conti di prova è qualcosa che dovresti decidere al momento dell’implementazione.
Nello sviluppo personale, puoi essere il principale responsabile dell’intelligenza artificiale.
“Va bene utilizzare solo l’intelligenza artificiale per testare le app a livello di unico proprietario?”
La mia risposta, basata sulla mia esperienza, è chela maggior parte del lavoro di test è lasciato a te. Tuttavia, la conferma finale e la decisione di pubblicare sono lasciate alla persona.
Per lo meno, i risultati sono stati migliori di quelli che ero in grado di ottenere da solo. Questo perché abbiamo trovato un bug che avevamo trascurato e siamo stati in grado di verificare tutto, dai calcoli interni al suono effettivo in uscita.
Ciò non indica superiorità o inferiorità rispetto agli ingegneri generali o agli ingegneri del controllo qualità. La mia esperienza è stata che sono stato in grado di utilizzare l'intelligenza artificiale per compensare la mia mancanza di capacità di test e i limiti di svolgere da solo sia lo sviluppo che la verifica.
Le attività autonome richiedono di indossare più cappelli in un periodo di tempo limitato. Anche l'intelligenza artificiale richiede preparazione e conferma, ma affidandole l'esecuzione ripetitiva, la registrazione e l'analisi dei problemi, puoi dedicare il tuo tempo a prendere decisioni importanti.
Possibilità di espandere il carico di lavoro di una persona e di avanzare verso conferme precedentemente irraggiungibili. Questo è il valore più importante dei test dell'intelligenza artificiale durante lo sviluppo del metronomo.