TECHTARGET

Test automation: come definire una strategia di automazione dei test

Test automation, croce e delizia degli sviluppatori. L’automazione, infatti, ha una doppia natura che può portare grande valore o immensa frustrazione. Qual è l’approccio migliore? Gli esperti offrono delle utili linee guida

Pubblicato il 11 Ott 2019

test automation

Test automation significa utilizzare un sistema di verifica della qualità del software. Esistono molti linguaggi di scripting e framework tra cui scegliere. I team leader e i responsabili del controllo qualità devono prima di tutto definire una strategia di automazione dei test e analizzarla, per decidere poi quali strumenti e quali modelli saranno utilizzati dal team di programmatori per tutta la durata di un progetto (e, potenzialmente, oltre).

Test automation: da dove iniziare

Il punto di partenza è cominciare con pratiche di scripting ed esecuzione di test fondamentali come, ad esempio, i test atomici o le funzionalità di multithreading. Quest’ultima, in dettaglio, riguarda la capacità di gestire l’utilizzo di un programma o di un processo del sistema operativo da parte di più di un utente alla volta, arrivando a gestire anche più richieste dello stesso utente senza dover avere più copie della programmazione in esecuzione nel computer.

In seguito, è necessario assicurarsi che i test manuali abbiamo posto la stessa attenzione all’efficienza e alla chiarezza.

Un ultimo punto fondamentale è di ragionare sulla copertura, considerando quelle tre parti di ogni progetto di sviluppo software che hanno la priorità.

Una volta stabilita una strategia di automazione dei test, è importante confrontare le competenze del team.

Test automation: le best practice in 6 punti

I team leader dovrebbero incorporare pratiche consolidate nella loro strategia di test automation. Queste linee guida sono valide in diversi framework e linguaggi, aiutando gli sviluppatori a trovare le direttive giuste.

Ecco una lista 6 punti:

  1. Gli script di test devono essere basati sulla singolarità Ogni script dovrebbe testare una sola caratteristica; è quello che viene chiamata test atomico. Se uno script di test controlla più funzionalità, non sarà chiaro quale parte del software testato non è riuscita.
  2. Gli script di test dovrebbero essere autonomi. Uno script di test non dovrebbe fare affidamento sui risultati degli script precedenti per essere eseguito. Se un test fallisce, infatti, i tester saranno costretti a interrompere l’esecuzione.
  3. Gli script di test devono gestire correttamente i dati. Gli script di test devono creare o eliminare i propri dati o ripristinare i dati al loro stato di pre-test.
  4. Gli script di test devono essere eseguiti rapidamente. Ogni test non deve essere eseguito per più di un minuto nell’ambiente locale.
  5. Le suite di test devono essere multithread. Per massimizzare la velocità, la suite di test suite deve poter girare su più server contemporaneamente.
  6. Gli strumenti di test dovrebbero tenere conto del mondo reale. A tal fine è bene utilizzare strumenti che consentono agli script di essere eseguiti su più piattaforme, combinazioni di browser e dispositivi. Il tutto, ovviamente, raccogliendo tutte le metriche relative alle prestazioni.

Effettuare test manuali di alto livello

I test manuali sono le componenti essenziali di una suite di automazione. I professionisti del controllo qualità devono rivedere ogni script relativo ai test manuali per assicurarsi di ricavarne il massimo valore possibile da ognuno. Le suite test automation richiedono una manutenzione continua sia a livello di script che di suite per rimanere efficaci ed efficienti. Quando si automatizzano i test manuali, dunque, i professionisti del controllo qualità dovrebbero cercare di creare un processo finalizzato a coprire le funzionalità più critiche, con il minor numero di test possibili. Poter contare su di una suite di automazione ottimizzata, infatti, ne semplifica la manutenzione ed evita di farla diventare un collo di bottiglia.

Come progettare e ottimizzare i test manuali

Gli esperti ricordano anche che, sebbene le suite di test automation vadano a sostituire una grossa parte di lavoro legato al controllo qualità manuale, c’è ancora ampio margine di manovra per l’esperienza umana nei test.

Per progettare e ottimizzare la suite di test manuali, i team addetti al controllo qualità devono:

  • selezionare test end-to-end incentrati su funzionalità applicative critiche e ad alto rischio
  • comprendere le integrazioni coinvolte nei flussi di lavoro degli utenti critici, comprese le tecnologie utilizzate per questo tipo di applicazioni
  • implementare la virtualizzazione del servizio sia per le attività di integrazione che per i componenti non disponibili in modo che le parti mancanti non impediscano ai tester di eseguire continuamente i test in modalità end-to-end
  • utilizzare i dati più realistici possibili per ciascun test, compresa la generazione di dati sintetici
  • includere test esplorativi per valutare l’esperienza dell’utente e i bug non facilmente rilevabili dai test automatizzati

Test manuali e script di test: che cosa sono e a cosa servono

La casistica dei test manuali descrive lo scenario del test, mentre gli script di test descrivono i passaggi effettivi e i risultati attesi. Esistono diversi modi per ottimizzare i test manuali.

È importante che la casistica dei test sia incentrata sulla funzionalità che vanno convalidate. Questi test dovrebbero anche essere semplici: più complesso è il test, infatti, maggiori sono le richieste di convalida associato allo script di test. Inoltre, i test devono essere il più indipendenti possibile, anche se si utilizza la virtualizzazione del servizio per compilare componenti mancanti nei test di integrazione. In ogni caso di testing manuale è necessario scrivere a livello di ogni singolo clic e descrivere completamente i prerequisiti, inclusi quelli relativi ai dati. I test manuali devono essere eseguiti in modo pulito e il codice deve essere stabile per evitare che le attività di test automation risulti instabile.

test automation

Sviluppare le abilità nel modo giusto

Spesso i team hanno difficoltà a ottimizzare una suite di test efficiente, fornendo agli ingegneri addetti al controllo qualità le necessarie competenze di test automation. Per chiunque si occupi di automazione dei test, invece, è fondamentale conoscere le best practices elencate fin qui, indipendentemente dal linguaggio e dalla struttura di scripting utilizzata.

Quando i leader definiscono una strategia di automazione dei test, devono determinare quali competenze sono necessarie al team. Forse non tutti hanno bisogno di padroneggiare gli script di test, dal momento che professionisti diversi possiedono ruoli, punti di forza e punti deboli differenti.

Per questo motivo gli esperti consigliano di analizzare e rivedere, nel caso, tutte le abilità per determinare dove siano necessari interventi di formazione. Ad esempio, se di rivela necessario formare dei lavoratori sugli script di test, è importante dare loro tutto il tempo necessario per apprendere quadri e linguaggi di test automation. L’automazione dei test, infatti, è un processo continuo: non esiste un pulsante magico tale da permettere di trovare immediatamente la figura di riferimento, adeguatamente preparata. Il ritardo tra l’addestramento e l’uso di tali abilità può far sì che i tester dimentichino o abusino di ciò che hanno appreso. Il che va a discapito di una buona programmazione.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4