Testing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
=Definizione=
Il Testing è un metodo di [[Verifica|verifica]] nel quale si accerta la correttezza di un sistema esercitandolo e comparandone il funzionamento rispetto alle attese.
 
==Attività sottese al Testing==
;Test Case Selection: scelta dei Test Cases
;Sensitization: identificare gli input che portano ai Test Cases scelti
;Execution: creare stub, driver, log
;Oracle Verdict: il sistema verifica le attese?
;Debugging: tracciare ciascuna Failure su una o più Faults
;Coverage Analysis: Stimare il grado di copertura raggiunto rispetto alla complessità reale del sistema - ''Ci da un indicatore di confidenza sulla assenza di errori residui''
 
===Test Case Selection===
Occorre innanzi tutto domandarsi a quale livello di astrazione del sistema possiamo lavorare
*Codice Sorgente
*Codice Compilato
*Diagramma UML
 
Sono possibili inoltre diverse astrazioni rispetto ad altrettante prospettive che intendiamo investigare
;Funzionale: il sistema è visto come una ''BlackBox'' investigabile solo in termini di relazioni tra l'input immesso e l'output restituito. Viene testato facendo riferimento alla specifica dei requisiti.
;Strutturale: il sistema è visto come una ''WhiteBox'', ovvero si ha accesso, invece che alle relazioni di Ingresso/Uscita, al codice sorgente.
;Architetturale: il sistema è visto come una ''GreyBox'', ovvero si ha accesso all'aspetto Funzionale e alle principali relazioni funzionali interne.
 
===Sensitization===
 
===Execution===
 
===Oracle Verdict===
 
===Debugging===
 
===Coverage Analysis===