Test
copia linkIntroduzione
Proprietà, funzioni e procedure utilizzabili run-time per eseguire e verificare il test dell'applicazione.
Il modulo di Test nasce con lo scopo di rendere più efficiente il test delle applicazioni e di ridurne il tempo.
Il test di un'applicazione è un'operazione lunga e delicata che solitamente prende tanto tempo quanto lo sviluppo, e che inoltre deve essere rieseguita ogni volta che l'applicazione viene modificata.
In più effettuare il test di un'applicazione web è ancora più difficile in quanto confrontare il codice HTML prodotto non è indicativo, e paragonare la visualizzazione di parti di visualizzazione nel client è un metodo più corretto ma di difficile applicazione. Per rispondere al problema il modulo confronta lo stato interno delle applicazioni, essendo infatti integrato è a conoscenza dell'attivazione dei campi, l'abilitazione dei bottoni, i dati contenuti nei pannelli, ecc.
Il modulo permette la registrazione di una sessione utente originale, il suo replay anche su versioni diverse dell'applicazione, e l'identificazione automatica delle differenze tra un'esecuzione e l'altra. Sia durante la registrazione della sessione utente originale che durante l'esecuzione dei test viene memorizzato lo stato interno dell'applicazione, ed è proprio grazie a queste informazioni che è possibile ottenere una verifica automatica dei risultati.
L'uso del modulo si divide quindi in tre fasi principali:
- Registrazione: durante la registrazione lo sviluppatore non ha altro da fare che utilizzare normalmente l'applicazione, come se effettuasse un primo test manuale. Tutte le azioni dell'utente vengono memorizzate per il replay.
- Replay: per effettuare il test dell'applicazione non occorre far altro che lanciarla tramite un'apposita interfaccia, facendole usare una qualunque versione dell'applicazione target, con o senza l'intervento dell'operatore. Lo stato interno degli oggetti viene registrato e salvato sul database.
- Analisi differenze: è possibile effettuare un confronto tra le sessioni registrate e l'originale, mettendone in risalto le differenze di comportamento.
Requisiti
- La registrazione della sessione originale, dei test e dei risultati viene salvata su database, perché l'applicazione sia un grado di utilizzare correttamente il modulo è quindi necessario che il database contenga alcune tabelle. E' possibile copiarle dalla cartella DTT del database Teamworks contenuto nel progetto di esempio.
- L'applicazione di cui si vuole effetture il test e l'applicazione che gestisce i test devono usare lo stesso database.
Registrare un test
Per registrare una sessione originale è necessario predisporre un'interfaccia utente, è possibile copiare i form dell'applicazione Teamworks contenuta nel progetto di esempio.
Utilizzando il form Test Suite è possibile definire i test applicativi, predisponendone l'ordine di esecuzione e organizzandoli gerarchicamente.

Nell'esempio è stata impostata una Test Suite per testare l'applicazione Esempi Learning, disponibile all'indirizzo nell'immagine in basso a destra. Le applicazioni di esempio EsempiLearning e Teamworks utilizzano lo stesso database
Rieseguire un test
Cliccando sul bottone "Esegui" tutta la suite viene rieseguita per testare l'applicazione target, è quindi possibile memorizzare più di un test e poi effettuarli tutti insieme.


Toolbar disponibile per il controllo dei test, vedere il tooltip dei comandi per la descrizione
Analisi delle differenze
Per ogni test effettuato è possibile visualizzare il debug della sessione di lavoro, o ancor meglio confrontarlo con quello salvato in fase di registrazione del test. Per questo è disponibile un esempio della schermata di TeamWorks "Risultati Test", reperibile nel progetto di esempio al link sottostante.


Esempio di come viene mostrato il debug cliccando sul bottone "Differenze"
| Check DTT Diff | Mostra il debug di due sessioni di test specificate e ne evidenzia le differenze |
| Dump GUIDs | Salva su file tutti i GUID di tutti gli oggetti visti nella sessione |
Ultima modifica: 24/03/2021 / Validità: da 6.5.2680