Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

L’analisi dei valori limite, in genere abbreviata in BVA, è una tecnica di test black box molto diffusa. L’approccio verifica i difetti del software verificando i valori di input ai limiti degli intervalli consentiti.

In questo articolo si analizzerà che cos’è il test di analisi dei confini, perché è utile ed esplorerà alcuni approcci, tecniche e strumenti diversi di test dei confini.

 

Indice dei contenuti

Che cos’è l’analisi del valore limite nel test del software?

Test statici nel test del software - Che cos'è, tipi, processo, approcci, strumenti e altro!

L’analisi dei valori limite è un tipo di test funzionale. Questo tipo di test si occupa di verificare che ogni funzione del software soddisfi i requisiti e le specifiche. Nel caso del boundary testing, questa funzionalità comprende il modo in cui il software gestisce i vari input.

La BVA è una tecnica di test del software che convalida il modo in cui il software risponderà agli input in corrispondenza o al limite dei confini degli input. In sostanza, ogni ingresso ha degli intervalli consentiti. Ad esempio, si potrebbe avere una casella per la password di accesso che accetta password di 8-12 caratteri. Il test dei limiti verificherà le password con lunghezza dei caratteri pari a 7, 8, 12 e 13.

L’idea è che i confini dei limiti, cioè 7, 8, 12 e 13, abbiano più probabilità di generare errori rispetto ai numeri all’interno dei confini, come 9, 10 e 11. Se i vantaggi possono sembrare marginali in un esempio di casella di campo che accetta tra 8 e 12 caratteri, diventano più evidenti quando si devono scrivere casi di test per caselle di campo che accettano tra 1 e 20 caratteri o numeri tra 1 e 1000 e così via.

Quindi, per risparmiare tempo e ridurre il numero di casi di test nell’ambito dei test funzionali, l’analisi dei valori limite esamina i valori:

  • Al valore minimo
  • Direttamente sotto il valore minimo
  • Al valore massimo
  • Direttamente sopra il valore massimo

 

Vantaggi dell’analisi del valore limite nei test

Test QA: cos'è, tipi, processi, approcci, strumenti e altro ancora!

I test di frontiera presentano diversi vantaggi interessanti per i team QA.

#1. Migliore qualità del software

Lo scenario da incubo per i tester è rappresentato da bug e difetti che passano inosservati. Con così tante cose da verificare, alcuni difetti possono sfuggire. I test al limite dimostrano la funzionalità delle aree del software che hanno maggiori probabilità di contenere errori, il che porta a una migliore creazione del software e, in definitiva, a un’applicazione più affidabile e stabile.

#2. Aumento della copertura dei test

La BVA nel test del software è molto utile perché aiuta a ridurre il numero di casi di test necessari per una copertura completa. L’analisi dei valori limite garantisce che i valori importanti e ogni valore possano essere testati in modo più approfondito.

#3. Rilevamento precoce dei difetti

I test sui valori limite fanno parte di un approccio che privilegia il rilevamento precoce dei difetti. Individuare i bug nelle prime fasi del processo significa che i team di sviluppo possono risparmiare tempo e denaro, senza contare che è molto più facile rimediare ai bug nelle prime fasi di sviluppo.

#4. Efficienza

I test sui valori limite sono molto efficienti perché riducono la necessità di molti casi di test. In effetti, la riduzione degli input a tutti i tipi di problemi, tranne quelli più probabili, può far risparmiare tempo ai team di test sia per la stesura che per l’esecuzione dei casi di test.

 

Gli svantaggi dell’analisi del valore limite nei test

Diverse metodologie di software e QA

Naturalmente, nessuna tecnica di test del software è perfetta o priva di limiti. Sebbene l’analisi dei valori limite offra molti vantaggi, ci sono alcuni limiti nel lavorare con questa tecnica di test funzionale.

#1. Ambito ristretto

Il BVA lavora sui confini o sui bordi degli ingressi di dati validi. In generale, ignora gli ingressi centrali, ritenendo che vadano bene se gli ingressi validi sui bordi lo sono. Tuttavia, non è senza precedenti che alcuni di questi valori non testati possano avere dei problemi.

#2. Eccessivamente semplicistico

L’analisi dei limiti consiste nel semplificare le cose. Sebbene questo approccio funzioni per ridurre i casi di test, è meno adatto a domini molto complessi con confini, interazioni o dipendenze multiple. In effetti, può faticare a gestire scenari complessi, il che significa che è necessario esplorare altre tecniche per ottenere una copertura adeguata.

#3. Ipotesi

Qualsiasi processo che tenti di aumentare l’efficienza rischia di non cogliere particolari errori. La BVA si concentra sui confini ai margini di un areale. Nel farlo, deve fare ipotesi su altri input che ricadono su entrambi i lati dei valori limite. I tester devono trovare un equilibrio tra efficienza e copertura, il che comporta un leggero rischio se si utilizzano solo i test di confine.

#4. Affidamento su specifiche e requisiti accurati

L’efficienza della BVA dipende dalla qualità e dall’accuratezza delle specifiche e della documentazione dei requisiti. Eventuali errori non controllati in questi documenti possono riversarsi nei test sui valori limite e portare a errori specifici che non vengono controllati e scoperti fino alle ultime fasi critiche dello sviluppo.

#5. Affidamento alle classi di equivalenza

L’esecuzione di una BVA completa richiede una solida conoscenza delle classi di equivalenza. L’impostazione accurata di queste classi richiede esperienza e alcune informazioni di base sull’applicazione.

 

Sfide dell’analisi del valore limite

nel test del software

sfide-collaudo del carico

A questo punto dovrebbero essere abbastanza chiari i pro e i contro del boundary testing. Tuttavia, se si vuole implementare questo approccio nel proprio testing del software, è necessario essere consapevoli delle varie sfide da superare.

Ecco alcune delle sfide legate all’implementazione del boundary value testing nel testing del software.

 

#1. Delineare i confini

L’identificazione dei confini all’interno di sistemi semplici pone poche sfide ai tester competenti. Tuttavia, esistono situazioni più complesse, come ad esempio:

  • Domini di input complessi con diverse variabili di input o relazioni intricate
  • Limiti non documentati che non sono stati chiaramente delineati nei documenti di specifica.
  • Confini dinamici che cambiano in base alle azioni dell’utente o ad altre condizioni.

 

#2. Requisiti ambigui

Documenti di requisiti scritti male o poco chiari possono ostacolare l’identificazione dei valori limite. La chiarezza, la completezza e l’impegno a redigere documenti di specifica esaustivi richiedono tempo, ma alla fine ripagano.

 

#3. Competenza

L’analisi dei valori limite può essere ingannevolmente complessa. In effetti, i team di test hanno bisogno di personale con esperienza e conoscenza del settore per comprendere le sottili sfumature della tecnica. Inoltre, i tester devono avere una certa conoscenza del software o, come minimo, disporre di documenti di specifica affidabili su cui basarsi.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Errori

L’analisi dei limiti cerca di ridurre il numero di casi di test necessari per verificare gli input validi e non validi. Tuttavia, i difetti che si trovano al di fuori dell’intervallo di controllo possono facilmente passare inosservati. Inoltre, gli errori “off-by-one” sono comuni errori di codifica che possono verificarsi in corrispondenza o in prossimità dei confini. I tester devono essere consapevoli di questi scenari e prendere provvedimenti per i test.

 

#5. Esplosione del caso di test

Con molteplici limiti di input in gioco, i casi di test possono presto diventare complessi e moltiplicarsi fuori controllo. In queste situazioni, il tempo e il denaro che si possono risparmiare con il boundary testing vanno persi, compromettendo i vantaggi della soluzione. I software complessi con molte combinazioni o permutazioni possono avere un effetto simile.

 

#6. Limiti dello strumento di analisi

Gli strumenti di automazione dei test software possono aiutare i team a eseguire un’adeguata analisi dei valori limite. Tuttavia, anche nei casi migliori, questi strumenti richiedono un certo intervento manuale sia per i test che per la loro creazione. Questa situazione può essere esacerbata nel caso di costruzioni complesse con interazioni a più variabili.

 

Diversi tipi di valore limite

test nel collaudo del software

lista di controllo dei processi di collaudo del software

Nel libro Software Testing: A Craftsman’s Approach, gli autori Paul C. Jorgensen e Byron DeVries descrivono quattro diversi tipi di test del valore limite, che sono:

 

1. Test del valore limite normale (NBVT)

  • Verifica i valori di ingresso validi ai bordi del dominio di ingresso
  • Esplora i valori minimi e massimi insieme agli input appena al di sopra e al di sotto del confine
  • Questo è il tipo classico di analisi del valore limite.

 

2. Test robusto del valore limite (RBVT)

  • Simile al NBVT di cui sopra, ma include anche gli ingressi non validi
  • Esegue test in corrispondenza e al di là dei confini, ma tiene conto anche degli input non validi.
  • Si concentra sull’individuazione di errori derivanti da output estremi o inattesi.

 

3. Test del valore limite nel caso peggiore (WBVT)

  • Verifica il comportamento del software utilizzando valori estremi validi e non validi.
  • Esplora i valori ai margini dei domini di input e i valori al di là di questi confini
  • Cerca di capire il comportamento del software in condizioni più estreme

 

4. Test robusto del valore limite del caso peggiore (RWBVT)

  • Utilizza una combinazione di RBVT e WBVT per un test dei valori limite più approfondito.
  • Testa i valori di ingresso validi e non validi sia ai limiti tipici che a quelli estremi
  • Offre la migliore opportunità di trovare difetti legati ai confini

 

Questi approcci differiscono per completezza, con la RWBVT che è la più completa. Tuttavia, i tester devono riconoscere l’investimento supplementare in termini di tempo e impegno necessario per sbloccare questo ulteriore livello di scoperta dei difetti.

 

Partizione di equivalenza e valore limite

analisi: somiglianze e differenze

Chiarire alcune confusioni nell'automazione del test del software

La partizione di equivalenza e l’analisi del valore limite sono spesso utilizzate insieme. In effetti, le due tecniche sono altamente complementari. Tuttavia, essi descrivono approcci distinti alla convalida dei dati immessi. Ecco un’analisi delle somiglianze e delle differenze tra i due.

 

1. Le somiglianze

La partizione di equivalenza e l’analisi dei valori limite costituiscono un’ottima coppia. Ecco alcune analogie tra le due tecniche.

  • Sono entrambe tecniche di test black box, ovvero si concentrano sugli input e sugli output, che possono essere testati senza conoscere a priori il codice sorgente dell’applicazione.
  • Entrambi fanno parte di un approccio approfondito agli input di test.
  • Entrambi aiutano i tester a trovare un equilibrio tra la copertura completa dei test senza scrivere una quantità eccessiva di casi di test.

 

2. Le differenze

Per esplorare le differenze tra il partizionamento per equivalenza e l’analisi del valore limite, dobbiamo considerare ciascuno di essi in modo isolato.

Partizione di equivalenza

  • Suddivide i dati di ingresso in classi di equivalenza che dovrebbero dare luogo a risultati simili del sistema.
  • Utilizza un singolo valore rappresentativo di ogni classe e testa il sistema con quel valore.
  • Si tratta di identificare le classi di equivalenza valide e non valide.

 

Analisi del valore limite

  • Verifica i valori ai confini o ai bordi delle classi di equivalenza
  • Testate una serie di valori, tra cui il minimo, il massimo e i valori su entrambi i lati del confine.
  • Cerca gli errori che si trovano ai margini dei confini

 

Esempi di partizione di equivalenza e analisi del valore limite

Per aiutare a consolidare la comprensione della partizione di equivalenza e dell’analisi del valore limite, ecco alcuni esempi.

Esempio di partizione di equivalenza:

Supponiamo di avere una casella di input per le immatricolazioni di auto. In genere, le targhe automobilistiche statunitensi sono composte da 6 a 7 caratteri. Per semplicità, non considereremo le targhe speciali.

Dati validi = Piastre 6 o 7 caratteri

Dati non validi = Targhe con >6 o >7 caratteri.

 

Esempio di analisi del valore limite:

Utilizzando lo stesso esempio di targa di cui sopra, l’analisi del contorno verificherà

Dati validi = targhe con 6 o 7 caratteri

Dati non validi = targhe con 5 o 8 caratteri e, in alcuni scenari, 4 e 9 caratteri.

 

Esempio di analisi del valore limite

vantaggi dell'alpha testing e dell'rpa

Forse il modo migliore per comprendere appieno il concetto è quello di esaminare uno o due esempi di analisi del valore limite.

 

Esempio di test del valore limite #1

Per esplorare più in dettaglio i test sui valori limite, analizziamo un esempio di dominio di verifica dell’età.

Abbiamo una casella in cui l’utente può inserire la propria età.

I valori limite sono:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Età minima = 18 anni
  • Età massima = 120 anni

 

Esempio di casi di test limite:

I casi di test sono in tutto sei:

  • 17, 18 e 19, rispettivamente al di sotto, al di sopra e al di sotto del minimo.
  • 119, 18 e 19, che sono rispettivamente al di sotto del massimo, al massimo e al di sopra del massimo.

 

Esempio di test del valore limite n. 2.

Nel prossimo esempio di boundary testing, esploreremo un sito web con uno sconto minimo del 20% sugli ordini a partire da 100 dollari.

In questo esempio, un acquisto di oltre 600 dollari comporta uno sconto del 25%. Il test del valore limite si occuperà di input compresi tra 100 e 600 dollari.

I valori limite sono:

Sconto minimo qualificante = 100 dollari

Sconto massimo qualificabile = 600 dollari

 

Esempio di casi di test limite:

Anche in questo caso, generiamo un totale di sei casi di test, che sono:

  • 99,99, 100 e 100,01 dollari, che sono rispettivamente inferiori al minimo, al minimo e superiori al minimo.
  • 599,99 dollari, 600 dollari e 600,01 dollari, che sono rispettivamente inferiori al massimo, al massimo e superiori al massimo.

 

Il boundary testing nel testing del software è accurato?

alpha testing vs beta testing

Nel documento di ricerca Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods, gli autori esplorano l’uso del partizionamento per equivalenza e dell’analisi del valore limite per testare un sistema informativo accademico per l’Università di Mataram in Indonesia.

Gli autori hanno utilizzato il popolare strumento di test open-source Selenium per i test e hanno eseguito un totale di 322 casi di test. I test di equivalenza e l’analisi dei valori limite hanno portato alla luce circa 80 casi falliti, che hanno determinato un rapporto di circa 75:25 tra punteggi validi e non validi. Nel complesso, l’uso di una combinazione di partizione di equivalenza e BVA nel test del software ha portato a un test approfondito e utile per il software.

 

I migliori strumenti di verifica del valore limite

ZAPTEST RPA + suite di automazione dei test

Sebbene gli strumenti software dedicati al boundary testing siano rari, esistono molti strumenti di test degni di nota che sono in grado di svolgere questo compito.

#3. TestCaseLab

TestCaseLab è uno strumento di gestione dei test basato su cloud che può aiutare a eseguire i test BVA. Il software consente ai team di creare e gestire i casi di test dalla sua interfaccia utente intuitiva e dall’aspetto accattivante. TestCaseLab è flessibile e ricco di funzioni, ma ha i suoi limiti, tra cui le limitate opzioni di reporting e di personalizzazione.

 

#2. Micro Focus UFT One

Micro Focus UFT One è uno strumento di test del software incentrato sui test funzionali e di regressione. Supporta diverse piattaforme, dispositivi e test API e offre forti opzioni di integrazione. Offre sia la creazione di test senza codice che quella guidata da parole chiave e può aiutare i team a creare facilmente casi di test di analisi del valore limite. Ci sono alcune limitazioni da considerare, come la curva di apprendimento ripida e la mancanza di potenza rispetto a strumenti come ZAPTEST.

 

#1. ZAPTEST

Automazione dei test Agile DevOps: Spiegazione dell'approccio di automazione basato su mockup di ZAPTEST

ZAPTEST è uno strumento completo per il test di automazione del software con funzionalità avanzate di RPA. È stato costruito per fornire ai tester una suite di strumenti di automazione dei test robusta e facile da usare, che può aiutare a verificare il software in vari modi, compreso il BVA nel test del software.

Alcuni dei casi d’uso più interessanti di ZAPTEST per l’analisi dei valori limite comprendono la generazione di casi di test, la gestione dei dati di test, l’esecuzione dei test, la creazione di report e l’analisi. Grazie a una serie di modelli e a un elevato livello di personalizzazione, combinato con la creazione di casi di test senza codice, gli utenti di ZAPTEST possono creare e gestire in modo semplice e rapido casi di test robusti per tutti i tipi di analisi dei confini.

Oltre alla generazione e alla gestione dei casi di test, le funzionalità RPA di ZAPTEST possono aiutare i team di testing a svolgere i test di analisi del valore limite in altri modi. Ad esempio, è possibile automatizzare l’esecuzione dei casi di test, generare dati di test e creare potenti integrazioni con altri strumenti di test.

 

Suggerimenti per il test del valore limite

  • Combinate l’analisi dei valori limite con il partizionamento delle equivalenze per garantire che i vostri casi di test coprano vari scenari di input.
  • Utilizzare scenari di input non validi (cioè, test negativi) per verificare come il software gestisce gli errori e gli input inattesi.
  • Investite tempo nell’identificazione dei valori limite per i diversi tipi di dati, come testo, numeri, booleani, ecc.
  • Privilegiate i test di valore limite per le funzionalità critiche o per le aree in cui è più probabile che si verifichino errori.
  • Utilizzate dati realistici che rappresentino il tipo di dati che gli utenti inseriranno nei vostri domini.

 

Riflessioni finali

L’analisi dei valori limite è un utile approccio di verifica funzionale. Quando si dispone di un dominio di input, occorre verificare che accetti dati validi e che invii messaggi di errore quando riceve dati non validi. I test di analisi dei confini aiutano a verificare la funzionalità in modo efficiente, costruendo solo i casi di test necessari per un test completo.

Il test dei limiti esamina i valori che si trovano all’interno o intorno all’intervallo accettabile e verifica come il sistema risponde a questi input. Il risultato è un notevole risparmio di tempo e una riduzione degli sforzi, perché non è necessario creare casi di test ridondanti. Nel mondo frenetico dello sviluppo del software, dove le scadenze sembrano essere sempre più frequenti, i team di collaudo hanno bisogno di tutto l’aiuto possibile.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post