Cosa fa un team di controllo qualità nello sviluppo software se non trova bug ogni giorno?

Pubblicato: 2023-01-27

Gli ingegneri della garanzia della qualità (QA) spesso sentono questo:

"Ieri il tuo team ha rilevato venti bug, ma oggi non ne hai nessuno!"

Questa posizione, per quanto valida possa sembrare, contraddice lo scopo e gli obiettivi stessi dell'assicurazione della qualità nello sviluppo del software.

Cosa fa esattamente un QA nello sviluppo del software?

In questo articolo, Andrey Gilyov, vice capo dell'unità QA di ITRex, spiega perché il tuo team QA non è inattivo anche se trova meno bug. Inoltre, imparerai perché dovresti sempre assumere ingegneri del controllo qualità per aumentare il tuo team IT interno o esternalizzato invece di far testare il codice da ingegneri del software.

Comprendere gli obiettivi del QA e perché non si limitano alla traccia dei bug

A seconda del tipo e della complessità di una soluzione software che stai cercando di creare, potresti aver bisogno di uno specialista QA part-time o di un team QA dedicato assegnato al tuo progetto. E le loro responsabilità vanno ben oltre l'individuazione dei bug e la loro segnalazione al project manager e al team di sviluppo.

In particolare, gli obiettivi di garanzia della qualità comprendono:

  • Prevenzione degli errori. Sondaggi recenti indicano che gli ingegneri del software dedicano circa il 20% del loro tempo a correggere i bug. Moltiplica quel tempo per la tariffa oraria media dell'ingegnere del software e ti renderai conto di quanto codice difettoso potrebbe costare alla tua azienda. Anche il prezzo della correzione degli errori aumenta in modo esponenziale con il passare del tempo nel flusso di lavoro di sviluppo del software, per non parlare delle implicazioni a lungo termine del rilascio in produzione di software pieno di bug, come vulnerabilità della sicurezza, diminuzione dell'esperienza del cliente e perdite di reputazione. Pertanto, lo scopo principale della garanzia della qualità nello sviluppo del software ruota attorno alla ricerca di bug prima che causino danni significativi. Per realizzare questa impresa, un team di QA si prepara per i test molto prima di mettere le mani su una soluzione software. Queste attività di preparazione includono la revisione della documentazione di test, la scrittura di un piano di test e test case, la scelta di strumenti di test appropriati e la configurazione dell'ambiente di test.
  • Monitoraggio e valutazione dello stato del software. Per prendere decisioni informate sui progetti software, il project manager e il cliente hanno bisogno di informazioni aggiornate sul prodotto software su cui stanno lavorando. Gli obiettivi di garanzia della qualità, tra le altre cose, includono la fornitura di queste informazioni in un dato periodo lungo la sequenza temporale del progetto software. Vale la pena ricordare, tuttavia, che i tecnici del controllo qualità non scelgono il momento migliore per l'attivazione di una soluzione software. Invece, è il cliente che prende la decisione finale. Dopo aver consultato il team QA, un cliente può persino decidere di implementare una soluzione software contenente bug ed errori documentati! Ad esempio, puoi prendere una decisione del genere quando il periodo di tempo per il rilascio del tuo prodotto è relativamente breve e il compromesso tra la ricompensa, ovvero superare la concorrenza o abilitare una funzionalità critica, è maggiore del rischio di lanciarlo con bug minori. In ogni caso, devi rilevare, documentare e dare priorità a questi bug, e questo è anche uno degli obiettivi del tuo team QA.
  • Convalida dei requisiti. Il ruolo principale del QA nello sviluppo del software è confermare che la soluzione software funzioni come previsto e soddisfi tutti i criteri definiti dal documento di specifica dei requisiti software (SRS). Quando gli specialisti della garanzia della qualità eseguono test manuali o automatizzati e identificano i bug, creano un ticket in un sistema software di tracciamento dei bug come Jira o ClickUp per il team di sviluppo. Una volta che il team di sviluppo corregge gli errori, il ciclo di test si ripete. Pertanto, trovare bug non è lo scopo della garanzia della qualità; piuttosto, è un prodotto collaterale delle attività di QA.

I team di QA a volte non riescono a trovare alcun bug. E va bene

Ora che hai compreso gli obiettivi e gli obiettivi del QA, torniamo alla domanda che abbiamo sollevato all'inizio di questo articolo.

Cosa fa un team di QA nello sviluppo del software se le loro segnalazioni di bug contengono zero difetti per giorni e giorni?

Ci sono diversi motivi per cui gli specialisti QA potrebbero non trovare alcun bug nel tuo software:

  1. Il software è stato accuratamente testato. Se la soluzione software è stata sottoposta a test approfonditi, è meno probabile che siano presenti bug quando il ciclo di QA si ripete o il prodotto entra in produzione.
  2. Il software ha un design semplice. Le applicazioni con un set di funzionalità limitato, integrazioni e interfacce utente semplici hanno meno probabilità di contenere bug rispetto al software con requisiti di prestazioni e architettura più complessi.
  3. Il software è costruito utilizzando le migliori pratiche. I team di ingegneri del software che scrivono codice pulito e ben documentato, seguono gli standard di codifica e utilizzano il controllo della versione spesso forniscono prodotti software con pochi errori. Questi bug vengono rilevati e corretti all'inizio del processo di test e nessun ulteriore difetto si manifesterà nelle fasi successive.
  4. Il processo di test avrebbe potuto essere più completo. La mancanza di tempo, risorse o competenze potrebbe impedire agli specialisti del QA di testare a fondo la tua soluzione software. Di conseguenza, alcuni errori potrebbero essere trascurati.
  5. I bug non sono riproducibili. A volte, gli specialisti del QA potrebbero non trovare alcun bug perché gli errori non si verificano in modo coerente. Vari fattori, tra cui la complessità del software, l'uso di librerie di terze parti o la presenza di dipendenze esterne, possono portare a tali situazioni.

Indipendentemente dalla causa, non dovresti sottovalutare l'importanza del QA nello sviluppo del software, figuriamoci giocare con l'idea di consentire agli sviluppatori di testare il codice per te.

Non fraintendetemi: va bene per gli sviluppatori scrivere ed eseguire test automatizzati in team Agile interfunzionali. O anche testare il software manualmente.

Tuttavia, in tali team, in cui i ruoli del progetto sono spesso condivisi, l'obiettivo principale è rilasciare software o funzionalità funzionanti più rapidamente, riducendo il time-to-value e raccogliendo feedback in anticipo. Qui potremmo avere a che fare con il problema del rapporto rischio/rendimento descritto nella sezione precedente. E il tuo progetto potrebbe quindi accumulare debiti tecnici, portando a problemi di prestazioni e significativi costi di debug in futuro.

Altri motivi per l'assunzione di specialisti QA dedicati sono i seguenti:

  • Sapere come programmare non equivale a sapere come rivedere il codice per potenziali errori
  • Gli sviluppatori raramente apprezzano i test, mentre gli esperti di QA lo fanno
  • Le tariffe orarie degli ingegneri del software sono generalmente superiori a quelle degli specialisti della garanzia della qualità
  • Gli sviluppatori e gli ingegneri QA normalmente hanno competenze trasversali diverse. Per i QA, l'attenzione ai dettagli, la capacità di analizzare sistemi complessi e il multi-tasking sono al centro dell'attenzione. D'altra parte, gli ingegneri del software lavorano spesso in ambienti collaborativi e si concentrano su una singola attività alla volta.

Quindi, anche se il tuo team QA non ha trovato bug oggi, non essere tentato di licenziare gli specialisti del controllo qualità o affidare le attività di test al team di sviluppo principale. Anche se questo approccio potrebbe ridurre la tua busta paga a breve termine, il costo della perdita di clienti a causa di scarse prestazioni del software o attacchi informatici correlati a bug può essere molto più elevato.

E se hai bisogno di aiuto per verificare che il tuo software funzioni bene, soddisfi tutti i requisiti specificati nel tuo SRS o visione tecnica e ti aiuti a raggiungere i tuoi obiettivi di business, contatta gli esperti QA di ITRex!


Originariamente pubblicato su https://itrexgroup.com il 20 gennaio 2023.