Il ciclo di sviluppo del software è pieno di sfide, in quanto le organizzazioni devono affrontare non solo la riduzione del time-to-market, ma anche l’aumento della complessità delle applicazioni. Per garantire che le applicazioni rimangano stabili e funzionali, dallo sviluppo iniziale al lancio del prodotto e oltre, le organizzazioni devono utilizzare diversi tipi di test.
Naturalmente, con l’aumentare della complessità dello sviluppo, aumentano anche i test necessari. Una componente essenziale di qualsiasi scenario di test di successo è la gestione dei dati di test (TDM). Consente alle organizzazioni di livello aziendale di semplificare, automatizzare e controllare tutti i tipi di test utilizzati, riducendo i costi e aumentando la qualità dei test.
Che cos’è la gestione dei dati di prova (TDM) nel testing del software?
La gestione dei dati di test è il processo di creazione, gestione, implementazione e consegna dei dati di test. Tradizionalmente, i test di sviluppo del software avvenivano in silos decentralizzati, ma il TDM consolida i test sotto la supervisione di un singolo team, gruppo o dipartimento.
I servizi di gestione dei dati di test raccolgono i dati necessari per i test software automatizzati, compresi i dati dei test di unità, integrazione e sistema. Comporta l’ottenimento e l’archiviazione di dati appropriati e accurati necessari per i test automatizzati, riducendo o eliminando la necessità di un coinvolgimento umano nel processo di test (un concetto simile a quello di
automazione robotica dei processi
).
Con l’aumento della popolarità, il TDM si è ampliato fino a comprendere la generazione di dati sintetici, il mascheramento dei dati, il subsetting, l’intelligenza artificiale e altro ancora.
In ultima analisi, la gestione dei dati di test aumenta l’affidabilità e la qualità del prodotto software finito, con conseguente miglioramento dell’esperienza dell’utente finale. Inoltre, l’aspetto di offuscamento dei dati del TDM aiuta le organizzazioni a rispettare tutte le leggi e le normative sulla privacy dei dati.
Chi utilizza il Test Data Management (TDM) nel testing del software?
Anche se la risposta “tutti” potrebbe sembrare semplicistica e generica, la verità è che le tecniche di gestione dei dati di test beneficiano di tutti i tipi di applicazioni software. Se il test avviene durante il ciclo di sviluppo (e dovrebbe), i processi TDM aumentano l’accuratezza, l’organizzazione e l’utilità dei risultati.
Poiché tutto lo sviluppo del software richiede un test, il TDM è utile essenzialmente per qualsiasi progetto. Detto questo, alcune organizzazioni e applicazioni impongono praticamente l’uso di una strategia di strategia di gestione dei dati di test.
Le applicazioni di livello enterprise richiedono il TDM a causa delle loro complesse e sfaccettate esigenze di test. Il TDM è utile per tutte le principali aree di test presenti nello sviluppo aziendale, compresi i test funzionali, non funzionali, di performance e di automazione.
Inoltre, i processi di offuscamento del TDM rendono il suo utilizzo essenziale per le applicazioni che coinvolgono dati personali o sensibili, tra cui siti o applicazioni legati al commercio elettronico, alla finanza e alla sanità.
A quali tipi di test serve la gestione dei dati?
La gestione dei dati si concentra su tre ampie categorie di test.
1. TDM per il test delle prestazioni
Il test delle prestazioni misura le prestazioni di un’applicazione in base al carico di lavoro previsto, valutandone la reattività, la stabilità e la scalabilità. TDM consente di concentrare i test sull’infrastruttura e sugli elementi rivolti all’utente per ottenere prestazioni rapide e affidabili.
I migliori strumenti di gestione dei test aiutano ad aumentare i cicli di aggiornamento e la generazione di dati in massa.
2. TDM per i test funzionali
Mentre il test delle prestazioni analizza la velocità e la stabilità dell’applicazione, il test funzionale determina se il software agisce secondo i requisiti prestabiliti. In sostanza: Il software fa quello che dovrebbe? I servizi di gestione dei dati di test aiutano a mantenere il controllo di qualità sull’applicazione principale e sulle funzionalità nuove e aggiornate.
Il TDM aiuta a ridurre o prevenire la bassa copertura, i limiti di accesso, le lunghe tempistiche di approvvigionamento dei dati, l’elevata dipendenza e i problemi legati alle dimensioni dell’ambiente di test.
3. TDM nei test di automazione
Strategia dei dati di test per l’automazione e
iperautomazione
I processi consentono di effettuare operazioni senza contatto e di aumentare l’accuratezza riducendo il potenziale di errore umano. I processi di gestione dei dati di test sono utilizzati in tutti i tipi di strumenti di automazione della gestione dei dati di test e di test, tra cui
automazione robotica dei processi
.
A strategia dei dati di test per l’automazione aiuta a ridurre la lentezza della creazione dei dati nel front-end, la mancanza di accesso ai dati dinamici e l’impossibilità di accedere all’ambiente di test.
Vantaggi della gestione dei dati di test
Strategie di TDM, insieme a strumenti di automazione della gestione dei dati di testoffrono molteplici vantaggi alle organizzazioni di livello aziendale.
1. Migliora la qualità dei dati
Tutti i test del mondo sono inutili se costruiti su dati incompleti, irrilevanti o corrotti. TDM identifica, gestisce e archivia i dati necessari per i test automatizzati, in modo da garantire che siano appropriati e completi. Inoltre, eliminando la necessità di trasferire i dati tra più tester, la corruzione dei dati è ridotta al minimo, se non addirittura eliminata.
2. Sviluppa dati realistici
I risultati dei test saranno improduttivi se i dati dei test non rappresentano accuratamente i dati di produzione. Il TDM consente alle organizzazioni di identificare e archiviare dati di test che rispecchiano quelli presenti sui server di produzione, garantendo che i risultati dei test riflettano le funzioni del software del mondo reale. Chiamati “dati realistici”, sono simili ai dati di produzione per formato, quantità e altri fattori.
3. Migliora l’accesso ai dati
I test software automatizzati funzionano in modo efficiente solo quando i dati sono disponibili in momenti prestabiliti. Ad esempio, gli strumenti di test del data warehouse potrebbero aver bisogno di accedere ai dati in determinati momenti per scopi di autenticazione. Poiché TDM si concentra sull’archiviazione dei dati, i dati appropriati sono sempre pronti quando vengono richiesti dal software di test automatico e dalla tempistica di produzione.
4. Garantisce la conformità dei dati
TDM aiuta le organizzazioni a mantenere la conformità con tutti i regolamenti governativi e di altro tipo, come ad esempio
HIPPA
,
CCPA
e il
GDPR
. Gestione dei dati di test Il GDPR e altre normative di questo tipo richiedono dati di produzione che possono includere nomi di utenti, dati di localizzazione, informazioni personali e altro ancora, dati che devono essere mascherati prima di poter effettuare i test.
I migliori strumenti di gestione dei dati di test consentono alle organizzazioni di anonimizzare automaticamente i dati per uso interno ed esterno, al fine di garantire la conformità.
Sfide e insidie della gestione dei dati di test
Se da un lato la gestione dei dati di test offre vantaggi vitali per lo sviluppo di software a livello aziendale, dall’altro presenta potenziali insidie. Comprendere le sfide del TDM permette alle organizzazioni di anticipare e minimizzare i loro effetti.
1. La clonazione di produzione è lenta e costosa
Per ottenere i dati di test, la maggior parte delle organizzazioni preleva i dati dai server di produzione e li anonimizza. Tuttavia, la raccolta dei dati di produzione può richiedere molto tempo, soprattutto nelle fasi avanzate del processo di sviluppo, quando si ha a che fare con grandi quantità di codice.
Dopo aver clonato i dati, è necessario un luogo in cui memorizzarli. I costi dell’infrastruttura e dello storage possono aumentare rapidamente. È possibile ridurre questi costi con il taglio dei dati. Invece di clonare tutti i dati di produzione, il team ritaglierà una “fetta” di dati più piccola e rappresentativa.
2. I processi di offuscamento aggiungono costi e complessità
Come descritto in precedenza, i dati degli utenti sono fortemente regolamentati, anche per i test interni, e richiedono l’anonimizzazione. Purtroppo, il processo di offuscamento dei dati aggiunge complessità e costi al processo di sviluppo.
Sebbene la velocità, l’accuratezza e l’economicità dell’offuscamento siano migliorate grazie agli strumenti di test automatizzati, i team interessati dovranno comunque affrontare una curva di apprendimento.
I principali segni/motivi che indicano che la vostra organizzazione ha bisogno di una gestione dei dati di test
Sebbene tutto lo sviluppo del software tragga vantaggio dalla gestione dei dati di test, le organizzazioni non sempre danno priorità all’implementazione. I seguenti segnali indicano che un’organizzazione otterrà benefici quasi immediati dall’implementazione del TDM:
- Le dimensioni dei dati aumentano “su tutta la linea”, compresi gli aumenti delle dimensioni dei set di dati, dei set di dati totali, delle istanze di database e dei sistemi upstream.
- Una quantità significativa di tempo di produzione viene impiegata per preparare i dati per i test.
- I dati di produzione superano di gran lunga la quantità di dati di test disponibili.
- Le funzionalità dell’applicazione sono state rese disponibili con errori.
- I team di test sono decentralizzati o devono affidarsi a dati provenienti da una fonte centrale.
- I team di collaudo sono sovraccarichi di lavoro e non riescono a tenere il passo con le esigenze di collaudo.
- I dati a monte generano la maggior parte dei dati di test.
- I set di dati di test non sono riutilizzabili o facilmente duplicabili.
La gestione dei dati di test aiuta a ridurre, correggere e prevenire questi problemi, tra gli altri.
Tipi di dati nel test del software
Le applicazioni software generano volumi incredibili di dati durante lo sviluppo e dopo il rilascio. Il processo di gestione dei dati di test si concentra in genere sui seguenti tipi di dati:
1. Dati di produzione
I dati di produzione sono generati da persone reali che utilizzano la vostra applicazione. A seconda delle dimensioni della base di utenti e della complessità dell’applicazione, il volume di produzione può diventare molto grande, molto rapidamente, ed è per questo che in genere viene suddiviso in sottoinsiemi in base alle esigenze di test.
Si noti che i dati di produzione spesso contengono informazioni sensibili relative a
questioni di conformità
come i dati medici e finanziari, che richiedono l’offuscamento.
2. Dati sintetici
I dati sintetici vengono creati manualmente o con strumenti di test automatizzati. Simula il più possibile il comportamento degli utenti reali.
Sebbene eviti la necessità di sfocare i dati, i dati sintetici hanno un’utilità limitata. Viene utilizzato principalmente per testare le nuove funzionalità.
La creazione accurata di dati sintetici richiede un elevato livello di competenza, anche se uno strumento di gestione automatizzata dei dati di test rende tutto più semplice.
3. Dati validi
Dati validi è il termine usato per descrivere i dati prodotti quando non si verificano errori o incidenti imprevisti. Il formato, i valori e la quantità dei dati sono in linea con le aspettative del pre-test. I dati validi verificano il cosiddetto “percorso felice”, ovvero quando il viaggio dell’utente segue il percorso previsto.
4. Dati non validi
I dati non validi derivano dal “percorso infelice”. Si tratta di dati provenienti da scenari e guasti imprevisti. I dati non validi sono utilizzati anche come parte dei test di caos, che mettono alla prova i limiti di un’applicazione sotto una pioggia di dati errati.
Cosa rende i “dati di buona qualità” ai fini del test del software?
Effettuare test con dati incompleti o irrilevanti è spesso peggio che rinunciare del tutto ai test, poiché le conclusioni tratte e le conseguenti azioni intraprese saranno errate. Ma come fanno le organizzazioni a identificare i dati “buoni” per i test del software? Cercate queste tre caratteristiche di qualità dei dati:
1. La precisione
I dati validi rispecchiano fedelmente le procedure della vita reale. Se si utilizzano dati di produzione mascherati, questi devono riguardare direttamente l’area che si sta testando, non possono essere un campione casuale del comportamento degli utenti. I dati sintetici devono assomigliare accuratamente al comportamento reale degli utenti, compresa la loro natura imprevedibile.
2. Validità
I dati validi corrispondono allo scopo del vostro scenario di test. Per esempio, la maggior parte degli acquirenti online non acquista 200 quantità di un singolo articolo, quindi un test approfondito del comportamento del sistema in questo scenario è un uso improprio delle risorse. Tuttavia, è necessario effettuare dei test per verificare le situazioni in cui le persone acquistano dieci articoli.
3. Eccezioni
I dati devono riguardare problemi che probabilmente si verificheranno, ma non di rado. Uno scenario in cui un cliente paga un articolo con un codice coupon è un esempio comune di “dati di eccezione” nell’ambito dell’e-commerce.
Quali sono le domande da porsi prima e durante la pianificazione della gestione dei test dei dati?
Il successo dei test è determinato in gran parte dalla fase di pianificazione. Durante le fasi iniziali, i team dovrebbero porsi le seguenti domande.
1. Di quali dati abbiamo bisogno?
La determinazione dei dati da raccogliere è un processo in due parti. In primo luogo, deve riguardare lo scenario di test. Deve anche avere una rilevanza commerciale per aiutare i test a rimanere efficienti ed efficaci dal punto di vista dei costi.
2. Di quanti dati abbiamo bisogno?
Una quantità eccessiva di dati, come la copia di tutti i dati di produzione, è costosa, richiede tempo e complica eccessivamente il processo. D’altra parte, se la dimensione del campione è troppo piccola, i risultati saranno imprecisi.
3. Quando abbiamo bisogno dei dati?
I test sono programmati o i dati devono essere disponibili su richiesta? I team devono coordinare tutti i programmi di test e i cicli di aggiornamento prima dell’inizio dei test.
4. Che tipo di test sono necessari?
Automazione del test del software richiede serie di dati stabili e prevedibili. Se i dati necessari per il test variano notevolmente, il test manuale potrebbe produrre risultati migliori.
Fasi della gestione dei test sui dati
Anche se le specifiche variano, gli sviluppatori di software a livello aziendale seguiranno in genere questi passi per implementare una strategia TDM.
1. Creazione dei dati – Tecniche di generazione dei dati per i test, ecc.
Per generare dati efficaci, è necessario considerarne l’accuratezza e la rilevanza. Riproduce scenari realistici? Inoltre, è necessario generare dati di eccezione, che coprono scenari al di fuori delle attività tipiche degli utenti.
2. Offuscamento dei dati
È necessario mascherare tutti i dati di produzione per mantenere la conformità alle normative. I tipi più comuni di offuscamento includono l’anagrammatura, la crittografia, la sostituzione e il nulling. Mentre l’offuscamento manuale è possibile in misura limitata, il mascheramento a livello aziendale richiede strumenti automatizzati.
3. Affettatura dei dati
Copiare tutti i dati di produzione è spesso uno spreco di risorse e di tempo. Con la suddivisione dei dati, viene raccolto un insieme gestibile di dati rilevanti, aumentando la velocità e l’efficienza dei costi dei test.
4. Approvvigionamento
Il provisioning avviene dopo che i dati sono stati ottenuti e mascherati. Durante il provisioning, i dati vengono spostati nell’ambiente di test. Gli strumenti automatizzati offrono la possibilità di inserire i set di test negli ambienti di test utilizzando l’integrazione CI/CD, con l’opzione di regolazione manuale.
5. Integrazioni
I dati di test provenienti da più fonti all’interno dell’ecosistema IT devono essere integrati nella pipeline CI/CD (la pipeline CI/CD è il processo stabilito per le modifiche al codice). Per ottenere l’integrazione è necessario identificare tempestivamente tutti i canali di dati.
6. Versione
La creazione di versioni dei dati di test aiuta i team a ripetere i test per valutare i risultati. Inoltre, le versioni consentono il monitoraggio di precise alterazioni dei parametri di analisi.
Caratteristiche e proprietà della gestione dei dati di prova
TDM si adatta alle esigenze in continua evoluzione di qualsiasi progetto di sviluppo software. Tuttavia, a prescindere dagli aggiustamenti necessari per un’organizzazione, il processo di TDM presenterà le seguenti caratteristiche:
1. Miglioramento della qualità e della fedeltà dei dati
Il TDM aumenta l’accuratezza e il realismo dei dati di test, in modo da fornire un campione veramente rappresentativo del comportamento degli utenti. Tutti i processi portano in definitiva a un unico obiettivo: un’esperienza utente affidabile e stabile.
2. Conformità normativa
Software di gestione dei dati di prova garantisce che tutti i dati di produzione siano sufficientemente mascherati prima del test, in modo da rispettare tutte le normative sulla privacy. Mantenendo la conformità, eviterete ripercussioni legali, comprese le multe, e problemi di relazioni pubbliche negative.
3. Miglioramento della qualità del prodotto
La garanzia di qualità è un processo lungo e costoso, ma anche necessario per lanciare applicazioni funzionali e di facile utilizzo. I processi TDM consentono una più rapida identificazione degli errori, una maggiore sicurezza e una maggiore versatilità dei test rispetto al metodo tradizionale a blocchi.
Come implementare la gestione dei dati di test
Il prodotto software della vostra organizzazione imporrà una serie di specifiche di test, ma l’implementazione di base dei concetti di gestione dei dati di test concetti di gestione dei dati di test prevede le seguenti cinque fasi:
Fase 1: Pianificazione
Iniziate con la formazione di un team di test dei dati, che determinerà i requisiti di gestione dei dati di test e la documentazione, sviluppando al contempo un piano di test completo.
Fase 2: analisi
Durante la fase di analisi, i requisiti dei dati dei vari team vengono consolidati. Vengono inoltre implementati i servizi di backup, archiviazione e altre questioni logistiche simili.
Fase 3: progettazione
La fase di progettazione è il punto finale della pianificazione prima dell’inizio dei test. I team devono identificare tutte le fonti di dati e finalizzare i piani per le attività di comunicazione, documentazione e test.
Fase 4: Costruire
La fase di costruzione è quella in cui la “gomma incontra la strada”. I piani vengono eseguiti. In primo luogo, si verifica il mascheramento dei dati. Successivamente, viene eseguito il backup dei dati. Infine, viene eseguito il test.
Fase 5: Manutenzione
Dopo implementazione della gestione dei dati di testL’azienda dovrà mantenere i processi per tutto il ciclo di vita del progetto. La manutenzione del TDM comprende la risoluzione dei problemi, l’aggiornamento dei dati di test esistenti e l’aggiunta di nuovi tipi di dati.
Strategie di gestione dei dati di test
Poiché il TDM tocca molti elementi diversi del processo di sviluppo, può diventare rapidamente complicato. Le seguenti strategie vi permettono di rimanere concentrati e di perfezionare continuamente la vostra organizzazione. approccio alla gestione dei dati di test.
Strategia 1: migliorare la fornitura di dati
Cercare di ridurre costantemente i tempi di consegna dei dati di test utilizzando
servizi di test del software
come
ZAPTEST
. Gli strumenti con funzionalità DevOps semplificano i test con un approccio low-touch.
Con ZAPTEST gli utenti possono selezionare dati di test sequenziali, casuali o unici utilizzando un numero automatico o specifico di righe. Possono specificare i criteri di intervallo dei dati e di “fuori valore”, consentendo di creare scenari di test realistici basati sui dati per i test funzionali (UI e API), di performance e RPA.
Inoltre, il software di testing automatizzato può sostituire i sistemi di ticketing IT con un sistema self-service per gli utenti.
Strategia 2: ridurre i costi dell’infrastruttura
Il volume dei dati di test cresce durante lo sviluppo, con conseguente aumento dell’utilizzo delle risorse dell’infrastruttura. Gli strumenti TDM possono aiutare a minimizzare i costi infrastrutturali associati attraverso il consolidamento dei dati, l’archiviazione e un processo chiamato bookmarking, che consente di utilizzare meglio lo spazio dell’ambiente di test.
Strategia 3: migliorare la qualità dei dati
Le soluzioni di gestione dei dati di prova aumentano continuamente le caratteristiche di qualità dei dati concentrandosi su tre elementi chiave: età, accuratezza e dimensione dei dati.
Come migliorare la gestione dei dati di test
Il TDM non è un processo statico. Dopo l’impostazione iniziale, si dovrà cercare di migliorare continuamente seguendo i seguenti suggerimenti migliori pratiche di gestione dei dati di test.
1. Isolare i dati
Eseguendo i test in un ambiente controllato, è possibile isolare i dati per confrontare meglio i risultati previsti con quelli effettivi. L’isolamento dei dati consente anche di eseguire test paralleli.
2. Ridurre al minimo l’archiviazione del database
La memorizzazione dei dati di test nei database riduce la velocità dei test automatici e aumenta la difficoltà di isolamento dei dati. Gli strumenti automatizzati e le tecniche come il taglio dei dati aiutano a ridurre la quantità di memoria del database necessaria.
3. Concentrarsi sui test unitari
Seguire le linee guida stabilite dalla
piramide dell’automazione dei test
che raccomanda di fare dei test unitari circa il 50% dei test. I test unitari vengono eseguiti indipendentemente dai dati esterni, costano molto meno di altri tipi di test e sono relativamente veloci da implementare.
Come misurare la gestione dei dati di test
Le seguenti metriche forniscono informazioni fondamentali sull’efficacia delle vostre strategie di TDM.
1. Sono disponibili sufficienti dati di prova?
È possibile misurare la disponibilità dei dati di test monitorando il tempo speso per gestire i dati da utilizzare nei test. Se i dati disponibili sono insufficienti, i tempi di sviluppo rallentano e gli sviluppatori si sentono limitati.
2. I dati di test sono disponibili per i test automatici?
I processi di test automatizzati richiedono dati su richiesta. Monitorare la percentuale di set di dati disponibili, la frequenza di accesso e la frequenza di aggiornamento.
3. I test automatizzati sono limitati dai dati di test?
Quanti test automatizzati si possono eseguire con i dati di test attuali? Se avete bisogno di eseguire un numero di test superiore a quello consentito dai vostri dati, dovrete raccogliere i dati dei test con maggiore frequenza.
Il modo più semplice e accurato per ottenere queste misurazioni è con software di gestione dei dati di prova.
Problemi di privacy e come prevenirli
Se la gestione dei dati di test è nata come metodo per raccogliere e analizzare i dati, nel tempo è diventata altrettanto importante per prevenire vari problemi di privacy.
1. Regolamento sui dati
TDM assicura che la vostra azienda rimanga conforme a CCPA, HIPAA, GDPR e a tutte le altre normative sulla privacy dei dati. Il mancato mascheramento corretto dei dati durante i test può comportare significative sanzioni finanziarie e persino potenzialmente penali.
2. Il contraccolpo dei consumatori
Le violazioni dei dati possono causare danni sostanziali all’immagine di un’azienda, poiché gli utenti diventeranno riluttanti a utilizzare un’applicazione soggetta a perdite. L’implementazione della gestione dei dati di test aiuta a ottenere la fiducia degli utenti, sia prevenendo le fughe di notizie sia assicurando ai potenziali utenti che i loro dati saranno mantenuti al sicuro.
Conclusione
La necessità di effettuare test nello sviluppo del software è destinata a diventare sempre più necessaria e complessa. Per snellire i processi di sviluppo, mantenendo al contempo il controllo della qualità, le organizzazioni aziendali dovranno utilizzare software di gestione dei dati di test, in particolare strumenti di gestione dei test come quelli creati da
ZAPTEST
.
I migliori strumenti di gestione dei dati di test forniscono una creazione e una gestione dei dati di test completa e reattiva, consentendo di ottenere un software superiore con maggiori funzionalità e più velocemente che mai.
Domande frequenti
Ecco le risposte rapide alle domande più comuni sulla gestione dei dati di test nel testing del software.
Che cos’è la gestione dei dati di test?
La gestione dei dati di test è la creazione, la gestione e l’analisi dei dati necessari per gli strumenti di test automatizzati del data warehouse. I processi si concentrano sull’identificazione di dati di alta qualità relativi a parametri di test specifici, sul loro mascheramento e sulla loro consegna ai team appropriati.
I migliori strumenti di gestione dei dati di test automatizzano molti processi come la raccolta, l’offuscamento e l’archiviazione dei dati.
Che cosa sono i dati di prova nel test del software?
Gran parte dei dati utilizzati nei test del software sono dati di produzione, generati da utenti reali. A causa delle norme sulla privacy, i dati di produzione devono essere mascherati prima di essere utilizzati per i test.
I dati di test del software possono anche essere sintetici, cioè prodotti artificialmente per replicare il comportamento degli utenti reali nel modo più accurato possibile. Spesso viene utilizzato per testare nuove funzionalità o aggiornamenti prima che vengano resi operativi.