Test Agile - Monitoraggio delle attività
Lo stato del test può essere comunicato -
- Durante le riunioni giornaliere in piedi
- Utilizzo di strumenti di gestione dei test standard
- Tramite messaggeri
Lo stato del test determinato dallo stato di superamento del test è fondamentale per decidere se l'attività è "Completata". Fatto significa che tutti i test per l'attività sono stati superati.
Progresso del test
È possibile monitorare l'avanzamento del test utilizzando:
- Scrum Boards (Agile Task Board)
- Grafici Burndown
- Risultati dei test automatizzati
Test Progress ha anche un impatto diretto sul progresso dello sviluppo. Questo perché una User Story può essere spostata inDonestato solo dopo aver raggiunto i criteri di accettazione. Questo, a sua volta, viene deciso dallo stato del test in quanto i criteri di accettazione vengono giudicati dallo stato del test.
Se ci sono ritardi o blocchi nell'avanzamento del test, l'intero team discute e lavora in collaborazione per risolvere lo stesso.
Nei progetti Agile, i cambiamenti avvengono abbastanza spesso. Quando si verificano molti cambiamenti, possiamo aspettarci che lo stato del test, lo stato di avanzamento del test e la qualità del prodotto evolvano costantemente. I tester Agile devono fornire tali informazioni al team in modo che le decisioni appropriate possano essere prese al momento giusto per rimanere sulla buona strada per il completamento con successo di ogni iterazione.
Quando si verificano modifiche, possono influire sulle funzionalità esistenti di iterazioni precedenti. In questi casi, i test manuali e automatici devono essere aggiornati per affrontare efficacemente il rischio di regressione. Sono necessari anche test di regressione.
Qualità del prodotto
Le metriche sulla qualità del prodotto includono:
- Test superato / non superato
- Difetti rilevati / risolti
- Copertura del test
- Tassi di test superato / non superato
- Tassi di rilevamento dei difetti
- Densità dei difetti
L'automazione della raccolta e del reporting delle metriche sulla qualità del prodotto aiuta a:
- Mantenere la trasparenza.
- Raccogliere tutte le metriche pertinenti e richieste al momento giusto.
- Segnalazione immediata senza ritardi nelle comunicazioni.
- Consentire ai tester di concentrarsi sui test.
- Filtraggio dell'uso improprio delle metriche.
Per garantire la qualità complessiva del prodotto, il team Agile deve ottenere il feedback dei clienti sul fatto che il prodotto soddisfi le aspettative dei clienti. Questo deve essere eseguito alla fine di ogni iterazione e il feedback sarà un input per le iterazioni successive.
Fattori chiave del successo
Nei progetti Agile, è possibile fornire prodotti di qualità se i test Agile hanno esito positivo.
I seguenti punti devono essere considerati per il successo dei test Agile:
Il test agile si basa su approcci di test first e test continui. Pertanto, gli strumenti di test tradizionali, basati sull'approccio test-last, potrebbero non essere adatti. Quindi, mentre si scelgono gli strumenti di test nei progetti Agile, è necessario verificare l'allineamento ai test Agile.
Riduci il tempo totale di test automatizzando i test nelle prime fasi del ciclo di vita di sviluppo.
I tester agili devono mantenere il loro ritmo per allinearsi al programma di rilascio dello sviluppo. Pertanto, la corretta pianificazione, monitoraggio e ripianificazione delle attività di test deve essere eseguita al volo con la qualità del prodotto come obiettivo.
I test manuali rappresentano l'80% dei test nei progetti. Pertanto, i tester con esperienza devono far parte del team Agile.
La partecipazione di questi tester con esperienza durante tutto il ciclo di vita dello sviluppo fa sì che l'intero team si concentri sul prodotto di qualità che soddisfa le aspettative dei clienti.
Definizione di storie degli utenti che enfatizzano il comportamento del prodotto previsto dagli utenti finali.
Identificazione dei criteri di accettazione a livello di storia utente / a livello di attività secondo le aspettative del cliente.
Stima dello sforzo e della durata per le attività di test.
Pianificazione delle attività di test.
Allineamento con il team di sviluppo per garantire la produzione di codice che soddisfi i requisiti con un design di test iniziale.
Test prima e test continui per garantire che lo stato di completamento sia raggiunto soddisfacendo i criteri di accettazione al momento previsto.
Garantire test a tutti i livelli durante lo sprint.
Test di regressione alla fine di ogni sprint.
Raccolta e analisi delle metriche di prodotto utili per il successo del progetto.
Analisi dei difetti per identificare quali devono essere corretti nello Sprint corrente e quali possono essere posticipati agli Sprint successivi.
Concentrarsi su ciò che è importante dal punto di vista del cliente.
Lisa Crispin ha definito sette fattori chiave per il successo dei test agili:
Whole Team approach- In questo tipo di approccio, gli sviluppatori addestrano i tester e i tester addestrano gli altri membri del team. Questo aiuta tutti a comprendere ogni compito del progetto, quindi la collaborazione e il contributo avranno il massimo beneficio. Anche la collaborazione dei tester con i clienti è un fattore importante per impostare le loro aspettative fin dall'inizio e tradurre i criteri di accettazione in quelli richiesti per superare il test.
Agile Testing Mindset - I tester sono proattivi nel migliorare continuamente la qualità e collaborare costantemente con il resto del team.
Automate Regression Testing- Progettare per la testabilità e guidare lo sviluppo con i test. Inizia in modo semplice e consenti al team di scegliere gli strumenti. Sii pronto a fornire consigli.
Provide and Obtain Feedback- Poiché si tratta di un valore Agile fondamentale, l'intero team dovrebbe essere aperto al feedback. Poiché i tester sono fornitori di feedback esperti, è necessario concentrarsi sulle informazioni pertinenti e necessarie. In cambio, una volta ottenuto il feedback, è opportuno prevedere modifiche e test del caso di test.
Build a Foundation of Core Agile Practices - Concentrarsi sul test insieme alla codifica, integrazione continua, ambienti di test collaborativi, lavorare in modo incrementale, accettare i cambiamenti, mantenere la sinergia.
Collaborate with Customers - Esempi concreti, comprensione e controllo della mappatura dei requisiti al comportamento del prodotto, impostazione dei criteri di accettazione, ottenimento di feedback.
Look at the Big Picture - Promuovi lo sviluppo con test ed esempi rivolti al business utilizzando dati di test del mondo reale e pensando agli impatti su altre aree.