Altifigence Academy

25 / 37 · Concetto

Piano di verifica, coverage e riferimenti indipendenti

Distinguere test superati e specifica soddisfatta collegando confini, incroci e controesempi.

Il piano trasforma la specifica in affermazioni verificabili

Sostituite «funziona bene» con stato dopo reset, uscite normali, mantenimento allo stop, gestione degli ingressi vietati e istante di completamento. Collegate ogni affermazione ad almeno un test e un'osservazione per trovare le lacune.

AffermazioneStimoloOsservazione
Priorità resetreset ed enable insieme a 1Stato successivo iniziale
Ordine dei dati preservatoSchemi asimmetrici consecutiviOgni uscita e valid
Ritorno esatto al limitePrima e dopo il massimoM−1→0, nessun fuori campo
Mantenimento allo stopIngressi cambiano, accept=0Stato invariato
Pattern sovrapposti10101Rilevazione al terzo e quinto bit accettato

Perché serve un riferimento indipendente

Copiare gli stessi sliceSlice Selezione di un intervallo contiguo del vettore, che determina larghezza e ordine del risultato. Approfondisci del registro può copiare anche l'errore d'indice. Forme alternative, come moltiplicazione/modulo interi o confronto del suffisso di una stringa, aiutano la verifica reciproca. Una forma diversa però non dimostra da sola indipendenza: controllate piccoli casi a mano.

Coverage non significa numero di test superati

Righe eseguite non equivalgono a casi funzionali verificati. Incroci reset×enable, state×input e full×push×pop possono rivelare difetti. Aggiungete test mirati per combinazioni rare e importanti, senza affidarvi solo al caso.

Un circuito combinatorio con N ingressi ammette 2N2^N casi esaustivi; uno sequenziale comprende anche sequenze temporali. Analizzate raggiungibilità e invariantiInvariante Condizione sempre vera in ogni esecuzione ammessa. Una FIFO profonda quattro contiene, per esempio, sempre da zero a quattro elementi. su ogni transizione. Simulazioni finite superate non sono una prova matematica per tempo illimitato.

Ricavate gli attesi indipendentemente dalla specifica. Quando fallisce un test, conservate anche ingressi e stato precedenti, non solo il valore reale.

Quattro punti di osservazione della verifica
  1. Specifica e stimoli: Scegliere condizioni limite e incrociate
  2. Modello di riferimento indipendente: Calcolare valore atteso e istante di validità
  3. Confrontare con il DUT: Confrontare allo stesso istante di osservazione
  4. Registrare la prima discordanza: Conservare controesempio minimo e seed

Ridurre e registrare il guasto

Conservate stato, ingresso, atteso e reale della prima discordanza. Eliminate stimoli superflui fino al controesempio minimo, poi correggete. Oltre al test modificato rieseguite come regressione le verifiche esistenti di confine e resetReset Controllo che riporta allo stato iniziale specificato. Occorre definirne sincronicità e priorità rispetto agli altri controlli. Approfondisci.

Prova tu

Coverage RTL 100% e 10.000 test casuali superati, ma mai reset=enable=1. Cosa manca?

Leggi la spiegazione

Controllate l’incrocio nella specifica e aggiungete un test mirato da stato iniziale non nullo che mostri la priorità. Coverage del codice e numero di test non sostituiscono la verifica di quel requisito.

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.