Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Testing

Per verificare il corretto comportamento del sistema e l’efficacia del prodotto realizzato si è proceduto a testare le diverse componenti del sistema sia tramite test manuali, che mediante test automatici. Nelle seguenti sezioni verranno definiti con maggiore dettaglio i test realizzati.

Testing del Server

Durante la progettazione Server sono stati effettuati test automatici tramite la libreria Vitest per verificare la qualità del codice e tutte le funzionalità.

Vitest ha permesso di effettuare test sulle API implementate ed esposte dai vari microservizi, verificando che i vari endpoint rispondessero correttamente alle richieste e restituissero i dati attesi. Inoltre, è stato possibile testare la gestione degli errori e la validazione dei dati in input.

Si è cercato di testare la maggior parte dei componenti in tutti i microservizi, ottenendo una coverage complessiva di:

Stmts Branch Funcs Lines
80.40 78.48 97.475 80.40

Di seguito verrà rappresentata la coverage per ogni singolo servizio:

Microservices coverage

Servizio Stmts Branch Funcs Lines
Activity 97.02 88.23 100 97.02
Bills 65.15 87.5 87.5 65.15
Buildings 67.85 58.13 100 67.85
Gateway 96.29 87.5 100 96.29
Organization 74.01 72.41 100 74.01
Preferences 89.92 87.09 100 89.92
Renewable 86.79 81.08 100 86.79
Users 66.18 65.9 92.3 66.18

Testing del Client

Anche per il Client sono stati realizzati dei test automatici per verificare il corretto funzionamento dell’applicazione utilizzato sempre Vitest per testare sia la logica che le interfacce.

Tuttavia, siccome il sistema è distribuito, non è stato possibile testare tutte le funzionalità dell’applicazione in quanto richiede che i micro-servizi siano attivi e in esecuzione. La coverage finale ottenuta (con 250 test) è la seguente:

Stmts Branch Funcs Lines
89.33 84.04 70.77 89.33

In conclusione, sono stati eseguiti test manuali su piattaforme MacOS e Windows al fine di verificare il corretto funzionamento dell’applicazione. Inizialmente, sono stati eseguiti test sulle singole pagine per accertarsi che le richieste al server fossero gestite correttamente e che tutte le informazioni necessarie venissero visualizzate all’utente. Inoltre, è stato verificato che l’aggiornamento dei dati funzionasse correttamente. Successivamente, sono state integrate le diverse schermate per garantire che il comportamento complessivo dell’applicazione rimanesse invariato. Infine, è stato verificato che l’interfaccia fosse responsive alle azioni dell’utente, mantenendo tutte le altre funzionalità.

coverage client

Coverage ottenuta per il Client