Testare automaticamente le applicazioni desktop: a mano, pianificato o nella build

Zwei Entwickler tippen konzentriert auf einer Tastatur – manuelles Testen am Arbeitsplatz

Automazione dei test

Ogni nuova versione può rompere ciò che ieri funzionava ancora. Nel software desktop spesso ce ne si accorge solo presso il cliente: una finestra di dialogo non si apre più, un comando calcola in modo errato, un add-in non si carica. Chi ricontrolla tutto a mano, con intervalli brevi tra una versione e l'altra, difficilmente riesce ancora a farlo in modo completo.

I test automatizzati dell'interfaccia utente usano la Sua applicazione come farebbe un utente e ne verificano il risultato. Decisivo però non è solo come crea i test, ma anche quando vengono eseguiti.

Quali test convengono

Automatizzi prima ciò che si ripete spesso: test di regressione dopo ogni modifica, grandi quantità di controlli dello stesso tipo e test guidati dai dati, cioè lo stesso flusso con molti record. Ne fanno parte anche i controlli con elevati requisiti di precisione. Non si può automatizzare l'usabilità: se un'interfaccia è comprensibile, lo giudica una persona.

Creare i test: registrare invece di programmare

Con il nostro strumento TesteriX registra i passi di utilizzo senza scrivere codice di test. Durante la registrazione TesteriX riconosce gli elementi di comando del programma da testare – menu, barre multifunzione, finestre di dialogo, barre degli strumenti e campi di immissione – e li incornicia non appena il mouse vi passa sopra. Ogni clic e ogni immissione vengono salvati come azione insieme all'oggetto di destinazione. Per il riconoscimento TesteriX utilizza FlaUI, elaborazione delle immagini e riconoscimento basato sull'IA. Lo impieghiamo per applicazioni desktop con WPF, WinForms, MFC o QML.

Successivamente aggiunge le verifiche: un'azione confronta il valore effettivo con quello atteso. I valori restituiti li salva in variabili e li riutilizza nei passi successivi.

Un caso particolare sono i sistemi CAD. I clic nell'area di disegno dipendono dalla risoluzione e dalla versione del programma. Per AutoCAD e BricsCAD TesteriX controlla quindi l'area di disegno tramite comandi CAD tratti da un catalogo di diverse centinaia di comandi, ad esempio «cerchio con centro 0,0,0 e raggio 50». Comandi di interrogazione verificano poi che cosa c'è effettivamente nel disegno.

Quando vengono eseguiti i test

ModalitàChi avviaA che cosa serve
A mano Sviluppatori o tester alla propria postazione Provare nuovi test, riprodurre errori, eseguire singole azioni o casi di test
Avviati in modo mirato Una persona, in un'occasione precisa Prima di un rilascio o dopo una correzione, su richiesta solo per le aree interessate
Pianificati Una pianificazione, ad esempio di notte o nel fine settimana Lunghe sessioni di test su un computer di test o su una macchina virtuale; al mattino il rapporto è pronto
Nella build (CI) Il server di build a ogni modifica Intercettare gli errori prima che una versione venga distribuita

A mano, con la selezione determina che cosa viene eseguito: un'azione, un caso di test o più progetti di test. Con F5 il test gira con debug e si ferma ai punti di interruzione e in caso di errore. Con Ctrl+F5 gira senza interruzioni. F10 esegue esattamente un passo – pratico per circoscrivere un errore.

Per la build salva la soluzione come file .tse e la registra nel repository Git del software da testare. Sul server di build il TesteriX TestPlayer, una variante senza interfaccia grafica, esegue i test e mette i risultati a disposizione del server CI. Così i test vengono eseguiti a ogni build, ad esempio in Azure DevOps, GitHub Actions o Jenkins. Una build pianificata sullo stesso server può farsi carico dell'esecuzione notturna.

Valutare i risultati

Dopo l'esecuzione la finestra dei risultati mostra per ogni azione uno stato: riuscita, avviso, errore o non eseguita. Un avviso segnala ad esempio prestazioni anomale o valori non confrontati. Per ogni elemento TesteriX registra data, ora e durata. Come verbale genera un PDF da archiviare o una pagina HTML da scorrere rapidamente. In alternativa trasferisce i risultati a Xray in Jira. Su richiesta si aggiungono screenshot delle azioni.

Riutilizzare i test per più versioni

Spesso i test per due versioni di un programma differiscono di poco. Invece di registrare tutto da capo, inserisce un caso di test come collegamento nel secondo progetto. Il collegamento mostra i passi dell'originale senza copiarli. Se lì modifica soltanto un valore, il riferimento rimane. Le aggiunte all'originale le riprende con «Sincronizza collegamento».

Errori tipici

  • Testare sul computer di produzione. I test automatizzati controllano i programmi a distanza e modificano file. Usi un computer di test dedicato e salvi prima i disegni e i dati utilizzati.
  • Cliccare nell'area di disegno. I clic su coordinate dello schermo falliscono con un'altra risoluzione o versione. Nei sistemi CAD usi i comandi CAD.
  • Registrare senza verificare. Un test che si limita a cliccare trova solo i crash. Solo le verifiche lo rendono significativo.
  • Soluzioni enormi. Più soluzioni piccole sono meglio di una grande. Restano veloci e chiare.
  • Dimenticare l'antivirus. Uno strumento che controlla a distanza altri programmi può far scattare avvisi. Imposti prima un'eccezione.
  • Ignorare i test rossi. Se un test fallisce in modo permanente, presto nessuno ci fa più caso. Elimini la causa o adegui subito il test.

Come La aiutiamo

Fonti: guida di TesteriX (versione 2026.7), capitoli «Registrazione e riproduzione», «Particolarità CAD», «Risultati», «Riutilizzo tramite collegamenti» e «Integrazione nella Continuous Integration»; Cadida: Automazione dei test.

CONTACT

Seleziona la tua lingua

Primo colloquiofissare oraPrimo colloquiofissare ora