\ /
Open source  TESTING  APPLICATION PERFORMANCE  Artificial Intelligence  Accessibility  Quality Assurance 

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.

comments powered by Disqus