Come stiamo utilizzando l'AI nel processo di Testing

Come stiamo utilizzando l'AI nel processo di Testing

L'intelligenza artificiale sta rivoluzionando molteplici settori e il testing del software non fa eccezione. Come abbiamo visto negli articoli precedenti bisogna tuttavia restare con i piedi per terra, capendo innanzitutto la differenza che attualmente intercorre Tra promesse e realtà nell’Intelligenza artificiale.

In questo articolo vogliamo quindi condividere alcuni esempi concreti di come stiamo utilizzando l'AI nel nostro lavoro quotidiano al fine di dimostrare che:

  1. non servono soluzioni complesse per iniziare a trarne benefici;
  2. l'intelligenza aritificale è uno strumento al nostro servizio, ma siamo noi a dover individuare gli scenari in cui può tornare davvero utile.

1. Generazione di dati di test realistici

Quando testiamo un'applicazione in lingua straniera, è fondamentale utilizzare anagrafiche e contenuti autentici nella lingua target perché ciò include l'uso di caratteri speciali non presenti nelle tastiere italiane. Di fatti, dati fittizi come "Mario Rossi" o "Lorem Ipsum" non riflettono la complessità dei dati che i sistemi incontrano nel mondo reale.

In questi casi l'AI ci consente di creare dati di test più complessi e realistici permettendoci di identificare e risolvere eventuali problemi di layout o codifica prima che l'applicazione venga rilasciata. Basti pensare agli impatti che può avere la lingua francese (la quale generalmente utilizza molte più parole per esprimere uno stesso concetto), su pulsanti, labels e cards troppo piccole.

2. Validazione degli elementi grafici negli script automatici

Nel testing automatizzato, gli script sono composti sia da azioni (click, type, visit..) sia da assertion, le quali verificano che un determinato elemento appaia in un certo modo. Nonostante siano molto semplici da scrivere, si tratta del classico processo lungo, noioso e ripetitivo. Per questo motivo possiamo affidare questo compito all'AI.

Ad esempio, dandole in input una porzione di codice HTML, possiamo chiederle di generare le istruzioni necessarie a verificare che il contenuto venga visualizzato esattamente in quel modo. Inoltre, poiché le assertion non influenzano il percorso end-to-end del nostro script, non si corre il rischio di introdurre istruzioni flaky.

3. Analisi del rischio

Recentemente abbiamo eseguito dei test di non regressione che, invece di testare una nuova versione, sono serviti a verificare un cambio di configurazione. Sebbene la nostra batteria sia rimasta invariata, abbiamo chiesto a una AI di fornirci una lista di rischi associati ai cambiamenti di configurazione.

L'AI non ci ha fornito una checklist ben definita (del resto non ha accesso alle nostre informazioni), tuttavia ha fornito un punto di partenza per ragionare, permettendoci di conforntare quanto già contenuto nella nostra batteria con eventuali aspetti non oggetto di test.

4. Test di accessibilità

Anche se l'AI non può (e non deve) sostituire il controllo manuale degli utenti (se ti interessa l'argomento puoi leggere L'AI nell'Accessibilità: Lezioni apprese dagli Accessibility Days ), essa può essere utilizzata come strumento aggiuntivo per eseguire analisi preliminari e ottenere suggerimenti migliorativi.

Come per le assertion, possiamo fornire all'AI porzioni di codice HTML e chiedere una valutazione dell'accessibilità. L'AI può identificare problemi comuni, come la mancanza di attributi e suggerire modifiche.

5. Formazione

Screen-Shot-2019-10-29-at-11.06.27-AM.webp

Se usata con criterio, l'AI può supportare lo sviluppo del pensiero critico. Quando si sta studiando qualcosa di nuovo o di molto complesso, è possibile chiedere all'AI di spiegarlo in modo più semplice o mettere in relazione più argomenti tra di loro. Questo approccio permette di cogliere le differenze e le similitudini tra vari concetti, fornendo una visione più completa e integrata degli argomenti oggetti di studio.

Sebbene questo utilizzo dell'AI non sia direttamente legato al processo di testing, è comunque un aiuto prezioso per la crescita professionale.

Conclusioni

L'intelligenza artificiale sta rivelando il suo valore nel nostro processo di testing. Continueremo ad esplorare le potenzialità dell'AI per rimanere all'avanguardia nel campo del testing del software.

Related Posts

Dynatrace Innovate: Observability & Application Security, Mandatory for Business Resilience

Dynatrace Innovate: Observability & Application Security, Mandatory for Business Resilience

Maggiore produttività, Software Sicuro e performante, l'observability estesa offerta da Dynatrace

Cosa vuol dire davvero testare?

Cosa vuol dire davvero testare?

L’obiettivo principale del testing non è dato dalla tecnica usata o dal livello in cui si opera, ma dalla qualità che si vuole verificare. Le tecniche di test sono strumenti per raggiungere questo sco

Aumentare la copertura dei rischi: test case ad Alto Livello vs test case a Basso Livello

Aumentare la copertura dei rischi: test case ad Alto Livello vs test case a Basso Livello

Anche se un software supera tutti i test senza mostrare errori, non è garantito che soddisfi completamente i requisiti degli utenti o che funzioni come previsto in tutte le situazioni reali. I test c

La ricerca scientifica e TheoryFlow

La ricerca scientifica e TheoryFlow

Una piccola e confusa introduzione

 Grazie CrowdStrike per averci ricordato a che cosa serve il Testing

Grazie CrowdStrike per averci ricordato a che cosa serve il Testing

Il caso di CrowdStrike dimostra quanto sia essenziale investire in attività di QA e testing. Questi processi non solo migliorano l'affidabilità e la sicurezza del software, ma proteggono anche le azie

La teoria dell'incommensurabilità delle parole nelle lingue di Feyerabend

La teoria dell'incommensurabilità delle parole nelle lingue di Feyerabend

La metafora come strumento scientifico e filosofico

6 pills dal mondo ( che ci coinvolgono )

6 pills dal mondo ( che ci coinvolgono )

Alcuni dei trend trattati in due delle maggiori conferenza italiane sulla UX e sulla ricerca

Case study: Automated tests for a certified webmail client

Case study: Automated tests for a certified webmail client

Questa intervista/case study si concentra sulle attività di testing svolte per una soluzione di posta elettronica certificata, con particolare attenzione alla versione client.