La verifica a livello di metodo controlla le diverse condizioni definite nel codice di un metodo in isolamento da altri metodi, consentendo di verificare ciascun metodo individualmente. Lo scopo è generalmente quello di garantire che il metodo elabori correttamente tutti i possibili input. È possibile utilizzare il modello di verifica a livello di metodo che viene fornito a tal scopo. La verifica a livello di metodo è spesso un primo passo necessario per la verifica a livello di classe.
Se il codice non è stato scritto e si desidera seguire un approccio di progettazione che prevede prima di tutto la verifica, è necessario almeno definire la firma del metodo prima di generare la verifica.
Tutti i parametri e i valori di ritorno del metodo vengono automaticamente identificati come input o output previsti nella tabella dati di verifica. I parametri d'ambiente come le variabili globali o gli attributi della classe possono anche essere considerati parametri di input o di output ma non compaiono automaticamente nella tabella dati di verifica. Per verificare le variabili e gli attributi è possibile aggiungere i punti di inizializzazione prima della chiamata del metodo sottoposto a verifica e aggiungere delle azioni di convalida dopo la chiamata del metodo sottoposto a verifica.
Se è necessario richiamare i metodi per porre il componente sottoposto a verifica in uno stato particolare prima di richiamare il metodo di cui si effettua la verifica, è possibile aggiungere chiamate di metodo allo script del comportamento della verifica.
Ad esempio, si desidera verificare il funzionamento del metodo pop() su uno stack, cioè, rimuovere un elemento dalla parte superiore dello stack. Tuttavia, per rimuovere qualcosa è necessario innanzitutto aggiungere qualcosa allo stack. Quindi, spesso è necessario richiamare dei metodi per soddisfare le precondizioni prima di richiamare il metodo sottoposto a verifica.
Eseguire la verifica per accertarsi che tutto funzioni correttamente. Nel caso in cui vengano segnalati errori, utilizzare l'utilità di Comparazione dati di verifica per interpretare i risultati della verifica. Se anche in questo modo non si riescono a interpretare i risultati, utilizzare il debugger. Continuare l'esecuzione della verifica fino alla fine.
Dopo aver definito una verifica con valori di parametro semplici, è importante arricchire la verifica con ulteriori dati nel campo dei valori possibili. Un modo efficace per definire i valori di verifica è effettuare la partizione dei dati su tutti i parametri che sono stati identificati. Sulla base di questa partizione dei dati, utilizzare la tabella dati di verifica per creare tanti insiemi di dati quanti se ne reputano necessari.
È possibile inoltre aumentare la copertura della verifica includendo insiemi e intervalli di valori. Bisogna tuttavia tenere in conto che ciascun valore definito in un insieme di dati è considerato come una verifica individuale, quindi aumentando il numero di verifiche individuali si incrementa anche il tempo di esecuzione.
È possibile che esistano ancora differenze tra i valori previsti che sono stati definiti e i valori effettivi osservati. Queste potrebbero essere il risultato di input inappropriati, di output inappropriati o di un difetto nel componente sottoposto a verifica. Per la risoluzione dei problemi, utilizzare il debugger e la vista Esplora verifiche.
Per valutare la copertura della verifica, andare alla vista Copertura nella prospettiva Creazione profili e creare il profilo della verifica che è stata appena definita. Se sono state coperte meno del 100% delle righe, tentare di espandere l'intervallo di dati che si sta coprendo aggiungendo dei nuovi insiemi di dati o definendo una nuova verifica. Nella Guida in linea è possibile reperire dettagli sul controllo della copertura del codice.
Per decidere quali insiemi di dati aggiungere, identificare le righe di codice che non sono coperte. Di solito tali righe sono correlate alle scelte all'interno del codice, ad esempio alle istruzioni if. Molto spesso, poiché la condizione viene sempre valutata falsa, il blocco di codice che segue la scelta non viene coperto. Per coprire questo blocco di codice, identificare i valori del parametro a destra e aggiungere un insieme di dati con quei valori.
Concetti correlati
Strategie di verifica
Sottosistemi Java
Tecniche di verifica basate sullo stato
Attività correlate
Verifica delle classi Java