QA
Qualidade
Testes
Desenvolvimento
Software
Processos

Garanzia di qualità digitale: QA per prodotti software

Garanzia di qualità digitale: QA per prodotti software

La qualità non è una fase del progetto, è una responsabilità continua. La QA (Quality Assurance) comprende processi, pratiche e cultura che garantiscono il corretto funzionamento dei prodotti. Questa guida presenta come implementare un QA efficace sui prodotti digitali.

Che cos'è il controllo qualità

Definizione

Insieme di attività che garantiscono la qualità del software.

Controllo qualità e controllo qualità

Il QA è un processo (prevenzione dei difetti). Il QC è l'ispezione (ricerca dei difetti).

Ambito

Non solo test. Processi, standard, documentazione.

Perché il controllo qualità è importante

Costo dei bug

I bug nella produzione costano 100 volte di più che nello sviluppo.

Esperienza utente

Gli errori frustrano. Gli utenti abbandonano.

Reputazione

Le app buggate ricevono recensioni negative.

Fiducia

Il tempo è più sicuro per cambiare il codice.

Tipi di test

Test unitari

Testare funzioni isolate. Veloci, tanti.

Test di integrazione

Testare i componenti insieme. API, banca.

End-to-End (E2E)

Completa il flusso come utente.

Test manuale

Gli esseri umani esplorano il prodotto.

Test del fumo

Controlla rapidamente se la build funziona.

Test di regressione

Assicurarsi che le modifiche non abbiano interrotto quelle esistenti.

Test delle prestazioni

Comportamento sotto carico.

Test di sicurezza

Vulnerabilità e conformità.

Piramide di prova

Concetto

Molti test unitari, meno integrazione, pochi E2E.

Perché

Le unità sono veloci ed economiche. Gli E2E sono lenti e fragili.

Equilibrio

Ogni tipo ha valore. Non trascurarne nessuno.

Automazione dei test

Perché automatizzare

Ripetibilità, velocità, copertura.

Cosa automatizzare

Casi ripetitivi, critici, stabili.

Strumenti

Jest, Pytest, Cypress, Drammaturgo, Appium.

Manutenzione

I test automatizzati necessitano di cure continue.

Controllo di qualità in Agile

Sposta a sinistra

Qualità dall'inizio, non alla fine.

Test continui

I test vengono eseguiti su ogni commit.

Definizione di Fatto

Include criteri di qualità.

Interfunzionale

QA integrato nel team, non separato.

Processi di controllo qualità

Pianificazione dei test

Cosa testare, come, quando.

Casi di prova

Documentazione dello scenario.

Segnalazione di bug

Descrizione chiara, riproduzione, gravità.

Triage

Priorità dei bug.

Regressione

Ripeti i test dopo le correzioni.

Ambienti di prova

###Svil

Per gli sviluppatori. Instabile.

Messa in scena

Specchio di produzione. Controllo di qualità completo.

###Produzione

Sempre stabile. Test limitati.

Data

Dati di test realistici ma sicuri.

QA mobile

Frammentazione del dispositivo

Molti dispositivi, versioni, dimensioni.

Laboratori dei dispositivi

Prova su dispositivi reali.

Test sul cloud

BrowserStack, laboratorio di test Firebase.

Specifico della piattaforma

iOS e Android hanno delle stranezze.

Test esplorativi

Di cosa si tratta

Test senza script. Investigazione.

Quando usarlo

Trova bug imprevisti.

Euristica

Le tecniche guidano l’esplorazione.

Documentazione

Cattura ciò che scopri.

Metriche del QA

Tasso di fuga dei bug

Bug che arrivano in produzione.

Copertura del test

Codice coperto dai test.

Densità dei difetti

Bug per dimensione del codice.

È ora di rimediare

Quanto tempo per sistemare.

Tasso di superamento del test

Percentuale di test superati.

CI/CD e QA

Integrazione continua

I test vengono eseguiti con ogni unione.

Cancello

Unione bloccata se i test falliscono.

Distribuzione continua

Distribuzione automatica se i test vengono superati.

Monitoraggio

Osservabilità in produzione come QA continua.

##Cultura della qualità

Responsabilità condivisa

La qualità appartiene a tutti, non solo al QA.

Revisione del codice

Codice di revisione tra pari.

Definizione di Fatto

Qualità inclusa.

Autopsia senza colpa

Impara dagli errori, non incolpare.

Documentazione

Piani di test

Strategia di test per funzionalità/rilascio.

Casi di prova

Passaggi per testare gli scenari.

Segnalazioni di bug

Descrizione completa per giocare.

Note sulla versione

Cosa è cambiato, cosa testare.

Errori comuni

QA alla fine

Lascialo fino all'ultimo minuto. Spostati a sinistra.

Solo manuale

I test manuali non sono scalabili.

Ignora feedback

Bug noti non risolti.

Ambienti diversi

Messa in scena della produzione molto diversa.

Conclusione

Il QA è un investimento che impedisce costi molto più elevati. Automatizza ciò che è ripetitivo, testa in anticipo, costruisci una cultura della qualità. I prodotti ben testati sono prodotti affidabili.

##Domande frequenti

1) Il QA è solo responsabilità del tester? No. L'intero team è responsabile della qualità.

2) Quanto automatizzare? Per quanto abbia senso. Test unitari estesi, E2E selettivo.

3) Il QA ritarda le consegne? Forse a breve termine. A lungo termine, evita rilavorazioni.

4) Ho bisogno di un QA dedicato? Dipende dalla dimensione. Piccoli team possono condividere la responsabilità.

5) Come dare priorità ai bug? Gravità x impatto. Prima i bloccanti.

Leggi anche