Cos'è la documentazione QA e come possiamo ridurne i costi di creazione e manutenzione?
Pubblicato: 2023-08-01Andrii Hilov, QA Team Lead presso ITRex, ha scritto un altro articolo che parla delle sfide e delle insidie della garanzia della qualità nei progetti software. Questa volta, Andrii approfondisce la documentazione del QA e il ruolo che svolge nello sviluppo di software ad alte prestazioni: nei tempi, nel budget e in linea con i tuoi obiettivi aziendali.
Ecco cosa ha da dire al riguardo.
In qualità di QA Team Lead presso una società di sviluppo software aziendale ITRex, sono perfettamente consapevole delle aspirazioni del nostro cliente di ridurre i costi di sviluppo software lanciando un prodotto perfettamente funzionante in tempo e con il massimo valore.
Sebbene questi obiettivi siano comprensibili, sconsiglio di licenziare il tuo team QA all'inizio del progetto, anche se non trova bug su base giornaliera, anche se questa potrebbe sembrare un'opzione facile per tagliare lo stipendio e accelerare i cicli di rilascio del software.
Inoltre, ti consiglio di seguire le migliori pratiche di garanzia della qualità durante tutto il progetto per convalidare che la tua soluzione e tutte le sue funzionalità funzionino come previsto e non compromettano la tua sicurezza informatica.
E una di queste pratiche è la creazione e il mantenimento di un'adeguata documentazione di QA.
Cos'è esattamente la documentazione di garanzia della qualità? In che modo può aiutarti a trarre il massimo vantaggio dall'attingere ai servizi di QA e test? E c'è un modo per ottimizzare i costi e gli sforzi associati alla preparazione della documentazione QA riducendo al minimo il rischio di sviluppare un'applicazione mal progettata e piena di bug e di dover ricostruire tutto da zero?
Scopriamolo!
Introduzione alla documentazione QA
La documentazione QA è una raccolta di documenti e artefatti creati e mantenuti da un team di garanzia della qualità durante il processo di sviluppo e test del software.
Può includere vari documenti che delineano la strategia di test, piani di test, casi di test, script di test, dati di test, registri di test, segnalazioni di bug e qualsiasi altra documentazione relativa alle attività di QA. Questi documenti facilitano la comunicazione tra i membri del team QA, forniscono linee guida per i test e aiutano a identificare e risolvere i problemi in modo efficiente.
Pertanto, la documentazione QA svolge un ruolo fondamentale nel garantire la qualità e l'affidabilità dei prodotti software, e questo è l'obiettivo principale perseguito dai nostri clienti.
Quali documenti QA vengono utilizzati nei progetti software
Ai fini di questo articolo, ti forniremo una breve panoramica dei documenti di garanzia della qualità che costituiscono la spina dorsale della documentazione di test in un progetto di sviluppo software:
- Un piano di test è un documento QA che delinea l'approccio generale, gli obiettivi, l'ambito, le risorse e il programma delle attività di test del software. In poche parole, copre:
- Il nome e la descrizione di un progetto, inclusi i tipi di app in fase di test e le relative funzionalità principali
- I metodi di test preferiti (manuali, automatizzati, misti) e i tipi di test (nuove funzionalità, integrazioni, compatibilità, regressione, ecc.)
- Le funzionalità che devono essere testate, insieme a un programma approssimativo per ciascuna attività di test
- Composizione ottimale della squadra
- Una panoramica dei rischi e dei problemi che potrebbero sorgere durante il processo di test
- Un elenco di documenti di test che il tuo team QA utilizzerà durante il progetto
Una regola empirica consiste nello scrivere un piano di test all'inizio di un progetto software quando il team IT definisce i requisiti funzionali e non funzionali per una soluzione software, sceglie uno stack tecnologico appropriato e una metodologia di gestione del progetto e crea una roadmap del progetto.
Normalmente sono necessari fino a tre giorni per elaborare e rivedere un semplice piano di test senza casi di test.
- I casi di test descrivono scenari di test specifici, inclusi i dati di input, i risultati previsti e i passaggi da eseguire. I casi di test sono progettati per verificare la funzionalità, le prestazioni o altri aspetti di un prodotto software. Tieni presente che i casi di test vengono utilizzati sia dai servizi di test manuali che dai team dei servizi di automazione QA. In questo modo, assicurerai la massima copertura del test, il che significa che nessun bug si manifesterà nel codice di produzione.
Anche se un esperto ingegnere QA potrebbe scrivere un caso di test di alto livello in soli dieci minuti, il numero di casi di test per un progetto di medie dimensioni potrebbe facilmente superare i 4.000 (e oltre). Moltiplica quel numero per la tariffa oraria media dell'ingegnere QA medio ($ 65 all'ora uomo per il mercato nordamericano) e otterrai una cifra impressionante.
- Le liste di controllo sono elenchi concisi e dettagliati di azioni o attività che devono essere completate o verificate durante il processo di test. Pertanto, un elenco di controllo nella documentazione del QA di solito include un elenco completo di moduli funzionali, sezioni, pagine e altri elementi di un'app o di un sistema cyber-fisico che richiedono l'attenzione di un team di QA.
Nei progetti più piccoli, le liste di controllo possono sostituire con successo casi di test dettagliati (ne parleremo più avanti).
- Gli script di test sono blocchi di codice scritti utilizzando strumenti o framework di test specifici, come Selenium, Appium e Cucumber. Questi script automatizzano l'esecuzione dei casi di test, rendendo il processo di test più efficiente, in particolare in progetti software grandi e complessi come i sistemi SaaS multi-tenant e le popolari app B2C, che vengono aggiornate frequentemente e dove anche i bug più piccoli possono avere un impatto negativo sull'esperienza dell'utente .
- I dati di test sono i dati utilizzati dai tecnici QA per valutare le prestazioni, la funzionalità, l'affidabilità e la sicurezza di una soluzione software in varie condizioni. Può includere valori di input di esempio, condizioni al contorno e vari scenari. Ad esempio, il tuo team QA può utilizzare dati di test positivi e negativi per convalidare che solo le credenziali di accesso corrette possono essere utilizzate per accedere a un sistema software. Allo stesso modo, i dati di test possono essere utilizzati per implementare limiti di età in determinati tipi di app o per indagare su come un'applicazione gestisce l'aumento dei carichi di lavoro.
- I registri dei test documentano il processo di esecuzione del test, inclusa la data e l'ora delle prestazioni del test, il riepilogo dei casi di test eseguiti, i risultati ottenuti dal team QA, gli screenshot e qualsiasi problema o osservazione rilevati durante il test. Un registro di test è una fonte vitale di informazioni per tenere traccia dell'avanzamento del test, identificare modelli o tendenze nei risultati del test e fornire una registrazione cronologica delle attività di test. Aiuta a identificare e risolvere i problemi in modo efficiente e funge da riferimento per attività di test o audit futuri.
- Le segnalazioni di difetti o bug sono documenti di test che descrivono in dettaglio i difetti e i problemi rilevati durante le attività di QA. In particolare, descrivono i bug rilevati, la loro gravità e priorità e le condizioni in cui si verificano i difetti. Un responsabile QA utilizza le segnalazioni di bug per assegnare compiti agli specialisti di test del software e tenere traccia del loro stato.
- Una matrice di tracciabilità mappa la relazione tra casi di test e requisiti o altri artefatti. Aiuta a garantire che tutti i requisiti siano adeguatamente coperti dai casi di test, consente di tenere traccia della copertura dei test in tutto il progetto ed elimina le attività di test ridondanti.
- Un rapporto di completamento del test riepiloga le attività di test eseguite in un progetto, incluso lo stato di esecuzione del test, il numero di casi di test eseguiti, i difetti rilevati e qualsiasi attività in sospeso.
Perché la documentazione QA è importante?
Avere la documentazione sulla garanzia della qualità aiuta a raggiungere i risultati esatti che il cliente e il team di ingegneri del software si aspettano.
Ciò si ottiene grazie a una combinazione di fattori, tra cui:
- La documentazione QA fornisce istruzioni e linee guida chiare che gli specialisti del test del software possono seguire per eseguire le attività in modo coerente, riducendo le variazioni e migliorando la qualità complessiva di prodotti o servizi.
- La documentazione di garanzia della qualità riduce la probabilità di rilevare difetti ed errori critici nelle soluzioni software in una fase avanzata del processo di sviluppo, svolgendo quindi un ruolo fondamentale nel controllo del budget. Gli esperti di QA suggeriscono che il costo della correzione dei bug aumenta in modo esponenziale in ogni fase del progetto, da 3 volte per la fase di progettazione/architettura a 30 volte e oltre per la fase di implementazione.
- La documentazione di garanzia della qualità aiuta a garantire la conformità ai requisiti normativi e agli standard che la tua organizzazione deve soddisfare semplificando gli audit e fornendo prove di processi, procedure e controlli di qualità consolidati.
- Documentando procedure, controlli e processi di valutazione del rischio, la documentazione di test del software aiuta le organizzazioni a identificare i potenziali rischi e ad adottare misure preventive per ridurre al minimo il loro impatto sulla loro attività e sulla soddisfazione dei clienti.
- I nuovi assunti possono fare riferimento alla documentazione QA per comprendere i processi e le procedure di qualità in un progetto software, riducendo la curva di apprendimento e garantendo una formazione coerente in tutta l'organizzazione.
- Documentando le non conformità, le azioni correttive e le lezioni apprese, le aziende possono identificare le aree di miglioramento e implementare modifiche per migliorare l'efficienza e la qualità.
- Avere processi e procedure QA ben documentati può aumentare la fiducia dei clienti nei prodotti o servizi della tua azienda. L'ampia documentazione sui test del software dimostra un impegno per la qualità e assicura che l'organizzazione disponga di sistemi solidi per fornire risultati coerenti e affidabili.
- In situazioni in cui sorgono controversie legali o richiami di prodotti, la documentazione QA può servire come prova importante. Può dimostrare che la tua organizzazione ha seguito processi di qualità stabiliti, preso le precauzioni necessarie e adempiuto ai propri obblighi.
Quanto tempo ci vuole per creare la documentazione QA?
Una risposta onesta a questa domanda sarà: "Dipende".
Nello specifico, i tempi ei costi associati dipendono da diversi fattori, come le dimensioni della tua organizzazione e la complessità dei suoi processi, il settore in cui ti trovi e il tipo di software che stai realizzando.
Se hai già intrapreso progetti di sviluppo software e disponi di un team di controllo qualità interno, potresti essere in grado di riutilizzare la documentazione di controllo qualità esistente per nuovi progetti. Anche l'utilizzo di modelli e strumenti specializzati per la creazione e la manutenzione della documentazione di test del software, come la gestione dei progetti e il software wiki, è utile.
Hai sempre bisogno della documentazione QA ed è possibile ridurne i costi di creazione e manutenzione?
Per quanto utile, la documentazione di garanzia della qualità può aumentare i costi del progetto software a causa dello sforzo aggiuntivo e del personale richiesto per la sua creazione e manutenzione.
Questo potrebbe essere un problema per le startup che operano con pochi soldi o per le imprese sottoposte a trasformazione digitale in tempi di recessione.
Ogni tipo di progetto software necessita quindi di una documentazione QA estremamente dettagliata ed è possibile ridurre i costi ad essa associati?
Per determinare l'approccio migliore alla creazione di documenti di QA, considerare i seguenti fattori:
- Dimensioni e budget del progetto . Nel caso di progetti a budget limitato e a breve termine (a meno che non si parli di progetti altamente innovativi e tecnici eseguiti da grandi team IT), non è necessario complicare eccessivamente il processo di documentazione, quindi la tua squadra QA può optare per liste di controllo anziché dettagliate casi test. Per quanto riguarda il documento del piano di test, che determina la strategia complessiva di test, possiamo anche rinunciare a scriverlo nei casi in cui non ci sia budget per esso o se il progetto è a breve termine e non coinvolge tecnologie all'avanguardia.
- Dimensione ed esperienza del team QA . Maggiore è il numero di ingegneri del controllo qualità sul progetto e minore è l'esperienza che hanno nell'assicurazione della qualità, più difficile è controllare il processo di test. Pertanto, è necessaria un'ampia documentazione sulla garanzia della qualità per mantenere i membri del team sulla stessa pagina. In tali casi, è consigliabile orientarsi verso casi di test piuttosto che liste di controllo per distribuire più efficacemente i compiti tra gli ingegneri in base alla loro esperienza e conoscenza e coinvolgere nella creazione di casi di test specialisti QA più esperti, che normalmente hanno tariffe orarie più elevate.
- Approccio Agile vs. Waterfall alla gestione dei progetti . Mentre il team ITRex ha riassunto le principali differenze tra le metodologie Agile e Waterfall in questo post del blog, vale la pena menzionare ciò che distingue i due approcci in termini di garanzia della qualità. In Waterfall, i test del software vengono salvati per ultimi, il che significa che il tuo team QA condurrà i test solo quando la parte di codifica è completa al 100%. Per ovvi motivi, non possono farlo senza un'adeguata documentazione di garanzia della qualità, che dovrebbe essere preparata durante la fase di elicitazione dei requisiti. In Agile, dove i team IT tendono a creare iterativamente parti di software più piccole e testare il codice alla fine di ogni ciclo, non è preferibile una documentazione di QA completa e creativa in anticipo. Tuttavia, ti consiglio di scrivere un piano di test per allineare meglio la situazione attuale con le aspettative del cliente e degli ingegneri del software.
Nel complesso, disporre di una documentazione QA potrebbe portare vantaggi a qualsiasi progetto di sviluppo software, indipendentemente dalla complessità e dalle dimensioni.
In qualità di azienda orientata al cliente, tuttavia, siamo sempre pronti a suggerire soluzioni alternative tenendo conto dei tuoi obiettivi e del tuo budget.
Se non sei sicuro di dover preparare un'ampia documentazione di garanzia della qualità per il tuo progetto e stai cercando ingegneri QA qualificati a cui affidare l'incarico, contatta ITRex! Faremo in modo di lanciare una soluzione software ad alte prestazioni e priva di bug in tempo, nel budget e all'altezza delle specifiche!
Originariamente pubblicato su https://itrexgroup.com il 30 giugno 2023.