Che cos’è la Quality Assurance? Scopriamolo insieme a Fabiola Casta, QA manager in Synesthesia

Intervista

22 Marzo 2023

Condividi su:
Versione breve 45

In questa intervista Fabiola Casta ci racconta i servizi forniti dalla Quality Assurance di Synesthesia, il metodo che viene attuato con i diversi step collegati e qual è il suo ruolo all’interno del team.

Versione completa 1
Condividi su:

Fabiola qual è il tuo ruolo in Synesthesia?

“In Synesthesia ho il ruolo di QA Manager, mi occupo cioè della definizione di standard e processi utili a supportare la realizzazione di progetti qualitativamente superiori e maggiormente ottimizzati dal punto di vista delle procedure. Mi reputo una QA manager atipica. In passato ho sviluppato codice (per ben 18 anni). Poi, mi sono appassionata a tutto quello che riguarda la qualità del software e ho capito che senza una definizione di un processo e un controllo della qualità la vita del team e il prodotto non saranno mai eccellenti. La mia “missione” è, quindi, diffondere questo concetto. Le 4 parole chiave che meglio lo descrivono sono: processo, requisito, automatismo, testing”.

Che cosa fa esattamente un/a QA manager?

“Il QA manager è il punto di riferimento per tutto il team: dalla definizione del requisito al supporto del team di sviluppo, dalla gestione del team di QA alla validazione del prodotto finale. L’obiettivo? Consegnare un prodotto o un servizio di altissima qualità. Il lavoro di un QA manager prevede la definizione di politiche e procedure per il controllo della qualità, la supervisione dell’attuazione di tali politiche e l’identificazione delle aree in cui è possibile migliorare. 

In particolare, tra le mie responsabilità c’è la definizione degli standard di qualità e dei processi di controllo qualità, la formazione del team, l’individuazione e l’eliminazione delle cause di eventuali problemi di qualità. Mi assicuro, inoltre, che il team sia in grado di rispettare le procedure e i processi. Per garantire che la qualità sia integrata in tutti gli aspetti del prodotto consegnato, sono sempre attiva nelle fasi di controllo e collaboro con tutto il team”.

A chi consiglieresti questo lavoro?

“A chi sviluppa da anni e vuole migliorare la gestione dei progetti e la qualità di vita del proprio team. A chi ama l’ordine e fa caso ai dettagli. A chi preferisce automatizzare perché è necessario comprendere che l’errore umano è statisticamente frequente”.

Ci parli del tuo team di lavoro? Qual è la vostra giornata tipo?

Il mio team di lavoro è composto per ora da quattro persone: Alessandro, Claudio, Emanuele e Davide. Il gruppo di lavoro prevede figure con differenti soft skills e con esperienze diverse. Questo per noi rappresenta un valore aggiunto perché consente a tutte/i di essere preparati su più fronti: dal testing manuale all’automation. Siamo tutte/i intercambiabili.

Ogni mattina, i componenti del team partecipano ai daily meeting per condividere il lavoro svolto, dopodiché si testano i progetti assegnati. Per ogni progetto su cui lavoriamo scriviamo un test-plan, che permette a ogni componente del team di sapere cosa deve testare. Questo approccio ci offre importanti vantaggi. Uno su tutti: diversi punti di vista sono in grado di riscontrare più bug rispetto a una persona sola che testa sempre la stessa feature”.

Scendiamo un po’ nel dettaglio. Quali sono i servizi che offre Synesthesia ai suoi clienti in materia di QA?

“Seguire processi di qualità e mantenere standard elevati nel tempo è molto importante per le aziende. Synesthesia è coinvolta direttamente in queste pratiche che permettono di garantire e migliorare la qualità dei suoi prodotti. Nel nostro approccio consulenziale e metodologico alla Quality Assurance, portiamo avanti le seguenti attività:

  • Continuous integration (CI)
  • Testing of separate modules / components
  • Integration Testing
  • System Testing
  • Acceptance Testing
  • Static Analysis of source code (es. Sonarqube)
  • Static Application Security Testing
  • Manual testing (es. Browserstack + real device)
  • Azure devops Test-plans
  • Internal report generation

In generale applichiamo un nostro metodo, che ha diversi processi e metodologie al suo interno”.

Puoi parlarci di questo metodo? Come si applica ai diversi  progetti?

“Il metodo che utilizziamo è stato raffinato nel tempo e consiste nella definizione condivisa di standard e processi. I nostri QA fanno parte del team fin dall’inizio del progetto su cui si sta lavorando, per seguire al meglio ogni passaggio. Nel metodo Synesthesia contempliamo:

  • Una forte attenzione per i dettagli, con un occhio molto attento alla qualità.
  • Il rispetto dei fondamenti della qualità come, per esempio, saper scrivere un criterio di accettazione è importante al fine di definire la DoD (Definition of Done) del requisito. Partendo dal criterio di accettazione si riescono a scrivere i Test plan che sono un punto di riferimento per i tester.
  • La simulazione dell’esperienza dell’utente e per farlo è necessario avere un occhio non tecnico, in grado di simulare l’esperienza dell’utente e offrire una visione esterna, riportando ogni tipo di anomalia e aprendo segnalazioni laddove esistano delle discrepanze rispetto alle aspettative.
  • Il testing “fuori dagli schemi” con cui proviamo a fare azioni inusuali, che potrebbero generare errori o malfunzionamenti.

È importante focalizzarsi sui test “negativi” che di solito sono poco considerati. Questo accade quando un utente esegue un’azione sbagliata su un’applicazione come, per esempio, quando nei campi di testo non viene inserito nessun valore e viene premuto comunque “invia”, oppure quando si inseriscono valori non consentiti. Non seguire il normale flusso positivo, quindi, ma cercare di stressare l’applicazione digitale con utilizzi inusuali”.

Qual è il valore aggiunto per i clienti di Synesthesia?

“Grazie all’applicazione del nostro metodo è possibile mettere in comunicazione più persone, anche con esperienze diverse tra loro e tutte finalizzate (cliente) compreso alla realizzazione del miglior prodotto possibile. Questo iter garantisce una generazione continua di informazioni. Non è possibile assicurare un prodotto o un servizio privo di bug, ma possiamo certamente migliorare il risultato e i processi in gioco, in una fase continua e ininterrotta di cambiamenti e miglioramenti, imparando sia dai fallimenti sia dai successi”.

Quali sono i vantaggi più evidenti per il cliente?

“Sicuramente ottenere un prodotto o un servizio che non solo ha una maggior qualità dal punto di vista tecnico, ma che sia basato anche sui migliori standard di sviluppo presenti al momento. Questo garantisce al cliente un maggiore livello di scalabilità del software per accogliere nuove funzionalità. Grazie alla separazione dei moduli del software, inoltre, la sua manutenzione risulta essere meno onerosa perché permette di individuare e conseguente di risolvere facilmente eventuali problemi con estrema facilità. Tra i vantaggi vorrei, infine, aggiungere anche la corretta procedura di raccolta dei requisiti e la loro organizzazione che consente di descrivere il progetto in ogni sua parte tecnico-funzionale”. 


Vuoi saperne di più su quello che facciamo? Per conoscere le nostre soluzioni, scrivici. Saremo felici di trovare insieme la risposta migliore alle tue esigenze.

Contattaci

Immagineremo insieme il tuo progetto

Lo realizzeremo con amore e passione
Il nostro team è a tua disposizione

Iscriviti alla nostra
newsletter

Il modo migliore per rimanere in contatto con noi

Privacy Policy