ll Potere del Test Basato sull'Esperienza

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.

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

Measuring results the right way - Avoiding OKR pitfalls

Measuring results the right way - Avoiding OKR pitfalls

Why measuring success requires more than just numbers

Learning a New Language

Learning a New Language

Useful tips for learning a new language

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

 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

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.

L'informatica, specchio della scienza anarchica di Feyerabend e di Lakatos: prima parte

L'informatica, specchio della scienza anarchica di Feyerabend e di Lakatos: prima parte

L'essere come fondamento dell'informatica