> Il giorno 10 mar 2016, alle ore 14:58, enrico franchi 
> <enrico.fran...@gmail.com> ha scritto:
> 
> 
> 
> 2016-03-10 1:34 GMT+00:00 Marco Beri <marcob...@gmail.com>:
> 2016-03-09 23:53 GMT+01:00 Giovanni Porcari <giovanni.porc...@softwell.it>:
> Comunque i bachi più insidiosi, purtroppo non li scovi con i test.
> 
> Giovanni, e' una posizione complicata e rischiosa. Cioe', oggettivamente, 
> siamo tutti adulti (chi piu' chi meno) e si puo' ammettere che effettivamente 
> ci sono bachi che fai fatica a scovare con i test. Possiamo anche dire che 
> meno il codice e' testabile e piu' e' facile che suddetti bachi esistano. 
> 
> Pero' mettere "in avanti" questa affermazione porta problemi. E' *diverso* 
> avere il baco, vedere il servizio crollare come un castello di carte, fare 
> root cause analysis, trovare di conseguenza il problema e a quel punto, 
> quando ci si va a chiedere cosa si sarebbe potuto fare per evitarlo (ovvero 
> cosa si fara' perche' non si ripresenti) constatare che si, quel baco era 
> talmente complicato da scovare con i test che di fatto "non si sarebbe potuto 
> fare di meglio" e che l'unica cosa che si puo' fare e' mettere a sto punto 
> dei regression test. A me verrebbe pure da aggiungere che bisognerebbe 
> riflettere sul perche' quel codice contiene bachi insidiosi che non acchiappi 
> con i test (nota, non sto parlando di genro, sono in astratto).
> 
> Ma mettere *a priori* l'affermazione "comunque i bachi piu' insidiosi non li 
> scopri con i test" e' un po' un blanket statement che si legge come: i test 
> non servono davvero troppo, quindi inutile spendere il costo di scriverli.
>   
> Non è che i test ti fanno scoprire i bachi.
> 
> Si, i test ti fanno anche scoprire i bachi. Fare test come si deve *prima* di 
> andare in produzione tipicamente acchiappa un mucchio di bachi. Fare 
> integration testing ne acchiappa altri. Ehi... perfino fare load testing 
> acchiappa "bachi" (ok, tecnicamente non sono bachi, ma sono sempre cose che 
> fanno svegliare la notte e fanno incazzare gli utenti.
>  
> I test ti garantiscono le non regressioni (e già questo li rende 
> irrinunciabili).
> 
> +1
>  
> Poi, quando scovi un baco, la prima cosa da fare è scrivere un test che lo 
> evidenzi. Solo dopo lo correggi (e te ne accorgi quando passa il test che lo 
> evidenziava).
> 
> +1
>  
> Così è più faticoso che fixare subito il baco? Certo. Ma a tendere è più 
> conveniente? Più certo ancora.
> 
> Anche perche' se no che faccio... prendo il codice che *credo* fixi il baco e 
> lo metto in produzione? E poi scopro che non fixa un accidenti? O che magari 
> non ho capito il baco? E che magari il fix in realta' oltre fixare un baco 
> introduce un problema? No TY.
> 
>  
> Dici che c'è del  codice non si può testare?
> Chiedi a Valentino, lui ti direbbe che non esiste codice siffatto :-)
> 
> No no... esiste: si chiama codice scritto ammerda. E' una proprieta' 
> assolutamente cross-platform e cross-linguaggio.
> Aggiungo... secondo me c'e' piu' codice scritto ammerda che codice scritto 
> ammodo. 
>  
> C'è chi sostiene che un bug è in realtà un test non scritto.
> 
> Non troppo lontana dalla realta'. 
> 


Si. Tutto vero.  Tutto sacrosanto. Tutto giusto.

Però come dicevo in un'altra mail è un problema di risorse che puoi avere e non 
avere
e le compatibilità economiche non sono meno importanti di quelle tecniche.
Non posso parlare per altri ma solo per me. Lavoro in questo ambito da più di 
40 anni
e non ho mai infilato in produzione dei bachi che non fossero 'cosmetici'. 

Che poi questo dipenda da fortuna, capacità, senso di responsabilità o 
attenzione non lo so.

Forse il rovescio della medaglia è che se ti convinci che i test comunque ti 
parano il culo
tendi a lavorare con il medesimo.
Un po' come l'acrobata che cammina sul filo senza la rete sotto: o sta attento 
o è un uomo morto.

Io non dico che avere un'ottima copertura dei test sia sbagliato anzi, è una 
cosa meravigliosa.
Dico solo che io, purtroppo, non me la posso permettere :)

Se questo significa lavorare ammerda pazienza. Per ora con questa 'ammerda' ho 
mangiato e 
non ho mai messo in difficoltà i miei clienti :)


Buona giornata :)

G


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a