Unit testing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Vantaggi: Aggiunta una spiegazione ai fini del test unitario per la comprensione |
→Collegamenti esterni: Aggiunto il template "Portale" Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android |
||
(9 versioni intermedie di 7 utenti non mostrate) | |||
Riga 1:
{{F|informatica|gennaio 2024}}
In [[ingegneria del software]], per '''unit testing''' ('''testing d'unità''' o '''testing unitario'''<ref name="glossario">[http://www.analisi-disegno.com/testing/glossario-testing/ Glossario sul software testing]</ref>) si intende l'attività di ''testing''<ref>Nella terminologia inglese, diffusa anche nella letteratura italiana ma non sempre adottata in modo coerente, la parola ''testing'' indica l'attività di prova nel suo insieme; una singola prova viene chiamata ''test''.</ref> (prova, collaudo) di singole unità [[software]]. Per unità si intende normalmente il minimo componente di un [[programma (informatica)|programma]] dotato di funzionamento autonomo; a seconda del [[paradigma di programmazione]] o [[linguaggio di programmazione]], questo può corrispondere per esempio a una singola [[funzione (informatica)|funzione]] nella [[programmazione procedurale]], o una singola [[classe (informatica)|classe]] o un singolo [[metodo (programmazione)|metodo]] nella [[programmazione a oggetti]].▼
▲In [[ingegneria del software]], per '''''unit testing'''
Lo ''unit testing'' viene normalmente eseguito dagli [[Sviluppatore software|sviluppatori]], e può essere occasionalmente [[glass box testing|glass box]], ovvero essere esplicitamente basato sulla conoscenza dell'architettura e del funzionamento interno di un componente oltre che sulle sue funzionalità esternamente esposte.<ref name="glossario"/> Come le altre forme di testing, lo unit testing può variare da completamente "manuale" ad [[Automazione del collaudo del software|automatico]]. Specialmente nel caso dello unit testing automatico, lo sviluppo dei [[caso di test|test case]] (cioè delle singole procedure di test) può essere considerato parte integrante dell'attività di sviluppo (per esempio, nel caso dello [[test driven development|sviluppo guidato da test]]).▼
▲Lo ''unit testing'' viene normalmente eseguito dagli [[Sviluppatore software|sviluppatori]], e può essere occasionalmente [[
== Vantaggi ==
Lo scopo dello unit testing
===Semplifica le modifiche===
Line 37 ⟶ 39:
== Separazione dell'interfaccia dall'implementazione ==
Poiché alcune classi possono far riferimento ad altre, il test di una classe spesso si propaga alle altre. Un esempio è una classe che interagisce con
== Applicazioni ==
===Extreme Programming===
{{Vedi anche|Extreme programming}}
Lo unit testing è la parte fondamentale dell'''[[
L'Extreme Programming usa la creazione di unit test per lo
Tutte le classi sono testate in questo modo e lo sviluppatore rilascia il codice di test insieme al codice funzionale da esso testato. La XP, con uno unit testing approfondito, presenta tutti i benefici descritti sopra e i test sono utilizzati successivamente come test di regressione.
Line 58 ⟶ 61:
In un framework automatizzato lo sviluppatore codifica i casi da testare in modo che verifichino la correttezza del modulo e durante l'esecuzione venga riportato l'eventuale fallimento di ogni test. In alcuni casi di fallimento di test critici, l'intera procedura di test viene fermata.
La conseguenza dello unit testing è un approccio alla programmazione che favorisce la scrittura di codice in moduli indipendenti ed interoperanti, che a sua volta contribuisce, insieme ai ''[[
===Unit testing framework===
Line 73 ⟶ 76:
* [[Regression testing]]
* [[Software testing]]
* [[JUnit]]
==Collegamenti esterni==
* {{FOLDOC||unit testing}}
* {{cita web |1=http://www.xprogramming.com/testfram.htm |2=L'originale unit testing di Kent Beck per il framework(in inglese) |accesso=13 ottobre 2007 |urlarchivio=https://web.archive.org/web/20150315073817/http://www.xprogramming.com/testfram.htm# |dataarchivio=15 marzo 2015 |urlmorto=sì }}
* {{cita web|url=http://www.softdevarticles.com/modules/weblinks/viewcat.php?cid=34|titolo=Una lista di articoli sull'unit testing(in inglese)|accesso=13 ottobre 2007|urlarchivio=https://web.archive.org/web/20071013132751/http://softdevarticles.com/modules/weblinks/viewcat.php?cid=34|dataarchivio=13 ottobre 2007|urlmorto=sì}}
* {{cita web | 1 = http://shebanation.com/2007/08/21/a-brief-history-of-test-frameworks/ | 2 = La storia dell'unit testing per il framework di Andrew Shebanow(in inglese) | accesso = 13 ottobre 2007 | urlarchivio = https://web.archive.org/web/20071013141402/http://shebanation.com/2007/08/21/a-brief-history-of-test-frameworks/ | dataarchivio = 13 ottobre 2007 | urlmorto = sì }}
{{Portale|informatica|ingegneria}}
[[Categoria:Ingegneria del software]]
|