10 Ottobre, 2018 | Di

I 5 Superpoteri del Test Analyst

I 5 Superpoteri del Test Analyst

Anche se spesso viene saltata o tenuta meno in considerazione, l’attività di testing di un software è di vitale importanza per lo sviluppo di un prodotto di qualità, robusto e ben funzionante.

Il Test Analyst ricopre un ruolo vitale in questo ambito e ha il compito di analizzare i requisiti e la documentazione del software in modo da stilare una lista di test che garantisca la copertura massima dei diversi casi d’uso. Si occupa anche di rilevare i problemi prima che emergano durante l’utilizzo da parte degli utenti.

“In caso di grandi responsabilità, sono richiesti grandi poteri.”

Il compito del Test Analyst purtroppo è più complesso di quanto si possa immaginare e, soprattutto per chi è alle prime armi, può risultare confusionario e in certi casi da esaurimento nervoso… Lo so, lo so, ci sono passato anche io! Per questo motivo sono necessari un duro allenamento, la conoscenza di tecniche segrete e particolari superpoteri per svolgere il compito di Test Analyst al meglio! Con questo articolo spero di guidarti verso una stesura di casi di test più fluida e con meno intoppi, fornendoti dei semplici consigli che spero ti faciliteranno il lavoro… Cominciamo!

Stamina

Questo consiglio può sapere di già sentito e sembrare di poco conto, ma avere “Stamina” (resistenza allo sforzo) alta ed essere in grado di portare pazienza è il mantra per un analista e tester.

Specie all’inizio della stesura dei casi di test, momento in cui la documentazione e i requisiti del software possono essere ancora acerbi, si deve essere pronti a sopportare numerose modifiche e lunghe sessioni di lettura, comprensione e presa di appunti.

Riuscire a stendere un buon piano di test quindi richiede pazienza di ferro e concentrazione incessante… Ciò comporta un enorme stress mentale, ma la soddisfazione nel vedere che il prodotto delle proprie fatiche contribuisce nello sviluppo di un ottimo software resta impagabile e supera di gran lunga l’effort speso nella sua stesura!

Personalmente, l’ascolto di un po’ di buona musica usando cuffie isolanti mi aiuta moltissimo durante le mie sessioni di analisi e mi permette di lavorare in tranquillità e mantenendo uno stato di concentrazione costante, senza praticamente mai stancarmi… Se non hai mai provato te lo consiglio caldamente!

Tecnica della Scomposizione

Quella che simpaticamente possiamo battezzare Tecnica della Scomposizione consiste nel suddividere il software in aree tematiche o funzionali sempre più microscopiche e concettualmente separate dalle altre.

Questo metodo permette di semplificare l’analisi di componenti complesse di un software suddividendole in micro aree facili da studiare.

Per fare un esempio, proviamo ad analizzare ad alto livello la Gestione dell’utenza in un sito internet.

Essa può essere scomposta in due entità più piccole:

  • Utente Loggato

  • Utente non Loggato

Scomponendo “Utente Loggato” possiamo scoprire, per esempio:

  • Area personale

  • Login

  • Logout

  • Funzionalità abilitate solo per utenti che hanno effettuato l’accesso

Addentrandoci ulteriormente in “Area personale” ecco che appaiono:

  • Cambio dati personali

  • Impostazioni account

E così via.

Più ci si addentra nello scomporre aree, più diventa semplice analizzare il software e la sua documentazione, e di conseguenza stendere casi di test.

In più, aumentando il focus su una sola micro area alla volta la si sviscera più a fondo e permette un’analisi più approfondita e l’ideazione di maggiori casistiche d’uso.

Lungimiranza

Un altro potere dalla straordinaria utilità è la Lungimiranza:

La capacità di prevedere il comportamento di un software e quello che potrebbe desiderare un cliente al presentarsi di determinate casistiche d’uso del prodotto.

La documentazione non è mai perfetta e spesso, specie sviscerando le micro aree del software con la Tecnica della Scomposizione, possono emergere casistiche d’uso che non sono state descritte. Nonostante sia il cliente stesso ad avere l’ultima parola, è buona prassi farsi una idea di cosa potrebbe accadere e stendere una bozza dello scenario d’uso... Se si è abbastanza bravi, spesso non è nemmeno necessario modificarlo: la soluzione proposta è già quella ideale!

La Lungimiranza permette anch’essa di migliorare la stesura dei test, sia in termini di semplicità sia in termini di tempi di lavorazione: un Test Analyst Lungimirante è in grado di avere un’idea di come debba funzionare una determinata feature ancora prima di leggere la documentazione ufficiale… Ciò gli permette di stendere i casi di test e di comprendere i requisiti più rapidamente!

Strategia

“La potenza è nulla, senza il controllo.”

Mai frase fu più azzeccata. Specie in situazioni complesse come l’analisi funzionale e la stesura di casi di test, risulta fondamentale pianificare le fasi di lavorazione e operare in maniera strutturata ed ordinata.

La pianificazione dell’analisi delle funzionalità di un software o di un sito corrono a pari passo con la ormai celeberrima Tecnica della Scomposizione. Una volta creata una gerarchia del sistema che si sta analizzando, diventa estremamente semplice pianificare la stesura di test per coprire ordinatamente tutte le funzionalità.

Il criterio su cui viene fondata la gerarchia che compone il piano di test è fondamentale e può fare la differenza tra una stesura fluida ed una impacciata.

Occorre analizzare le aree attentamente per riconoscere la dipendenza reciproca di alcune rispetto ad altre.

In caso di feature molto complesse, può tornare utile descriverne il funzionamento tramite l’utilizzo di un grafico Use Case.

Per contestualizzare il discorso, valutiamo insieme il caso di test di un sito di ecommerce: per quanto riguarda i passi di un flusso di checkout, lo step finale di conferma è dipendente da quelli precedenti, per esempio di spedizione e pagamento, in quanto è necessario passare attraverso questi ultimi per poter giungere alla pagina desiderata. Di conseguenza, conviene schedulare la stesura delle casistiche inerenti alla pagina di conferma successivamente.

Come potresti aver già intuito, può essere utile approcciarsi alla stesura dei test tramite un il metodo bottom-up, in cui prima ci si concentra sul nucleo del prodotto da testare, poi si analizzano le aree di livello più alto sfruttando i test “già pronti” dei componenti che ne fanno parte.

“Vuoi vedere come mi sono fatto queste cicatrici?”

Una cosa divertente dell’analisi funzionale e della stesura di test è che si ha piena libertà di espressione: quando si deve testare una funzionalità, più la si maltratta meglio è.

Proprio per questo l’ultimo e più importante consiglio che mi viene di darti è di uscire dai binari, di inventarti le casistiche più particolari per verificare che effettivamente stia andando tutto come sperato.

Chiediti ogni volta che puoi “Che succede se...” e dai libero sfogo alla tua fantasia… Testing è anche improvvisazione!

 

Per scoprire di più sul Software Testing partecipa alla nostra Digital Breakfast dedicata alla Quality Assurance.