Gestione dei test nei progetti
Controllare i risultati del progetto in modo strutturato
La gestione dei test gioca un ruolo cruciale nei progetti di sviluppo. Garantisce la qualità del prodotto finale e aiuta a migliorare il risultato. Anche se la gestione dei test è quindi essenziale per il successo del progetto, nella pratica spesso svolge un ruolo subordinato. Spieghiamo perché una buona gestione dei test è indispensabile e a quali aspetti dovresti prestare attenzione.
Cos’è la gestione dei test?
La gestione dei test prevede la pianificazione, l’esecuzione, il monitoraggio e la documentazione dei test per garantire che il prodotto finale sia privo di errori, facile da usare e soddisfi i requisiti imposti al prodotto.
Gli obiettivi della gestione dei test includono quindi:
- Il rilevamento tempestivo di errori o carenze nel prodotto finale in modo che possano essere corretti.
- Identificazione del potenziale di miglioramento per quanto riguarda la facilità d’uso del prodotto.
- Verifica che tutti i requisiti posti sul prodotto siano stati soddisfatti.
- Riduzione dei rischi che potrebbero derivare da un prodotto difettoso.
- Approvazione del prodotto finito.
Il processo di gestione del test
1. Pianificazione
Innanzitutto viene creato un piano di test che definisce l’ambito, la durata, le date e le risorse dei test. Questo piano di test contiene anche la strategia di test selezionata. La strategia appropriata dipende dai requisiti particolari del progetto e del prodotto da testare. Alcuni esempi sono:
- Bottom-up: qui i vari componenti del prodotto da sviluppare vengono testati prima di essere combinati in unità più grandi. Anche le unità più grandi vengono poi testate prima di essere assemblate nel prodotto complessivo, anch’esso testato. Questo approccio è molto adatto per prodotti complessi.
- Top-down: a differenza della strategia precedente, qui viene prima testato l’intero prodotto, poi suddiviso in unità sempre più piccole che vengono poi testate singolarmente. Ciò rende questa strategia adatta per prodotti meno complessi.
- Ibrido: questa strategia combina elementi di diverse strategie di test, ad esempio bottom-up e top-down. In questo modo questa strategia può essere utilizzata in modo particolarmente flessibile ed è adatta per prodotti di media complessità.
- Scatola nera: in questa strategia, il prodotto è visto come una scatola nera, di cui i tester non hanno alcuna conoscenza del funzionamento interno. Testano quindi il prodotto esclusivamente sulla base delle funzioni visibili dall’esterno.
- White-Box: contrariamente alla strategia della scatola nera, i tester conoscono il funzionamento interno del prodotto. Ciò significa che testano dettagliatamente i singoli componenti e le singole funzioni.
2. Specificazione e preparazione
Il passo successivo è specificare i requisiti per i test e preparare l’ambiente di test nonché i dati di test:
- Specificare gli obiettivi: cosa si vuole ottenere con i test? Ad esempio, è necessario individuare i bug o verificare l’usabilità? Quali sono i criteri di accettazione?
- Determinare i requisiti del prodotto: quali specifiche deve soddisfare il prodotto finale? Quali sono ad esempio i requisiti in termini di funzionalità, sicurezza o usabilità?
- Creare casi di test: in base agli obiettivi e ai requisiti, ora è possibile creare casi di test specifici che definiscono quali test dovrebbero essere eseguiti e come dovrebbero essere eseguiti.
- Determinare l’ambiente di test: in quale ambiente dovrebbero svolgersi i test? I grandi progetti hanno talvolta i propri laboratori di test, ma spesso i tester lavorano anche nelle proprie postazioni di lavoro o in sale riunioni dove hanno tutto il necessario per i test. Nel caso di un prodotto software, ad esempio, in questo punto specificate quale sistema operativo o browser dovrà essere utilizzato.
- Durata del test: quanto tempo dovrebbero durare i test?
Per garantire che tutti gli aspetti rilevanti siano presi in considerazione nei test, i requisiti per i test dovrebbero essere definiti nel modo più dettagliato e specifico possibile. Allo stesso tempo, però, bisogna considerare anche il tempo a disposizione e le risorse necessarie per mantenere l’ambito e la durata dei test entro un quadro realistico.
3. Esecuzione e documentazione
Adesso si fanno i test veri e propri. I casi di test vengono eseguiti secondo il piano di test. In questo caso è importante una documentazione dettagliata in modo che i test possano essere riprodotti e che eventuali errori possano essere rintracciati più facilmente. Anche i risultati dei test dovrebbero essere registrati in modo da poter trarre conclusioni sulla qualità del prodotto.
4. Valutazione
Il passo successivo è valutare i risultati dei test in modo che errori e difetti possano essere analizzati e corretti. Una volta corretti, i test possono essere ripetuti.
5. Completamento
In questa fase le attività di test vengono completate e il risultato del test viene presentato al team di progetto. La documentazione del test viene conservata e utilizzata come riferimento per progetti futuri e per le lezioni apprese.
Come si determina il giusto periodo di prova per i progetti?
Il periodo di test ottimale per un progetto dovrebbe essere pianificato attentamente. Questo perché un periodo di prova troppo breve potrebbe portare a un prodotto finale difettoso, ma un periodo di prova molto lungo non garantisce la perfetta integrità al 100% ed è allo stesso tempo antieconomico. Dovresti considerare i seguenti fattori quando determini il periodo di prova:
- Dimensioni del progetto: i progetti di grandi dimensioni richiedono solitamente un periodo di prova più lungo, mentre i progetti più piccoli possono avere periodi di prova più brevi.
- Entità dei test: se i test richiesti sono molto estesi, ad esempio perché devono essere testate molte funzioni diverse in un software appena sviluppato, è necessario anche un periodo di prova più lungo.
- Complessità: lo stesso vale per la complessità. Se è necessario testare funzioni molto complesse, il periodo di prova dovrebbe essere più lungo rispetto a quello per funzioni meno complesse.
- Risorse disponibili: anche il periodo di prova dovrebbe essere adattato alle risorse disponibili. Se, ad esempio, fossero disponibili solo pochi dipendenti, il periodo di prova dovrebbe essere più lungo in modo da poter eseguire tutti i test necessari. Al contrario, se è disponibile più personale, il periodo può essere abbreviato. Lo stesso vale per altre risorse come le attrezzature tecniche necessarie per i test.
- Disponibilità di dati di test: se sono necessari dati di test speciali, ad esempio a causa di test a lungo termine di un prodotto, o se dati di test speciali sono disponibili solo in momenti speciali perché dipendono da altri fattori, come il completamento di altre funzioni, dovrebbe essere previsto tempo sufficiente anche per la sua creazione o l’appalto.
Il nostro consiglio: valuta attentamente i diversi fattori per determinare il periodo di tempo ottimale per il tuo progetto. Approfitta dell’esperienza acquisita da progetti precedenti. In questo modo puoi assicurarti di avere abbastanza tempo per testare a fondo tutte le funzioni e scoprire eventuali errori. Allo stesso tempo, il periodo di prova rimane realistico e non ritarda il progetto perché è stato scelto troppo lungo.
Chi è responsabile dei test?
Di solito ci sono diversi ruoli nella gestione dei test:
- Responsabile del test: il responsabile del test coordina tutte le attività nell’ambito del test. Crea il piano di test, organizza le risorse e monitora l’avanzamento.
- Progettista di test: i progettisti di test sono responsabili della creazione di casi di test e della documentazione di test. Analizzano i requisiti e progettano scenari di test.
- Tester: i tester eseguono i test e documentano i risultati. I test stessi vengono solitamente eseguiti da tester specializzati che hanno familiarità con i rispettivi metodi o procedure di test o hanno una conoscenza approfondita dell’area da testare. Ciò garantisce che tutti gli aspetti rilevanti siano presi in considerazione e che i test siano significativi.
In più, però, può essere utile far partecipare anche altre persone. Questi possono essere sviluppatori o esperti di reparto, ad esempio, ma anche coloro che utilizzeranno il prodotto dopo il suo completamento.
Il nostro consiglio: I tester dovrebbero essere sempre indipendenti. Ciò significa che il creatore di un prodotto non dovrebbe essere responsabile dei suoi test. Sebbene il creatore testerà regolarmente il prodotto durante lo sviluppo, i test indipendenti impediscono che gli errori vengano trascurati a causa della “cecità operativa”. - Controllore del test: un controllore del test monitora l’avanzamento dei test e garantisce che tutti i test vengano eseguiti secondo i piani. È inoltre responsabile di garantire che tutti i documenti siano completi e aggiornati.
- Reporter dei test: in alcune aziende ci sono anche reporter dei test che preparano i rapporti dei test e presentano i risultati e raccomandano miglioramenti.
I ruoli necessari per la gestione dei test nella tua azienda dipendono dalle dimensioni dell’azienda e del progetto, ma anche dalle risorse e dalle competenze disponibili. Poiché i tester dovrebbero essere indipendenti, potrebbe essere sufficiente avere un test manager oltre al tester, che assuma anche il ruolo di progettista e controllore del test.
Differenze tra progetti classici, ibridi e agili
A seconda dell’approccio di gestione del progetto seguito, anche la gestione dei test differisce.
- I progetti classici sono strutturati in singole fasi di progetto che vengono elaborate in un ordine fisso. Pertanto, già durante la pianificazione del progetto viene definita una fase di test, nonché un piano di test completo che specifica tutti i test da eseguire.
- I progetti ibridi sono definiti in modo meno rigido rispetto ai progetti classici perché combinano metodi classici e agili. A seconda della combinazione scelta, questi progetti consentono quindi anche una maggiore flessibilità nella gestione dei test.
- I progetti agili utilizzano un approccio iterativo in cui i requisiti vengono implementati in piccoli sprint. I test sono una parte importante di questi sprint, poiché il focus negli approcci agili è sulla revisione continua e sul miglioramento del prodotto. Pertanto, qui vengono spesso utilizzati brevi cicli di test, che consentono un rapido feedback e una tempestiva correzione dei bug.
Difficoltà nella gestione dei test
La gestione del test può essere associata a varie difficoltà. Alcuni esempi sono:
- Mancanza di tempo: spesso c’è poco tempo per i test, il che può portare a non eseguire i test in modo approfondito o addirittura a ometterli del tutto. Soprattutto quando un progetto rischia di ritardare, la tentazione di quest’ultimo è grande. In questi casi, però, tenete presente che, nel peggiore dei casi, verrà consegnato un prodotto difettoso, il che probabilmente porterà non solo a spiacevoli rilavorazioni, ma potrebbe anche danneggiare la vostra reputazione e le relazioni con i clienti.
- Mancanza di risorse: analogamente alla mancanza di tempo, la mancanza di risorse può portare alla mancata esecuzione dei test o alla loro esecuzione non approfondita. Trovare buoni tester è difficile in tempi di carenza di competenze e personale. Tenetelo presente durante la fase di pianificazione in modo che i test possano essere eseguiti in modo appropriato anche quando il personale è scarso.
- Mancanza di documentazione: senza una documentazione sufficiente, può essere difficile riprodurre i test o tenere traccia degli errori. Allo stesso tempo, ciò rende più difficile trarre lezioni apprese per progetti futuri dal progetto attuale.
- Modifiche durante il progetto: nel corso di un progetto i requisiti del prodotto possono cambiare. Potrebbero essere aggiunte nuove funzioni, le loro caratteristiche potrebbero cambiare o le funzioni pianificate potrebbero essere eliminate. In questi casi, la gestione del test pianificata non corrisponde più alle specifiche attuali e deve essere adattata. I test devono essere modificati, i casi di test devono essere creati di nuovo e forse anche il periodo di test deve essere esteso o si devono trovare risorse aggiuntive. Solo in questo modo puoi garantire che i test siano pertinenti e sufficienti.
- Difficoltà nella fusione di singoli componenti: se diversi componenti, come ad esempio le funzioni di un software, sono stati sviluppati da diversi sviluppatori o team, può essere difficile integrarli e testarli insieme. In questo caso, assicurati che ci sia una comunicazione chiara e una buona cooperazione tra i diversi sviluppatori per evitare difficoltà.
Conclusione
Una buona gestione dei test vi supporta nella garanzia della qualità e nel miglioramento dei risultati del progetto. Pertanto, non dovreste assolutamente rinunciare a test sufficienti.
Un moderno software di gestione dei progetti può aiutarti a integrare la gestione dei test nei tuoi progetti. Ad esempio, il software ti aiuta a pianificare una fase di test nei progetti classici o a mantenere la fase di test nei rispettivi sprint nei progetti agili. La documentazione dei test può anche essere memorizzata all’interno del software e da essa è possibile ricavare immediatamente le misure. In questo modo è possibile controllare l’implementazione dei miglioramenti nello stesso sistema.
Per saperne di più sul software di gestione dei progetti e del portafoglio myPARM:
Volete conoscere myPARM in una demo? Allora fissate subito un appuntamento con noi!