Framework di automazione dei test agile
⚡ Riepilogo intelligente
L'automazione dei test Agile applica controlli automatizzati all'interno di sprint brevi, dove i requisiti cambiano settimanalmente e una suite progettata per un rilascio stabile a cascata diventa rapidamente un onere di manutenzione anziché una rete di sicurezza.
Test di automazione agile
Test di automazione Agile È la pratica di utilizzare l'automazione dei test all'interno di un processo di sviluppo Agile. Il suo scopo è rendere lo sviluppo del software più efficace ed efficiente, proteggendo al contempo la qualità e controllando i tempi e le risorse consumate da una release. Poiché i test vengono scritti contemporaneamente allo sviluppo delle funzionalità, questa pratica dipende fortemente dal coordinamento tra sviluppatori e tester.
Da quando la metodologia Agile si è prefissata l'obiettivo di eliminare le laboriose realtà del modello a cascata, la sua influenza si è fatta sentire in test di automazione Anche le due discipline devono essere combinate intenzionalmente:
Automazione nel modello Waterfall vs. Automazione nel modello Agile
Nel ciclo di vita tradizionale dei test del software, i test di automazione diventano fattibili una volta che l'applicazione è stabile e i requisiti sono stabiliti. Presuppone un una quantità considerevole di tempo, specialisti dell'automazione altamente qualificati e un costo di installazione non trascurabile. L'obiettivo principale è ridurre i costi a lungo termine e verificare che non siano stati introdotti nuovi difetti nei casi di test esistenti.
I test di automazione non sono per loro natura esplorativi., perché il suo ruolo principale è quello di far risparmiare tempo e ridurre i costi. Non è progettato per individuare difetti nuovi e innovativi. I test automatizzati, nella maggior parte dei casi, confermano comportamenti già esistenti.
I due scenari, pertanto, impongono esigenze molto diverse a una suite di test:
| Fattore | Automazione a cascata | Automazione in Agile |
|---|---|---|
| Stato dell'applicazione | Stabile e approvato prima dell'inizio della scrittura dello script. | Cambiando a ogni sprint, spesso durante la fase di scripting |
| Tempo disponibile | Una fase di automazione dedicata | Tutto ciò che rientra in uno sprint di una o quattro settimane |
| Chi scrive | Un team separato di specialisti dell'automazione | Il team di consegna, i tester e gli sviluppatori insieme |
| Obbiettivo primario | Riduzione dei costi a lungo termine in un'ampia suite di regressioni | Feedback rapido sull'incremento appena costruito |
| Rischio di manutenzione | Basso, perché i requisiti cambiano lentamente | Elevato, perché i requisiti cambiano costantemente |
Come automatizzare nella metodologia Agile
Per definizione, la metodologia Agile elimina la documentazione tediosa, consentendo di implementare rapidamente nuove idee e di interagire liberamente tra le persone. Privilegia il lavoro esplorativo rispetto alla burocrazia:
Esiste una vera e propria contraddizione tra i principi fondamentali della metodologia Agile e i test automatizzati. I team Agile la risolvono restringendo l'ambito dell'automazione anziché automatizzare meno: i controlli vengono scritti nello stesso sprint della funzionalità, distribuiti a livello di unità e API dove sono più economici da gestire e vengono eseguiti a ogni build.
Punti fondamentali per l'automazione agile dei test
Prima di destinare risorse di sprint all'automazione, valuta i fattori che determinano se uno script può essere effettivamente completato:
- Tempo di progettazione e programmazione: Ogni script deve essere progettato, codificato e revisionato come il codice di produzione.
- Validazione rispetto ai dati di test: Lo script finale deve essere convalidato con i dati di test esistenti prima che qualcuno possa considerarlo affidabile.
- Scopo del test: I test funzionali e di regressione comportano costi di manutenzione e durate di validità differenti.
- Sprint lunghezza: Uno sprint dura da una a quattro settimane, più comunemente due, il che raramente lascia spazio per un grande sforzo di sceneggiatura.
Un secondo fattore è il cambiamento dei requisiti. Agile è, per definizione, una tecnica per rispondere ai cambiamenti dettati dal cliente, quindi si presta a frequenti aggiustamenti durante lo sviluppo.
Al contrario, i test di automazione sono più utili se eseguiti su requisiti stabili. Non si prestano bene al continuo cambiamento di una metodologia Agile, motivo per cui la scelta di cosa automatizzare ha più peso della quantità di processi automatizzati.
Strumenti di automazione agile
La selezione di un pertinente strumento di automazione Un altro fattore importante nell'adozione dei test automatizzati all'interno di una metodologia Agile è la gestione dei rischi. Gli strumenti di automazione con licenza, ad esempio, impongono rigidi criteri di accesso alla sicurezza per diverse tipologie e livelli di utente, limitando chi può accedere alle risorse appartenenti a quel framework di automazione dei test.
La metodologia Agile, al contrario, enfatizza la collaborazione aperta e l'interazione libera tra i membri del team. Le politiche di accesso restrittive ostacolano tale coesione e possono produrre risultati che non sono né utili né favorevoli al successo del progetto.
La priorità è fornire script di automazione di qualità entro i tempi consentiti da un processo Agile. Selezionare attentamente i casi di test candidati, in modo che gli script risultanti possano essere riutilizzati in seguito e completati comunque entro i tempi previsti.
Anche in un contesto Agile, alcuni test devono comunque essere eseguiti, in particolare i test di regressione. La sezione successiva esamina le situazioni in cui i test automatizzati sono appropriati e come ciascuna di esse si integra con i test Agile.
Test di automazione Concepts Quando applicato ad Agile
La tabella seguente prende in esame le sette condizioni classiche che giustificano l'automazione di un test e fornisce la risposta Agile per ciascuna. Solo tre si traducono agevolmente in uno sprint Agile, e tutte e tre hanno una forma regressiva:
| # | Concetto di test automatizzato | Risposta sulla metodologia Agile |
|---|---|---|
| 1 | Il test deve essere ripetuto spesso. | È qui che entra in gioco il concetto di test di regressione. |
| 2 | Il flusso di lavoro del test e la sua validazione si evolvono e cambiano lentamente nel tempo. | Non è utile per i test Agile, poiché i test Agile implicano frequenti modifiche ai requisiti. |
| 3 | Il test convalida un processo aziendale o un flusso di lavoro, piuttosto che l'aspetto grafico, il colore o il layout della tabella. | Questo scenario può essere considerato come un caso di test manuale. |
| 4 | Il test produce risultati per un ente regolatore che richiede che tali risultati vengano registrati e archiviati elettronicamente come prova formale di conformità. | Non adatto alla metodologia Agile, poiché un livello esaustivo di documentazione non rientra tra le sue caratteristiche. |
| 5 | Il test è molto ripetitivo o prevede numerosi passaggi che devono essere eseguiti esattamente allo stesso modo ogni volta, pertanto è necessario evitare l'affaticamento manuale dell'operatore. | Non adatto alla metodologia Agile. |
| 6 | Il risultato del test, positivo o negativo, è relativamente facile da determinare e registrare con lo strumento di automazione selezionato. | Adatto per i test di regressione durante i test Agile che richiedono capacità ripetitive e laboriose. |
| 7 | Il test deve immettere una quantità significativa di dati nell'applicazione. | Può essere integrato come test di regressione. |

.jpg)


