\ /
Metodologies  TESTING  Strategy  Quality Assurance 

ll Potere del Test Basato sull'Esperienza

Ti sei mai chiesto in che modo i tester riescano a individuare un elevato numero di bug in tempi ristretti? Il "segreto" risiede nelle tecniche di test basate sull'esperienza.

Cosa si intende per Test Basato sull’Esperienza

L'esperienza nel testing consiste in una combinazione di:

  • Esperienza Personale del Tester: Il suo background, i suoi studi, le sue competenze, o anche la sua user journey digitale;
  • Esperienza dell'Applicazione Oggetto di Test: ovvero come l'applicazione si è comportata in passato;
  • Esperienza di Applicazioni Simili: Conoscenze individuabili in software analoghi in termini di funzionalità o tecnologia, utili per prevedere potenziali problemi in altri progetti.

Tecniche di Testing Basato sull'Esperienza

Le tecniche basate sull’esperienza combinano queste 3 conoscenze permettendo ai tester di individuare un grosso quantitativo di bug in un breve periodo di tempo. Le più utilizzate sono:

Error Guessing: per andare a Colpo Sicuro

L'error guessing è una tecnica di test in cui ci si concentra su aree del software notoriamente problematiche come la gestione dei campi di input, le funzionalità di upload, la responsiveness di una pagina web o la dark mode. Poiché questi elementi sono spesso fonte di bug, i tester li esaminano con attenzione individuando a colpo sicuro errori comuni. Ad esempio:

  • Campi di Input: Testati con dati non validi o malformati, come caratteri speciali o formati di file non ammessi.
  • Analisi dei valori limite: Verifica di come l’applicazione si comporta ai valori limite, come il valore massimo e minimo accettabili per i campi numerici o la quantità massima di caratteri che può ricevere una text area. Sebbene l'Analisi dei valori limite sia una vera e propria tecnica di testing black box, l’esperienza ha insegnato ai tester che molti errori si manifestano proprio in questi frangenti, motivo per cui si concentrano subito su questo tipo di test.

Exploratory Testing: Quando Ogni Minuto Conta

In questo approccio, apprendimento, progettazione ed esecuzione dei test avvengono simultaneamente, rendendolo ideale per attività di bug hunting. I tester esplorano il software dinamicamente, identificando rapidamente i difetti. A differenza dell’error guessing, l’exploratory testing permette di rilevare molti problemi non funzionali come un'eccessiva presenza di notifiche di errore (le quali potrebbero essere "evitate" con un'interfaccia che previene l'utente dal compiere tali azioni non volute).

Session-Based Testing: Obiettivi Chiari e Maggiore Formalità

In questo caso, ogni sessione è limitata nel tempo e ha scopi ben definiti, migliorando la concentrazione e la tracciabilità dei risultati. I vantaggi del Session-Based Testing includono:

  • Focus e Controllo: Ogni sessione ha uno scopo chiaro (esempio: testare la responsiveness), migliorando la concentrazione del tester.
  • Tracciabilità: Offre una documentazione migliore e una tracciabilità superiore rispetto all'exploratory testing puro.
  • Miglioramento Continuo: Il feedback di ogni sessione può essere utilizzato per ottimizzare i test futuri.

Checklist-Based Testing: Controlli Puntuali

In questa tecnica i tester utilizzano elenchi di controllo basati su esperienze passate o standard di settore per assicurarsi che tutti gli aspetti cruciali del software siano testati.

Un esempio classico è la Checklist di Compatibilità, utilizzata per accertarsi che l'applicazione sia stata testata su diversi browser, sistemi operativi, dispositivi o risoluzioni di schermo differenti. Di altrettanto valore è la Checklist di Non Regressione, utilizzata per anticipare i possibili impatti delle nuove funzionalità oggetto di sviluppo, ancor prima di eseguire una batteria completa di test.

Conclusione

Il testing basato sull'esperienza offre un approccio metodico per garantire la qualità del software, dimostrando che non è solo l'anzianità o l'esperienza del singolo tester a fare la differenza, ma piuttosto la scelta della tecnica giusta per il progetto e il contesto specifico. Queste tecniche forniscono un quadro strutturato e adattabile che permette a qualsiasi tester, indipendentemente dal livello di competenza, di individuare un elevato numero di bug in modo efficiente.

comments powered by Disqus