Unit Test

Forum di discussioni su VB.Net (Visual Basic .Net)

Moderatore: Toki

Regole del forum
Leggi: IProgrammatori.it - Regolamento Forum
zorrox
Utente Junior
Messaggi: 19
Iscritto il: 19 mar 2014, 18:11

Unit Test

Messaggioda zorrox » 02 gen 2017, 00:15

Qualcuno può spiegarmi con parole semplici cosa è Unity Test e come si usa ?
Grazie
zorrox
Utente Junior
Messaggi: 19
Iscritto il: 19 mar 2014, 18:11

Re: Unit Test

Messaggioda zorrox » 03 gen 2017, 00:23

Ho visto qualcosa su google. Sono un autodidatta ed in età non più giovane (70 anni).
Mi sono sempre interessato di programmazione , ma alla vecchia maniera Assembler, Fortran, Cobol e basic.
Da un paio d’anni ho studiato V.B.Net per vedere se ero in grado di approcciare la programmazione ad oggetti.
Ho cosi riscritto alcune vecchie mie procedure gestionali in VB.
Ho sentito parlare di Unit Test per verificare il codice e volevo saperne un poco di più da qualcuno sicuramente più
preparato di me.
La domanda (scusami se è banale) è come mai con vb.2008 e vb.2010 col tasto destro del mouse sul nome del metodo non compare "Create Unit Test", forse le versioni scaricate gratis non lo permettono o ci vuole qualche riferimento al progetto o qualche altro motivo ?
Grazie anticipate per il tuo interessamento
Avatar utente
migliorabile
Utente Senior
Messaggi: 2453
Iscritto il: 05 apr 2013, 09:44

Re: Unit Test

Messaggioda migliorabile » 03 gen 2017, 05:13

Whella, un'altro che ha visto la NASCITA dell'informatica ;-)

Quindi tu DEVI conoscere la differenza tra Vero Programmatore e Magiatore di Ciocori' ;-)

Se non la conosci, leggi questi:

http://www.deltablog.it/il-vero-programmatore/
https://www.arcetri.astro.it/~comore/tr ... rammer.txt
(ci sono diverse varianti)

Sono dei classici ;-)

Tu ti puoi sicuramente fregiare dell'alta onorificenza di Vero Programmatore ;-)

Diciano che data la presenza di figli/nipotini, hai dovuto ammorbidirti (VB.NET) ;-)

Si, la possibilita' di creare un unit test e' una funzionalita' avanzata, disponibile solo sulle versioni a pagamento di Visual Studio.

Un Unit Test e' come avrai capito, semplicemente una funzioncina che CHIAMA un'altra funzione/metodo, passandogli dei parametri CONOSCIUTI e controlla se il risultato e' quello previsto, pensa, ad esempio, ad una funzione trigonometrica (seno, coseno, tangente).

Questa idea la puoi estendere a qualunque tipo di operazione: creazione di un file
1) il file non esiste
2) crei il file
3) il file DEVE esistere

Creazione di una struttura dati:
1) la struttura dati non esiste
2) crei la struttura dati
3) la struttura dati DEVE edistere ed avere ESATTAMENTE la forma che ti aspetti.

ecc ..

Dove sta' la comodita'?
In questo:

1) lo Unit Test e' una PROCEDURA SENZA PARAMETRI, quindi ha una signature standard
2) nell'implementazione del unit test, se la funzione/metodo non fa quello che ti aspetti, ti generi un'eccezione (errore), quindi il tuo Unit Test ha un comportamento standard.
L'errore non e' generato casaccio, ma deve essere un errore che SPECIFICA che cosa e' andato male.
La libreria per fare gli Unit Test mette a disposizione tutta una serie di eccezioni standard molto comode, in questo senso
2) esiste un'infrastruttura in grado di eseguire in automatico tutti gli unit test, e mostrarti lo stato di avanzamento (quali sono stati eseguiti, quale e' quello in esecuzione e quali sono ancora da eseguire), quali sono andati bene, quali sono falliti e perche'.

Concettualmente non c'e' nulla di nuovo: di questi test ne avrai scritti a milioni ;-)
La novita' sta' solo nel fatto che ora c'e' un framework/infrastruttura (integrata nell'IDE) che ti fa fare le cose in modo ordinato, e sfrutta questo ordine per dare a questi test un aspetto piu' gradevole (colori verdi e rosso, elenco dei Unit Test creato in automatico, possibilita' di rieseguire uno specifico Unit Test, pissibilita' di saltare direttamente al codice di un Unit Test, vedere l'eccezione che e' stata generata, ecc...)

Per trovare una versione a pagamento di Visual Studio, non e' particolarmente difficile ;-)

Oppure, puoi guardare qui:

https://www.nunit.org/

e provare l'Adapter per Visual Studio

Consiglio: abbandona VB.NET e passa a C#

E' un linguaggio di programmazione, ha una sua sintassi, ma alla fin fine ci fai le stesse cose che facevi con VB.NET.

Ti ci dovrai scornare per una settimana, al limite un mese, ma una volta fatto il passo, avri accesso una quantita' sterminata di nuove librerie che ti permettereanno di ballocarti anche con altri giocattoli decisamente carini: elaborazione di immagini, intelligenza artificiale, ecc... Nella maggior parte dei casi non serve essere un esperto, basta capire i concetti fondamentali (10 minuti!)

Oltre al fatto che per C# ci sono IDE gratuiti e tool che integrano la gestione degli Unit Test:
SharpDevelop + NUnit
JetBrains Raider + NUnit
zorrox
Utente Junior
Messaggi: 19
Iscritto il: 19 mar 2014, 18:11

Re: Unit Test

Messaggioda zorrox » 03 gen 2017, 12:57

Ti ringrazio per il tuo interessamento ma non volevo in alcun modo recarti tanto disturbo e mi
dispiace averti fatto perdere tanto tempo.
Si, hai ragione, non sono un vero programmatore ma solo un vecchio programmatore che ha iniziato a lavorare nel 1970 su IBM/370 (quando esistevano ancora le schede perforate).
La mia domanda è stata dettata solo dalla curiosità di voler capire come un programma potesse controllare un codice scritto.
Ho notato nella tua risposta una certa ironia, ma va bene lo stesso, ti ringrazio e ti saluto
Avatar utente
migliorabile
Utente Senior
Messaggi: 2453
Iscritto il: 05 apr 2013, 09:44

Re: Unit Test

Messaggioda migliorabile » 03 gen 2017, 13:44

Ironia, certo, ma guarda che sono un quasi tuo coetaneo ;-)

Vabbe', con qualche annetto di meno, ma mooolti di meno di quanti tu possa pensare ;-)

Mettiamola cosi': ho visto la morte delle schede perforate (fine anni '70, e le ho viste usare quando si andava in autostrada!!!!) e la nascita del C (1978)

Dalla TUA risposta deduco hai interpretato la MIA risposta nel modo opposto!

Invece voleva essere il ricordo di quando programmare voleva dire conoscere l'hardware fino nei suoi piu' piccoli segreti, al contrario dei giovinastri attuali che si spacciano per programmatori e sanno si e no far di conto ;-)
zorrox
Utente Junior
Messaggi: 19
Iscritto il: 19 mar 2014, 18:11

Re: Unit Test

Messaggioda zorrox » 03 gen 2017, 14:05

Allora scusami ho interpretato male, ciao

Torna a “VB.NET”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite