In evidenza nella community: Ramona Schwering

Ramona Schwering è un'ingegnera software ed esperta di sviluppo di Google con esperienza nel campo della garanzia di qualità.

Questo post mette in evidenza un esperto della community, nell'ambito della serie del blog Test automation (Automazione dei test).

Ramona Schwering.

Ramona Schwering è un'ingegnera software con esperienza nel controllo qualità. È inoltre esperta di sviluppo di Google in tecnologie web. Ramona è appassionata di automazione dei test. Ha apportato contributi significativi ai test dell'automazione attraverso le sue iniziative di istruzione pubblica, che includono parere a conferenze, pubblicazione di articoli, contributo a progetti open source e organizzazione di incontri.

Ramona Schwering alla VueJS Amsterdam.

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

Ramona: Il mio percorso verso lo sviluppo è iniziato attraverso la mia passione per l'arte: alle superiori ho trascorso molto tempo a disegnare e creare illustrazioni che volevo pubblicare. Tuttavia, volevo utilizzare qualcosa di diverso da DeviantArt e Animexx, quindi ho creato il mio sito web. Ciò mi ha portato a conoscere lo sviluppo web. In seguito, durante il mio primo lavoro, ho sviluppato una passione per l'automazione dei test. Volevo eliminare le noiose attività di test in modo da potermi concentrare su quelle che richiedevano creatività ed esperienza umana.

Jecelyn: esistono molti strumenti di automazione dei test. Come puoi impararle tutte o sapere quale scegliere?

Ramona: Questa è un'ottima domanda. Per prima cosa: anche se è certamente un'ottima cosa sperimentare con molti framework di automazione, non sentirti obbligato ad apprendere ogni singolo modello. Inizia con la creazione di piccoli progetti o scrivi un primo piccolo test per vedere se ti piace l'esperienza e le peculiarità di un framework. Puoi scegliere una o due opzioni che corrispondono ai tuoi requisiti e sono di tuo gradimento. Preferisco scegliere provando per vedere se mi piace l'esperienza degli sviluppatori di un determinato framework. Cerco di capire se l'uso risulta impeccabile. Ricorda, eseguire test dovrebbe sembrare un'abitudine, non richiedere alcun 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 queste cose". Qual è la tua opinione?

Ramona: scrivere test richiede tempo certo, soprattutto se decidi di usare lo sviluppo basato sui test. Tuttavia, immagino sia un equivoco comune secondo cui i test richiedono molto tempo: lo considererei un investimento che ha molti vantaggi: ricevi un feedback tempestivo e quindi puoi correggere i bug prima, riducendo i costi di correzione, perché i bug non si accumulano e non diventeranno più costosi da correggere in una fase successiva. Oltre a questo, più automatizzi, meno dovrai eseguire i test manualmente ma avrai comunque un'ottima panoramica dello stato del tuo progetto. Quindi, a mio parere, è in realtà il contrario: i test ti consentono di risparmiare tempo e acquisire fiducia senza sforzi continui.

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

Ramona: nel mio team attuale, eseguire test è considerato una responsabilità condivisa: tutti ne fanno parte. Abbiamo implementato un processo chiamato "Qualità alla velocità", originariamente introdotto da Atlassian. Questo processo garantisce che i tester agiscano solo come rete di sicurezza, decidendo se una richiesta di pull richiede o meno i test. Pertanto, gli sviluppatori non possono fare affidamento sul fatto che il tester si occupi di tutto. Sviluppatori e tester collaborano invece con l'aiuto di ingegneri di qualità che fungono 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 della qualità e ha permesso loro di lavorare insieme condividendo la responsabilità.

Jecelyn: Stai partecipando a tantissime attività della community, come parlare, scrivere e dare il tuo contributo all'open source. Come trovi il tempo e l'equilibrio?

Ramona: mi sento fortunato che il mio datore di lavoro sostiene le mie iniziative in pubblico, il che significa che non devo togliermi giorni dal lavoro per partecipare a conferenze o preparare contenuti per i dibattiti. Tuttavia, devo ammettere che uso 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 due ore al giorno, ad esempio, a contribuire a progetti open source, scrivere articoli o eseguire le prove delle mie presentazioni. È fondamentale prendersi una pausa la giornata successiva a queste due ore per avere abbastanza tempo libero. Anche se a volte questo approccio non funziona come previsto, in genere mi ha aiutato a trovare un buon equilibrio tra lavoro, coinvolgimento della community e vita personale, senza trascurare attività importanti.

Jecelyn: C'è qualche consiglio che avresti voluto ricevere prima di iniziare a lavorare nell'automazione dei test?

Ramona: è importante non essere pregiudicati a un particolare framework di soluzioni e dare la priorità alla risoluzione dei problemi effettivi. Il nostro obiettivo principale è offrire ai nostri utenti la migliore qualità e la migliore esperienza possibile, e qualsiasi framework può essere utile per raggiungere questo obiettivo. Pertanto, è meglio non impegnarsi in guerre di quadro. All'inizio della tua carriera di testing, ti consiglio di iniziare apprendendo le nozioni di base per eseguire test e testare l'automazione e utilizzare i framework come strumenti solo quando necessario.

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

Ramona: Mi piace stare al passo con le ultime tendenze e le idee innovative monitorando le fonti di notizie e i social media. Tuttavia, filtrare informazioni pertinenti può essere difficile, quindi mi assicuro di seguire fonti e persone affidabili. Inoltre, consolido le mie fonti utilizzando funzionalità come gli elenchi di Twitter e i preferiti. Ecco una delle fonti che ho seguito. Partecipare a conferenze e incontri è un altro modo per essere informato, poiché posso imparare dagli interventi e interagire con gli altri partecipanti.