Test del database - Panoramica

Il test del database include l'esecuzione della validità dei dati, il test dell'integrità dei dati, il controllo delle prestazioni relativo al database e il test delle procedure, dei trigger e delle funzioni nel database.

Esempio

Si consideri un'applicazione che acquisisca i dettagli delle transazioni quotidiane per gli utenti e memorizzi i dettagli nel database. Dal punto di vista del test del database, è necessario eseguire i seguenti controlli:

  • Le informazioni transazionali dall'applicazione dovrebbero essere memorizzate nel database e dovrebbero fornire informazioni corrette all'utente.

  • Le informazioni non devono essere perse quando vengono caricate nel database.

  • Solo le transazioni completate dovrebbero essere memorizzate e tutte le operazioni incomplete dovrebbero essere interrotte dall'applicazione.

  • L'autorizzazione all'accesso al database dovrebbe essere mantenuta. Non deve essere fornito alcun accesso non autorizzato o non autorizzato alle informazioni dell'utente.

Perché è necessario eseguire il test del database?

Esistono diversi motivi per cui viene eseguito il test del database. È necessario eseguire l'integrità dei dati, la convalida e il controllo della coerenza dei dati sul database poiché il sistema di backend è responsabile dell'archiviazione dei dati e vi si accede per molteplici scopi.

Di seguito sono riportati alcuni motivi comuni per il test del database:

  • Per facilitare la complessità delle chiamate al back-end del database, gli sviluppatori aumentano l'uso di View e Stored Procedure.

  • Queste Stored procedure e Viewscontengono attività critiche come l'inserimento dei dettagli del cliente (nome, informazioni di contatto, ecc.) e dati di vendita. Queste attività devono essere testate a diversi livelli.

  • Black-box testingeseguito sul front-end è importante, ma rende difficile isolare il problema. Il test nel sistema di backend aumenta la robustezza dei dati. Ecco perché il test del database viene eseguito sul sistema back-end.

  • In un database, i dati provengono da più applicazioni e c'è la possibilità che dati dannosi o errati siano memorizzati nel database. Pertanto, è necessario controllare regolarmente i componenti del database. Inoltre, l'integrità e la coerenza dei dati dovrebbero essere controllate regolarmente.

Test di database vs test front-end

Il test del database è diverso dal test dell'interfaccia utente front-end. La tabella seguente evidenzia le differenze principali:

Test di database Test dell'interfaccia utente

Il test del database è noto come convalida dei dati e test di integrità o test di back-end.

Il test dell'interfaccia utente o il test front-end è anche chiamato test dell'applicazione o test della GUI.

Il test del database implica il test dei componenti back-end, che non sono visibili agli utenti.

Ciò include componenti di database e sistemi DBMS come My SQL, Oracle.

Il test dell'interfaccia utente comporta il controllo delle funzionalità di un'applicazione e dei suoi componenti come moduli, grafici, menu, rapporti, ecc.

Questi componenti vengono creati utilizzando strumenti di sviluppo front-end come VB.net, C #, Delphi, ecc.

Il test del database implica il controllo di procedure memorizzate, viste, schemi nel database, tabelle, indici, chiavi, trigger, convalide dei dati e controllo della coerenza dei dati.

Il test dell'interfaccia utente implica il controllo della funzionalità dell'applicazione, dei pulsanti, dei moduli e dei campi, del calendario e delle immagini, della navigazione da una pagina all'altra e della funzionalità complessiva dell'applicazione.

Per eseguire il test DB, un tester necessita di una conoscenza approfondita del concetto di database, come procedure e funzioni, viste, indici, chiavi e un buon SQL pratico.

Per eseguire i test dell'interfaccia utente, un tester necessita di una buona comprensione dei requisiti aziendali, conoscenza funzionale dell'applicazione, codifica, ecc.

I dati provengono da più origini dati eterogenee su applicazioni Web, applicazioni Intranet e varie altre applicazioni.

I dati vengono inseriti manualmente nelle applicazioni. Implica il test funzionale delle applicazioni front-end.