Agile Testing: La chiave per uno sviluppo software di alta qualità
Agile

Agile Testing: La chiave per uno sviluppo software di alta qualità

siete pronti a conoscere il testing agile?

La metodologia Agile utilizza diversi test per assicurarsi che il prodotto finale soddisfi perfettamente le esigenze del cliente.

E se siete in un'azienda Team Agile si suppone che si debba testare tutto.

come Rick Sanchez, il mago della scienza del telefilm Rick e Morty

Era solo una GIF di prova

Ecco perché in questo articolo useremo esempi tratti da Rick e Morty per aiutarvi a capire i test Agile.

Imparerete le basi di tutti e 4 i tipi di test Agile, i quadranti del test Agile e come gestire facilmente il vostro processo di test Agile!

Iniziamo!

Che cos'è Agile?

**Questa sezione è dedicata ai lettori che vogliono conoscere le basi della metodologia Agile. Se la conoscete già, cliccate qui per passare alla sezione sui _test Agile project management aiuta i team a costruire prodotti migliori e più incentrati sul cliente in cicli di sviluppo più brevi, a differenza di metodi tradizionali di project management .

Il metodo Agile è fondamentalmente adatto a geni dalla mente rapida, come Rick.

perché?

Non blocca il suo stato con processi inutili, ma gli permette di costruire grandi prodotti.

Ecco un esempio per aiutarvi a capire come funziona il metodo Agile:

Supponiamo che Rick voglia creare un'app che monitori la posizione di suo nipote (Morty) quando i due sono all'avventura. Questo non solo aiuterà Rick a localizzare Morty in dimensioni parallele, ma aiuterà anche i principali genitori di Morty a tenere traccia degli spostamenti del figlio.

dopotutto, sappiamo che Rick odia che il genero Jerry si lamenti delle loro avventure

Rick è stufo delle lamentele di Jerry

Se Rick usasse i metodi di project management tradizionali, svilupperebbe il prodotto dall'inizio alla fine senza alcun input da parte di Jerry. Questo potrebbe richiedere anni e risultare in un prodotto finale che Jerry odia, visto che non è mai stato consultato!

Tuttavia, se Rick utilizza il metodo Agile, costruirà l'app in breve tempo ' sprint ' e la testa dopo ogni sprint. Dopo i test, chiede a Jerry un feedback e lo implementa nello sprint successivo, realizzando infine l'app finale esattamente come Jerry la desidera!

Dato che questi sprint comportano molti test, un team Agile si affida a una serie di metodi di test sofisticati e completi.

scopriamoli tutti..

Nota__: Sebbene la metodologia Agile possa essere adattata a qualsiasi tipo di progetto, in questo articolo parleremo delle sue applicazioni nei progetti software

Che cos'è l'Agile Testing Framework?

Il metodo di testing basato sulla Valori agili e principi è noto come quadro di testing agile.

Come risultato, segue alcune linee guida della metodologia di sviluppo Agile, quali:

Sulla base di queste linee guida, un team Agile utilizza 4 tipi di tecniche di test Agile:

(Cliccare su di essi per passare alle sezioni che trattano ciascuno dei tipi di test _)

da fare: perché un team Agile usa il proprio metodo di test?

e' come chiedersi perché Rick crea la sua roba invece di comprarla!

Rick crea le sue cose

{\an8}Perché è molto più figo!{\an8}

Ma non è l'unica ragione, ovviamente.

I team Agile seguono una metodologia di test del software diversa, perché i metodi di test tradizionali non possono essere utilizzati in un ambiente Ambiente agile .

vediamo come le tecniche di testing agile si differenziano da quelle tradizionali

La differenza tra tecniche di testing tradizionali e Agile

1. Frequenza dei test

Nelle metodologie tradizionali di project management come Cascata il prodotto viene testato solo dopo la fine del ciclo di sviluppo. Ma poiché la portata dei test sarebbe aumentata in modo esponenziale entro la fine del progetto, il team o ritarda il rilascio del prodotto o sottrae al _test del software.

Per evitare ciò, la metodologia di testing Agile raccomanda il testing continuo seguito dall'integrazione continua delle nuove funzionalità/funzione del prodotto.

In un ambiente Agile, il team costruisce simultaneamente le funzionalità/funzione e le testa per verificarne l'accuratezza e le prestazioni, aiutandolo a consegnare prodotti robusti entro la scadenza.

2. Natura del team di test

I test tradizionali sono solitamente condotti da un team separato di Quality Assurance o QA, il cui scopo è trovare i difetti del prodotto. Tuttavia, il team QA non fa parte del processo di risoluzione dei problemi con gli sviluppatori, cosa che può creare silos di informazioni all'interno del team .

Un processo Agile, tuttavia, dipende dalla collaborazione interfunzionale e dalla costruzione di una sistema di comunicazione per il team di collaudo.

Tutti i team lavorano insieme per ottenere i risultati desiderati e non c'è bisogno di un team QA separato.

Gli sviluppatori creano il test, lo conducono e trovano anche le soluzioni. Questo garantisce che tutti i membri del team abbiano la stessa titolarità del prodotto.

Quindi chi è un tester Agile?

Chiunque in un team Agile può essere un tester, e nessuno viene assunto solo per questo lavoro.

Ma, in linea con le convinzioni di Rick sulle competenze, un tester Agile deve essere abile in alcune cose:

I 4 tipi di test agili

Ora che conoscete le basi del testing Agile, impariamo a conoscere i 4 tipi di testing e come vengono condotti.

immergiamoci in questa nuova dimensione!

Tipo #1: Sviluppo guidato dal comportamento (BDD)

ricordate come Rick è scappato da una prigione di massima sicurezza della Federazione Galattica?

Ha truccato il sistema per far credere ai suoi interrogatori che il suo piano stava fallendo.

Ed è così che è riuscito a ribaltare l'intero gioco!

Rick che trucca il sistema

il Behavior Driven Development o BDD segue un processo in qualche modo simile.

perché il prodotto è destinato a fallire il _test!

perché?

Ogni volta che un prodotto fallisce un test BDD, comunica agli sviluppatori esattamente come risponde a uno scenario. Questa conoscenza permette loro di costruire funzionalità/funzione in grado di correggere questo comportamento.

come si svolge?

Insieme, i tester, gli sviluppatori e gli analisti aziendali creano un elenco di scenari o 'casi di test' in cui vogliono testare il prodotto.

Questi sono scritti nella sintassi Gherkin: dato/quando/quando

Un campione di casi di test per l'app di monitoraggio di Rick's Morty potrebbe essere:

Dato_ che il piano fallisce, quando Morty si è perso nello spazio e nel tempo, **_allora l'app dovrebbe essere in grado di indicare sia la sua posizione che il suo tempo.

Il team di test affina ulteriormente i passaggi e i processi che il prodotto utilizzerà per rispondere a questa situazione.

E poiché l'attività di test avviene contemporaneamente allo sviluppo Agile, il prodotto è previsto che fallisca in questi scenari!

**Accanto al test, gli sviluppatori creano funzionalità/funzione che aiuteranno il prodotto a superare il test BDD.

Testano il prodotto finché non lo supera, perfezionandolo ulteriormente a ogni sprint.

è un po' come se Rick, Morty e sua sorella Summer trovassero un modo per dividere il tempo da fare contemporaneamente!

Da fare simultaneamente

Tuttavia, proprio come esistono regole per viaggiare nel tempo (che Rick, quasi sempre, segue), è necessario fare attenzione ad alcune cose quando si conducono test BDD.

Alcune best practice per i test BDD includono:

  • Scrivere casi di test specifici e definiti che siano perseguibili
  • Utilizzare test automatizzati per garantire l'uniformità tra tutti i casi di test
  • Limitare la documentazione, ma non dimenticare di registrare tutti i punti salienti

Tipo #2: Sviluppo guidato dai test di accettazione (ATDD)

L'ATDD o Acceptance Testing è molto simile a Test BDD .

Entrambi seguono lo stesso processo di:

Scrivere i criteri di test -> Testare il prodotto -> Fallire il test -> Costruire funzionalità/funzione per superare il test -> Testare di nuovo -> Superare il test

Tuttavia, il fatto che sembrino simili non significa che lo siano.

come Rick e Morty hanno notato le "piccole differenze" tra gli infiniti universi in infinite dimensioni

Allo stesso modo, BDD e Acceptance Testing differiscono su due punti chiave:

  • Mentre l'ATDD viene condotto con la partecipazione attiva del cliente, il BDD include solo gli analisti aziendali (oltre agli sviluppatori)
  • L'ATDD si concentra sulla comprensione del prodotto attraverso l'interazione umana, e quindi include il cliente. Tuttavia, il BDD verifica solo il comportamento tecnico del prodotto.

Ciò elimina ulteriormente la pressione degli sviluppatori a comprendere (o presumere) le esigenze del cliente. Possono semplicemente includerlo e chiederglielo durante il processo!

un esempio di AcceptanceTest scenario per il tracker di Rick's Morty potrebbe essere:

_Inserimento di Jerry che non ha familiarità con la scienza dei viaggi nel tempo

Sebbene questo non abbia nulla a che fare con le funzionalità/funzioni del prodotto, è fondamentale per l'esperienza d'uso del cliente. Quindi Rick coinvolgerà Jerry per testare l'app e determinare la sua usabilità .

Ecco alcune buone pratiche da seguire nel test di accettazione:

  • Ottenere un feedback di prima mano da parte dei personalizzati utilizzandofocus group o sondaggi* Includere nel processo il personale non tecnico che interagisce con i clienti
  • Creare un elenco di "criteri di accettazione" e sottoporlo a controlli incrociati con il personale a contatto con il cliente
  • Mantenere le risposte dei clienti al centro del processo di sviluppo agile post-test

seguite tutte queste indicazioni e forse, solo forse, riuscirete a salvare Jerry da se stesso!

Tipo #3: Test esplorativi

Ricordate che la rete via cavo interdimensionale (che Rick e Morty amano tanto) non sembra avere uno script?

I test esplorativi non hanno uno script

ma è per questo che ci piace così tanto, giusto?

E se siete fan della TV improvvisata come Rick and Morty, troverete i Test esplorativi di vostro gradimento perché anch'essi non seguono un copione!

I tester che seguono questo metodo giocano caoticamente con il prodotto, imitando il comportamento dell'utente per trovare i difetti.

tuttavia, c'è un metodo per questa follia!

Mentre giocano con il prodotto, i tester esplorativi:

Questo rende il processo scientifico, divertente e avventuroso... proprio quello che serve per far appassionare questo dinamico duo!

Rick e Morty sono dipendenti

Per rendere efficaci i test esplorativi, ecco alcune best practice da seguire:

  • Creare un registro dettagliato delle funzioni del prodotto per testarle tutte
  • Notare le funzioni che non sono state testate in ogni round per testarle in seguito
  • Adattare le personas degli utenti in modo che corrispondano alla mentalità del gruppo di traguardo
  • Documentare e comunicare il maggior numero di dettagli possibile

Tipo #4: Test a sessione

I test basati su sessioni sono simili a Test esplorativi quando si tratta di adottare test creativi e a flusso libero.

Tuttavia, i test esplorativi sono più adatti a tester esperti che hanno familiarità con i dettagli del prodotto. In quanto tale, il metodo non pone l'accento su accountability e struttura.

È qui che il Test basato sulle sessioni è d'aiuto.

Segue lo stesso metodo di test improvvisato, ma applica anche una struttura:

  • Cartelle di test che stabiliscono gli obiettivi di ogni sessione di test
  • Sessioni a tempo determinato in cui i tester devono concludere i test
  • Reportistica che i tester presentano per riferire l'attività svolta in ogni sessione
  • Debrief per discutere l'attività di test tra i tester e i manager dopo ogni sessione

Questo metodo di test è perfetto per i team che hanno difficoltà ad adattarsi al ritmo dei test esplorativi. Ma può anche essere un trampolino di lancio per il team di test, per seguire un approccio di test più aperto.

Per sfruttare al meglio i test basati sulle sessioni, ecco alcune buone pratiche da seguire:

  • Delineare in anticipo il programma di test (con un Programma per ogni sessione)
  • Definire obiettivi chiari per ogni sessione di test
  • Condurre sessioni di test senza interruzioni
  • Discutere i passaggi successivi durante i debriefing post-sessione

Che cosa sono i quadranti del testing agile?

conoscere i diversi tipi di test è fantastico

Ma dovete imparare come applicare queste conoscenze, o finirete per creare qualcosa di completamente inutile come questo_.

Robot che passa il burro

quindi, quale test si dovrebbe usare e quando?

e soprattutto, quando si dovrebbe includere **il test automatizzato nella strategia di test Agile _?

I quadranti del testing agile hanno la risposta a entrambe le domande ed ecco come si presentano:

(Non preoccupatevi se sembra confuso, vi spiegheremo tutto!)

grafico della strategia di testing agile

I quadranti vengono ricavati in base a queste specifiche:

  • Asse 'X': divide i test in business-facing (rispondere alle esigenze dei clienti) e technology-facing (capire il comportamento tecnico del prodotto)
  • Asse Y: divide i test in assistenza o critica del prodotto

Ne derivano 4 distinti tipi di test che possono essere riepilogati/riassunti nei seguenti quadranti:

Quadrante 1 del testing agile: test automatizzati

Si tratta di un insieme di metodi tecnologici o di unit testing che aiutano il team a costruire un prodotto migliore. Esempi: Test di unità, Test di componenti.

Quadrante 2 del testing agile: Automazioni e test manuali

Si tratta di test rivolti all'azienda che supportano il team del supporto nella realizzazione di prodotti che forniscono un valore aziendale migliore. Esempio: Test di funzione.

Quadrante 3 del testing agile: test manuali

Si tratta di test rivolti all'azienda che hanno lo scopo di fornire un feedback per migliorare le prestazioni del prodotto. Esempi: Test di accettazione dell'utente, test esplorativi.

Quadrante 4 del testing agile: Strumenti

Si tratta di test tecnici che verificano le prestazioni del prodotto in aree non funzionali (che non sono funzionalità/funzione rivolte al cliente, come sicurezza, manutenzione, scalabilità, ecc: Test di prestazione e di carico.

Poiché i test Agile seguono i valori e i principi Agile, non raccomandano alcuna regola dura e veloce per i test. Al contrario, incoraggia a fare la scelta giusta in base ai requisiti del team.

o, per dirla con Rick:{secondo i principi di Agile, il test Agile è un'attività che non ha bisogno di essere svolta

La scienza è più arte che scienza

Ad esempio, sebbene i quadranti siano numerati, non è necessario seguire lo stesso ordine.

È possibile scegliere un tipo di test in base alla corrente requisiti della vostra produttività .

Ecco quindi alcune domande da porsi prima di creare un piano di test:

  • il vostro team ha le capacità (sia le competenze che le risorse) per condurre un determinato test?
  • State testando le funzionalità/funzione con priorità nel vostro progetto?
  • Come organizzerete i test continui e i processi di sviluppo Agile contemporaneamente?
  • Da fare con i test manuali o con le automazioni?

Bonus:_ **Quadrante del debito tecnologico Alla fine, l'unica domanda a cui dovete rispondere è:

**Cosa si può fare per realizzare un prodotto incentrato sul cliente e in che modo i test Agile possono aiutarvi a farlo?

Come gestire il processo di testing agile?

ricordate perché la Federazione Galattica **_e _milioni di mercenari di tutto l'universo davano la caccia a Rick a causa della sua pistola a portale?

La pistola a portale di Rick

Questo è il potere di cambiare la vita di un ottimo strumento!

Anche se gli obiettivi del testing Agile non riguardano i viaggi nel tempo e nello spazio, il processo di testing e sviluppo può essere altrettanto impegnativo.

Potete imbattervi in uno dei seguenti ostacoli nel vostro processo di testing:

  • Requisiti in continua evoluzione
  • Mancanza di dati sufficienti
  • Mancanza di tester qualificati
  • Coordinamento tra team e stakeholder

E, naturalmente, la sfida più grande per qualsiasi team Agile: il testing continuo, a prescindere da tutto.

Fortunatamente, esiste un modo per risolvere tutti questi problemi!

Avete bisogno della vostra "pistola del portale": un potente progetto agile_ gestione_ software__

Fortunatamente, c'è solo un tutto-in-uno Software agile per il project management di cui avete bisogno: ClickUp!

**Che cos'è ClickUp?

/$$$img/ https://clickup.com/blog/wp-content/uploads/2020/05/devices-graphic-1400x682.png piattaforma per progetti agili ClickUp su tutti i dispositivi /$$$img/ ClickUp è il sito del mondo strumento di project management leader al mondo utilizzato dai team più produttivi del mondo, dalle startup ai giganti della tecnologia, per gestire facilmente i loro progetti Agile.

Con un'ampia gamma di opzioni di Sviluppo agile del software e funzionalità/funzione di collaborazione, ha tutto per supportare qualsiasi progetto Agile o di collaborazione Team Agile o Scrum !

Scopriamo come questo portale-fucile-di-software può aiutare a gestire il vostro processo di testing Agile:

A. Semplificare il processo di testing e di sviluppo con Attività,

Attività secondarie e Liste di controllo rick è un genio, ma non ci si può sempre fidare di lui per le attività più semplici

guardate questa scheda per il suo discorso da testimone!

Scheda di Rick per il discorso da testimone di nozze

Il vostro team Agile (anche se è in grado di prendere appunti meglio di Rick) avrà bisogno di un supporto per gestire anche il processo di test e sviluppo.

Le attività, le sottoattività e le liste di controllo di ClickUp li aiuteranno a snellire le attività di test suddividendole in elementi piccoli e fattibili.

Ecco come fare:

  • Tasks e Subtasks: dividete il vostro piano di test Agile in attività secondarie e assegnatele a qualsiasi membro del team
  • Liste di controllo: sviluppate un elenco di elementi che funga da lista di controllo o anche da test di qualità da spuntare durante un test Agile

vista Elenco progetti agili in ClickUp

Inoltre, è possibile semplificare ulteriormente il processo con le seguenti funzionalità/funzione:

  1. Nesting: aggiungete tutte le sottovoci che volete nella vostra lista di controllo
  2. Funzione di trascinamento e rilascio: spostare gli elementi per riprogrammare l'elenco
  3. Assegnare elementi: assegna direttamente gli elementi dell'elenco a più membri del team
  4. Modelli: creare modelli riutilizzabili per le liste di controllo e aggiungerli ai progetti

B. Registrare ogni dettaglio in Documentia volte è necessario scrivere le cose, giusto?

/$$$img/ https://clickup.com/blog/wp-content/uploads/2020/08/image19-7.gif Rick che scrive cose con la matita /$$$img/

Ma grazie alla funzionalità Docs di ClickUp, non avrete bisogno di alieni irreali e parassiti che vi aiutino a prendere nota!

È possibile creare documenti per registrare:

  • Strategia di test agile
  • Piano di test
  • Carta dei test
  • Istruzioni per i test di automazione

Potete anche usare Documenti per creare il vostro wiki interno per la vostra metodologia di test Agile!

la parte migliore?

Potete trovare tutti questi documenti proprio accanto ai vostri progetti, in modo da non dover mai perdere tempo a cercarli!

E scrivere in ClickUp Docs è super divertente grazie a funzionalità/funzioni come:

  • Formattazione di testi ricchi per documenti dall'aspetto distintivo
  • Nesting di pagine all'interno dei documenti per ulteriori dettagli
  • Diritti di accesso personalizzabili per includere i membri del team nelle modifiche
  • Possibilità di indicizzare i documenti Google per farli apparire nei risultati delle ricerche apertura dei documenti in ClickUp

C. Monitoraggio del tempo con Monitoraggio nativo del tempoLa gestione del tempo è difficile ed è quasi una tentazione viaggiare indietro nel tempo per finire qualcosa.

ma non vorrete trovarvi dalla parte sbagliata della "polizia dei viaggi nel tempo"

/$$$img/ https://clickup.com/blog/wp-content/uploads/2020/08/image14-7.gif La polizia dei viaggi nel tempo assilla Rick /$$$img/

Ecco perché ClickUp aiuta a gestire meglio il tempo grazie alla funzionalità Native Time Tracking. Questa funzionalità/funzione è estremamente utile per i membri del team che lavorano da remoto o fuori sede .

È possibile accedere al tracker **all'interno di ClickUp per monitorare rapidamente il tempo dedicato alle attività. È anche possibile aggiungere etichette, note e classificare il tempo come ore fatturabili per una gestione del tempo più efficiente!

monitoraggio del tempo per progetti agili

Ma se state già usando uno strumento di monitoraggio del tempo di terze parti come Time Doctor,Hubstaff , oppure Attivare/disattivare è possibile integrarlo con ClickUp in modo semplice.

In questo modo, potrete monitorare l'utilizzo del tempo e pianificare meglio le vostre sessioni di test, il tutto senza viaggiare nel tempo!

D. Condivisione Diritti di accesso personalizzati con le parti interessate

Ricordate che un team Agile deve lavorare con tutti gli stakeholder per fornire un buon prodotto.

Per aiutarvi, ClickUp vi permette di condividere con loro diritti di accesso personalizzati. Potete condividere i file, le cartelle e gli elenchi delle attività del vostro progetto con chiunque all'interno e all'esterno della vostra rete.

condivisione di un post del blog agile a più membri in ClickUp

Ma si può comunque controllare ciò che possono fare una volta all'interno dell'area di lavoro, impostando il loro ' Autorizzazioni '.

Ecco alcuni esempi di autorizzazioni che si possono impostare:

  • Può visualizzare: visualizza i dettagli del progetto, ma non interagisce
  • Può commentare: commentare le attività e gli elenchi di attività
  • Può modificare: modifica le attività ma non le crea
  • Creare e modificare: creare e modificare attività e sottoattività secondarie
  • Può cancellare: cancellare le attività che non ha creato

Questo vi aiuterà a includere i clienti nel vostro processo di test ATDD.

Ma aspettate, c'è di più!

proprio come il numero di Mr. Meeseeks riuniti per servire Jerry, l'elenco delle funzionalità di ClickUp è infinito!

Più Mr. Meeseek

Tuttavia, a differenza loro, queste funzionalità/funzione riusciranno effettivamente a soddisfare le vostre esigenze di test Agile!

Alcune delle incredibili Funzionalità/funzione di Agile ClickUp offre al tuo team sono:

Conclusione

La comprensione della metodologia di testing Agile può essere gratificante per il vostro team.

Dopo tutto, la strategia di test Agile è il cuore stesso del metodo Agile.

Più i test sono mirati e accurati, migliore sarà la produttività.

Ma un buon test non richiede solo conoscenze e competenze.

È necessario anche strumenti affilati al laser per aiutarvi a condurre test continui.

per fortuna non c'è bisogno del laboratorio di Rick per crearne uno

**Tutto ciò di cui avete bisogno è ClickUp!

Ha la giusta serie di funzionalità/funzione per supportare qualsiasi strategia di testing Agile, insieme a un solido supporto di project management per un ambiente Agile. Iscrivetevi oggi stesso a ClickUp e festeggia le tue avventure nel project management Agile, proprio come Rick e i suoi nipoti!

festeggiare come Rick