Concetto: Verifica della struttura
La chiave per la verifica di struttura è che tutti i risultati delle decisioni devono essere utilizzati in modo indipendente durante la verifica e che il numero di test necessari per un modulo software sia uguale alla complessità ciclomatica di tale modulo.
Relazioni
Elementi correlati
Descrizione principale

Il concetto di verifica strutturale viene utilizzato in due contesti principali. Sebbene differente in natura, il concetto o l'idea principale dietro la verifica della struttura è discutibilmente lo stesso in entrambi i casi.

Verifica della struttura dell'interno del codice

Il riferimento più vecchio, e probabilmente l'uso più radicato del termine "verifica della struttura" è correlato alla verifica della struttura interna del codice sorgente del software. Molto frequentemente, questa forma di verifica della struttura viene eseguita come "statica", opposta rispetto a un test "dinamico", perché il software stesso non viene eseguito per effettuare il test. I tool diagnostici analizzano il codice sorgente, ricercando i punti deboli e gli errori strutturali, generalmente fornendo un elenco per abilitare una successiva azione correttiva da eseguire. Questo tipo di test e valutazione viene condotto dagli sviluppatori, anziché dai tester di sistema.

Verifica della struttura dei siti Web

Le applicazioni basate sul web, quelle che impiegano la tecnologia dell'applicazione Internet, si stanno diffondendo sempre più. Questo movimento è stato incoraggiato dal fatto che tale metodo di distribuzione e sviluppo software offre alle organizzazioni la possibilità di sfruttare numerosi vantaggi di business abilitati dalla tecnologia, tra cui:

  • Audience distribuite di clienti, prospetti e business partner senza l'invio di un singolo pezzo di carta o parte di software. Chiunque con un browser e con l'accesso alla rete (Internet o Intranet) può puntare il proprio browser sull'URL pubblicato ed eseguire immediatamente l'applicazione.
  • Gestione e controllo centralizzati. Il modello "client thin/server fat" di applicazioni basate sul Web colloca la logica e i componenti dell'applicazione sul server Web, che accentra e semplifica il controllo e la gestione. In questo modo, si consente anche agli sviluppatori di distribuire il software automaticamente. Una volta che l'applicazione si trova sul server, è immediatamente disponibile per tutti gli utenti.

Sebbene ciò offra vantaggi per coloro che utilizzano questa tecnologia, le applicazioni basate sul Web aumentano le richieste di verifica. La verifica di tali applicazioni, come delle relative controparti (client/server, legacy e così via), richiede la verifica per utilizzare le caratteristiche di funzioni e prestazioni delle applicazioni. Inoltre, le applicazioni basate sul Web hanno la necessità aggiunta dei test incentrati sulla struttura dell'applicazione, per accertarsi che sia corretta e che tutti i collegamenti siano validi.

Generalmente, le applicazioni basate sul Web sono costruite utilizzando una serie di documenti (sia documenti HTML che immagini GIF/JPEG) collegati da numerosi collegamenti statici e da alcuni collegamenti attivi, controllati dai programmi. E' possibile che tali applicazioni includano anche un "contenuto attivo", ad esempio moduli, script Java, contenuto reso dei plug-in o applicazioni Java. Spesso tale contenuto attivo viene utilizzato solo per l'output, ad esempio per presentazioni audio o video. Tuttavia, è possibile utilizzarlo anche come supporto di navigazione, per consentire all'utente di esplorare l'applicazione (sito web). La natura libera delle applicazioni basate sul Web (tramite i relativi collegamenti) è un gran valore, ma costituisce anche un terribile punto debole, poiché l'integrità strutturale potrebbe essere danneggiata con estrema facilità.

La verifica della struttura viene implementata ed eseguita per verificare che tutti i collegamenti (statici o attivi) siano collegati correttamente. Tali test includono:

  • Verifica che venga visualizzato il contenuto apposito (testo, immagini e così via) per ogni collegamento. Vengono utilizzati diversi tipi di collegamenti per fare riferimento al contenuto di destinazione nelle applicazioni basate sul Web, ad esempio i segnalibri, i collegamenti ipertestuali ad altro contenuto di destinazione (nello stesso sito Web o in uno differente) o le aree sensibili. Occorre verificare ogni collegamento per accertarsi che all'utente venga presentato il contenuto di destinazione corretto.
  • Verifica che non sia presente alcun collegamento danneggiato. I collegamenti danneggiati sono quelli per cui non è possibile rilevare il contenuto di destinazione. E' possibile che i collegamenti siano danneggiati per diverse ragioni, tra cui lo spostamento, la rimozione o la ridenominazione dei file del contenuto di destinazione. Tra gli altri motivi di interruzione di un collegamento vi è l'uso improprio della sintassi, ad esempio la mancanza di lettere, due punti o barre.
  • Verifica che non esista alcun contenuto isolato. Nel contenuto isolato rientrano i file per cui non esiste alcun collegamento "in entrata" nel sito Web corrente; ossia, non esiste alcun modo per accedere o presentare il contenuto. Prestare attenzione durante l'analisi del contenuto isolato per determinare la causa:
    • E' isolato perché non è effettivamente più necessario?
    • E' isolato a causa di un collegamento danneggiato?
    • O si accede ad esso tramite un collegamento esterno al sito Web corrente?

Una volta determinata, occorre eseguire l'azione apposita, ad esempio la rimozione del file del contenuto, la correzione del collegamento danneggiato o la mancata considerazione dell'elemento isolato, rispettivamente.