Skip to main content

Se sei uno sviluppatore di automazione dei test o stai considerando questa carriera, ti sei mai chiesto se le competenze di testing siano essenziali per il tuo lavoro? Questo articolo ti aiuterà a rispondere a questa domanda.

Ecco come imparare una "mentalità da tester" mi ha aiutato a diventare un miglior sviluppatore di automazione.

La mia storia: lavorare come sviluppatore di automazione e tester in parallelo

Il mio primo lavoro subito dopo l'università è stato come specialista di test in IBM. Ero entusiasta, principalmente perché ero entrato nell'azienda dei miei sogni. Tuttavia, sentivo che mi mancava qualcosa. Ho presto capito che era perché la mia vera passione, durante gli anni dell'università, era sempre stata lo sviluppo di codice.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Così, per perseguire il mio obiettivo di diventare programmatore, nei miei primi giorni di lavoro parlai con il mio project leader per partecipare allo sviluppo dell'automazione dei test. Con mia grande gioia, accettò subito! Tuttavia, aggiunse che avrei comunque dovuto considerare di svolgere il mio ruolo di specialista di test in parallelo.

L'accordo era il seguente: lavoravo come specialista di test per un set di componenti e come sviluppatore di automazione per un altro componente significativo del prodotto.

Pochi giorni dopo, feci una scoperta sorprendente!

Ho scoperto che essere un tester aveva migliorato le mie capacità di sviluppo. Mentre sviluppavo codice, ho iniziato a pensare come un tester. Ho iniziato a considerare la copertura dei test, percorsi multipli di test, aspetti di usabilità, di leggibilità e molto altro!

Il mio primo mentore esperto in test

Inoltre, in questi primi giorni, ho avuto l'opportunità di lavorare con un esperto di test per un articolo tecnico sul testing per l'accessibilità che doveva essere presentato a una conferenza tecnologica internazionale.  

Mentre lavoravamo al nostro articolo, basato sulle nostre esperienze e apprendimenti sull'argomento, ho trovato il mio primo mentore di test.

Dato che ero alle prime armi nel campo del testing, avevo molte domande. Il mio collega mentore mi ha aiutato e guidato nel miglior modo possibile. Era appassionato del mondo del testing! Quell'amore per il testing era contagioso, e l'ho trasmesso anche a me!

Fare network con appassionati di test

Indovina cosa è successo dopo: abbiamo partecipato alla conferenza tecnica dove il nostro articolo è stato selezionato!

Durante la conferenza tecnica, abbiamo incontrato una comunità appassionata di test come il mio mentore. Ero impressionato da come le persone rispettassero il testing e da come pianificassero la crescita della propria carriera. Abbiamo conosciuto persone, scambiato idee, imparato consigli e trucchi sul testing!

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

Riepilogo

Il destino mi ha portato al testing nel mio primo lavoro, anche se la mia passione originale era lo sviluppo di automazione.

Col tempo ho scoperto come il testing mi abbia aiutato a diventare un miglior sviluppatore! Alla fine, ho notato come la "mentalità da tester" mi permettesse di sviluppare script di test automatici di alta qualità.

Sono stato fortunato ad avere la possibilità di apprendere questa prospettiva lavorando contemporaneamente come tester e sviluppatore di automazione dei test.

Metti alla prova il tuo codice: eccelli come sviluppatore

Dalla mia esperienza nel lavorare contemporaneamente come tester e sviluppatore di automazione, ho scoperto che uno sviluppatore che migliora le competenze di testing impara a sviluppare "meglio" anche il codice.

Dopotutto, prima si trovano i bug nel codice, meno costa correggerli. Quindi, se come sviluppatore riesci a individuare quel bug prima di passare il codice al team di test, risparmierai fatica.

Inoltre, quando inizi a pensare come un tester ideale, dai priorità al punto di vista dell’uso aziendale del prodotto, che è molto importante. Si comincia a pensare "fuori dagli schemi".

Per esempio:

Prima di consegnare il proprio codice al team QA, gli sviluppatori dovrebbero effettuare unit test ben pianificati. Così si evitano difetti inutili che potrebbero introdursi nel sistema a livello di integrazione o di sistema. 

Durante l'unit testing, gli sviluppatori testano singole unità di codice sorgente per verificare se rispettano i requisiti e se il codice funziona come previsto.

Inoltre, uno sviluppatore può partecipare a test di integrazione.

Il testing di integrazione è una forma di test in cui gli sviluppatori provano sistemi correlati o unità di codice per garantire che vari aspetti del framework funzionino bene una volta integrati.

Quali potrebbero essere i motivi per cui spesso gli sviluppatori trascurano le competenze di testing?

 I motivi possono essere uno dei seguenti:

1. Una credenza preesistente che il testing debba essere svolto solo dai tester

Potrebbero pensare che il testing software non abbia molto a che vedere con loro o che loro non abbiano molto a che vedere con il testing software.

2. Presumono che la loro attenzione debba essere solo sul perfezionamento del framework

Quegli sviluppatori che si concentrano solo sul perfezionare il framework e la documentazione, invece di scoprire bug nel software, di solito avranno brutte sorprese in seguito.

Se un difetto "apparente" viene trascurato dallo sviluppatore, quando un tester lo individua, ciò comporta tempo per rifare il codice e correggere il difetto. Questa non è una situazione preferibile.

E come sai, uno sviluppatore è la persona più familiare con il codice che ha scritto lui stesso. Quindi, non sarebbe meglio se fosse lui a trovarlo per primo, precocemente? Inoltre, tempo ed energie dei tester saranno impiegati su difetti di priorità più alta o critici invece che su errori facilmente evitabili.

3. Abitudine a procrastinare nella risoluzione del problema quando viene individuato per la prima volta

Gli sviluppatori possono pensare che il debug successivo sia più efficiente. Ma, in realtà, è più semplice fare debug quando uno sviluppatore trova subito il difetto.

La sessione di debug del guasto, e il numero di riga che ha causato il bug, saranno mostrati nello scenario fallito nel momento in cui lo sviluppatore lo nota per primo.

Al contrario, se il difetto viene "posticipato", questo comporterà revisioni del difetto, debug approfondito e tempi di rifacimento.

Cinque consigli per sviluppare una mentalità di testing come sviluppatore di automazione dei test

1. Candidati volontariamente per un ruolo di tester

Sarebbe una buona idea proporsi per un ruolo di test per acquisire esperienza pratica. In questo modo gli sviluppatori possono affinare le proprie competenze di testing.

E cosa puoi fare per inserirti in un ruolo di testing?

Beh, la risposta è semplice: mentre cerchi quel ruolo potresti formarti per capire come "pensa" un tester efficiente.

2. Formati

Leggi, discuti, fai brainstorming, poni domande! 

Spiegherò più avanti in questo articolo come puoi fare.

3. Fai rete

Workshop e conferenze sono ottimi luoghi per trovare esperti nel campo del testing. Qui puoi discutere le idee più importanti e le tue preoccupazioni, e sono sicuro che sarai abbastanza fortunato da trovare qualcuno che può aiutarti.

4. Trova un mentore

Come ho già accennato, sono stato fortunato a trovare il mio mentore che mi ha fatto amare il testing. È davvero prezioso trovare un mentore appassionato di testing, qualcuno che ti segua e ti formi.

5. Sii aperto e ascolta i feedback dei tuoi tester di automazione

Ci saranno momenti in cui i tester che eseguono il tuo codice di automazione potranno incontrare problemi e condividere le loro preoccupazioni. Ascoltali con disposizione positiva, e agisci sui suggerimenti se li ritieni validi.

I tuoi colleghi tester ti aiuteranno a vedere nuove prospettive e, col tempo, migliorerai il modo in cui scrivi il codice per i test di automazione.

Come puoi formarti sul testing?

Leggi blog e pubblicazioni scientifiche

Leggi molto sul testing e metti in pratica ciò che impari. Siamo fortunati a vivere in un'epoca in cui abbiamo tutte le informazioni su internet.

Puoi dunque leggere blog e persino pubblicazioni scientifiche per trovare ottimi contenuti da cui apprendere. E potresti anche contribuire tu stesso con ciò che hai imparato!

Partecipa a seminari, workshop, ottieni certificazioni

Puoi partecipare a seminari, workshop e conferenze che illustrano l’ambito del testing. Sono ottimi posti per apprendere, condividere conoscenze e sviluppare idee. Incontri anche persone appassionate di testing.

Inoltre, puoi decidere di ottenere certificazioni nel testing come ISTQB, CSTM e altro ancora. Imparerai metodologie, strumenti, suggerimenti e tecniche per comprendere a fondo il mondo dei test.

In sintesi

Avere la mentalità da tester e conoscere metodologie, strumenti, consigli e tecniche di testing è necessario per eccellere come sviluppatore di automazione dei test. In effetti, è vantaggioso per ogni sviluppatore capire perché, quando e come testare.

Quando un team di sviluppo testa efficacemente il proprio codice prima di inviarlo al team QA, si verificherà un buon miglioramento nella dinamica di squadra. 

Questo cambiamento sarà vantaggioso per tutti. Gli sviluppatori potranno rilasciare codice di alta qualità e i tester potranno concentrarsi sull’identificazione dei difetti critici che gli sviluppatori potranno correggere in seguito.

Il risultato è un prodotto di alta qualità consegnato al cliente.

Tutto ciò è possibile imparando di più sul testing, anche se sei uno sviluppatore. Se non hai ancora iniziato, non preoccuparti, non è mai troppo tardi per imparare!  Inizia esplorando la nostra libreria di podcast! Ecco un episodio selezionato per te: LA GENERAZIONE DELL’AUTOMAZIONE AUTONOMA E COSA SIGNIFICA (CON BERTOLD KOLICS DI MABL)

Lettura correlata: BEST PRACTICES FOR AUTOMATION IN DIGITAL TRANSFORMATION