In evidenza nella community: Ramona Schwering

Ramona Schwering è una software engineer ed esperta di Google Developers con esperienza nel controllo qualità.

Questo post mette in evidenza un esperto della community, nell'ambito della serie del blog sull'automazione dei test.

Ramona Schwering.

Ramona Schwering è una software engineer con un background nel controllo qualità. È anche esperta di Google Developers in tecnologie web. Ramona è appassionata di automazione dei test. Ha dato un contributo significativo alla sperimentazione dell'automazione attraverso le sue iniziative nel campo dell'istruzione pubblica, tra cui parere alle conferenze, pubblicare articoli, contribuire a progetti open source e organizzare Meet.

Ramona Schwering alla VueJS Amsterdam.

Jecelyn: Qual è stato il tuo percorso verso lo sviluppo e i test web?

Ramona: Il mio percorso verso lo sviluppo è iniziato grazie alla mia passione per l'arte. Al liceo, dedicavo molto tempo a disegnare e creare illustrazioni che volevo pubblicare. Volevo però usare qualcosa di diverso da DeviantArt e Animexx, quindi ho creato il mio sito web. Così ho potuto scoprire di più sullo sviluppo web. In seguito, ho sviluppato una passione per l'automazione dei test durante il mio primo lavoro. Volevo eliminare le banali attività di test per potermi concentrare su attività che richiedevano la creatività e l'esperienza umane.

Jecelyn: esistono moltissimi strumenti di automazione dei test. Come si fa a impararli tutti o a sapere quale scegliere?

Ramona: Questa è un'ottima domanda. Cominciamo: sebbene sia sicuramente un buon modo di sperimentare con molti framework di automazione, non avere la pressione di dover imparare a usare ognuno di essi. Inizia con la realizzazione di piccoli progetti o scrivi un primo piccolo test per vedere se ti piace l'esperienza e le peculiarità di un framework. Puoi sceglierne uno o due che corrispondono ai tuoi requisiti e sono di tuo gradimento. Preferisco scegliere provando per vedere se mi piace l'esperienza degli sviluppatori con un determinato framework. Cerco di scoprire se ti sembra impeccabile. Ricorda che eseguire test deve sembrare un'abitudine, non rivendicare uno spazio di testa. Naturalmente, dipende dal progetto che crei e dai suoi requisiti.

Jecelyn: i test vengono spesso ritardati fino alla fine della procedura, ad esempio "Non abbiamo ancora tempo per farlo". Cosa ne pensi?

Ramona: scrivere test richiede certamente tempo, soprattutto se decidi di utilizzare lo sviluppo basato su test. Tuttavia, immagino che sia un malinteso comune che i test richiedano TANTO tempo: li considero un investimento che offre molti vantaggi: si ottiene feedback tempestivi e quindi è possibile correggere i bug prima, con conseguente riduzione dei costi di correzione, in quanto i bug non si accumulano e non diventeranno più costosi da correggere in una fase successiva. A parte questo, più automatizzi, meno avrai bisogno di eseguire test manuali, ma avrai comunque una panoramica completa dello stato del tuo progetto. Secondo me, in realtà è il contrario: i test ti fanno risparmiare tempo e ti danno fiducia senza uno sforzo costante.

Jecelyn: parlami della cultura dell'automazione dei test nella tua azienda.

Ramona: Nel mio attuale team, i test sono considerati una responsabilità condivisa e tutti ne hanno la proprietà. Abbiamo implementato una procedura chiamata "Quality at Speed", che è stato introdotto in origine da Atlassian. Questo processo garantisce che i tester agiscano solo come rete di sicurezza, decidendo se una richiesta di pull richiede o meno un test. Pertanto, gli sviluppatori non possono fare affidamento sull'idea che il tester si occuperà di tutto. Sviluppatori e tester collaborano con l'aiuto di ingegneri di qualità che agiscono da coach e insegnano agli sviluppatori come eseguire i test. Gli sviluppatori scrivono i test necessari per le loro modifiche e, se gli ingegneri della qualità ritengono che sia necessario, completeranno questi test in un secondo momento. Questo approccio ha aumentato l'empatia tra sviluppatori e ingegneri di qualità e ha permesso loro di lavorare insieme condividendone la responsabilità.

Jecelyn: stai partecipando a tantissime attività della community, come parlare, scrivere e contribuire all'open source. Come puoi trovare il tempo e trovare il giusto equilibrio?

Ramona: Ho la fortuna che il mio datore di lavoro sostenga le mie conversazioni in pubblico, il che significa che non devo togliermi dei giorni di ferie dal lavoro per partecipare alle conferenze o preparare i contenuti per i discorsi. Tuttavia, devo ammettere che utilizzo ancora parte del mio tempo libero per l'apprendimento pubblico. Per gestire efficacemente il mio tempo, ho adottato una strategia di time-boxing in cui dedico, ad esempio, due ore al giorno a contribuire a progetti open source, scrivere articoli o provare le presentazioni. È fondamentale prendersi una pausa il giorno dopo queste due ore per avere abbastanza tempo libero. Anche se a volte questo approccio non funziona come previsto, in generale mi ha aiutato a trovare un buon equilibrio tra lavoro, coinvolgimento della community e vita privata senza trascurare i compiti importanti.

Jecelyn: C'è qualche consiglio che avresti voluto sapere prima di iniziare a utilizzare l'automazione dei test?

Ramona: è importante non essere troppo impazienti di seguire un determinato framework di soluzioni e dare la priorità alla risoluzione dei problemi effettivi. Il nostro obiettivo finale è offrire ai nostri utenti la migliore qualità e un'esperienza d'uso e qualsiasi framework può aiutarci a raggiungere questo obiettivo. Pertanto, è meglio non cimentarsi in guerre dei framework. All'inizio della tua carriera nei test, ti consiglio di iniziare imparando le nozioni fondamentali sui test e sull'automazione dei test e utilizzare i framework come strumenti solo quando necessario.

Jecelyn: come riesci a stare al passo con l'automazione dei test e lo sviluppo web?

Ramona: Adoro stare al passo con le ultime tendenze e le idee innovative monitorando le fonti di notizie e i social media. Tuttavia, escludere le informazioni pertinenti può essere difficile, quindi mi assicuro di seguire fonti e persone attendibili. Inoltre, consolido le mie fonti utilizzando funzionalità quali le liste di Twitter e i segnalibri. Ecco un elenco di fonti che ho seguito. Partecipare a conferenze e incontri è un altro modo per mantenermi informato, perché posso imparare dalle conversazioni e partecipare alle conversazioni con gli altri partecipanti.