Bueno, ahora que me decis que tenes el control de codigo fuente en tu
maquina, ya estamos en el horno :-)
 
Enumero algunas ventajas que se me ocurren ahora (si alguno quiere agregar,
adelante):
 
- Compilas en un entorno mas "limpio", en otras palabras, mas parecido al
entorno de produccion.
- Si haces deploy, podes imponer condiciones mas restrictivas de seguridad,
incluso en sistemas operativos mas apropiados, por ejemplo Windows 2000 o
2003 o 2008, suponiendo que tenes tu maquina de desarrollo en Windows XP.
- Al ser una maquina dedicada, es mas facil hacer backups, es decir,
identificar correctamente cual es la informacion que debe resguardarse.
- No interrumpis la prueba cada vez que vos tengas que reiniciar.
- El build no afecta con tu trabajo (esto es lo que te pasa ahora)
- Podes correr pruebas de integracion, de velocidad con datos reales, etc.
- Te aseguras que los scripts de deploy, de actualizacion de la base de
datos funcionan realmente bien, cosa que no podes hacer sobre la base de
datos en la cual hiciste los cambios manualmente.
 
En fin, un monton de pequeñas ventajas y algunas no tan pequeñas que pueden
evitarse por el costo relativamente bajo de una PC clon con 2 GB de RAM.
 
Un abrazo
 
Carlos Peix

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego
Jancic
Enviado el: Jueves, 08 de Mayo de 2008 09:37 a.m.
Para: [email protected]
Asunto: [puntonet] Memoria NUnit y TDD


Si, esta en mi maquina... :)
El tema es que ahora no tengo no otra maquina... voy a ver si consigo una.
Con el tema de "las debilidades de ese enfoque", si no te molestaria
decirmelas te agradeceria... La unica ventaja que veo es que se puede hacer
un poco mejor testing, y con eso hasta ahora no tuvimos problemas..
 
Gracias ;)
Diego


2008/5/8 Carlos Peix <[EMAIL PROTECTED]>:


Hola Diego,
 
No abundare sobre las debilidades que tiene ese enfoque, ya nos pusimos de
acuerdo en eso :-), una pregunta, el server de control de codigo fuente lo
tenes en tu maquina tambien? Eso seria mas raro todavia, caso contrario,
podrias poner en ese mismo server el CC.NET <http://cc.net/> .
 
Ideas nomas
 
Carlos Peix

  _____  


De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego
Jancic

Enviado el: Miércoles, 07 de Mayo de 2008 07:58 p.m. 

Para: [email protected]
Asunto: [puntonet] Memoria NUnit y TDD



Tema complicado… la verdad que tenes razón (supongo, nunca hice lo que
decis), pero en realidad el ambiente de desarrollo no lo justifica creo,
pero creo que siendo una aplicación web en la que hacemos un release cada
varios meses no es importante… 

Para las versiones de prueba interna se está incluso usando la misma PC (la
mia funciona como server y como maquina de desarrollo J), y la verdad que no
tuvimos nunca problemas. Además actualmente la cantidad de usuarios en
producción es muy poca y están como beta-testers, asi que tampoco es algo
tan relevante. (en julio-agosto-septiembre se espera un incremento
importante)

No se… me da la impresión que no justifica el gasto de una nueva pc para
eso, posiblemente cuando tenga mas usuarios tenga que hacer lo que decis…

 

Gracias!,
Diego

 

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Carlos
Peix 


Sent: Miércoles, 07 de Mayo de 2008 06:33 p.m.
To: [email protected]

Subject: [puntonet] Memoria NUnit y TDD 





 

Ermmm, el CC.NET <http://cc.net/>  en la maquina de desarrollo?

 

Si esta es tu situacion creo que te estas perdiendo unas cuantas ventajas de
las pruebas de integracion (entre otras, asegurarte de que la aplicacion
compila fuera de la maquina del desarrollador). No podes solicitar un server
para el CC.NET <http://cc.net/> ? hasta puede ser un clon y podria servirte
para que la gente de testing pruebe.

 

Carlos Peix

 


  _____  


De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego
Jancic
Enviado el: Miércoles, 07 de Mayo de 2008 04:40 p.m.
Para: [email protected]
Asunto: [puntonet] Memoria NUnit y TDD

Si.. eso es lo que hago... solo los corro antes del commit y con CCNET, pero
el problema es cuando los corre CCNET me obliga a cerrar el visual studio
para evitar OutOfMemoryException (y mi maquina tiene 2gb ahora) :(

 

En fin, era para preguntar nada mas porque me molesta eso... no es algo
realmente critico. 

Saludos a todos!,

Diego

On Wed, May 7, 2008 at 4:25 PM, Carlos Peix <[EMAIL PROTECTED]>
wrote:

Si con "categoria" te referis a namespace, si, ya esta hecho. En vez de
hacer muchas dlls lo que yo hice fue una dll con carpetas. Igual me preocupa
lo que decis del mantenimiento, prefiero otra solucion (Si la hay...)

 

[Carlos] Nopes, las categorias de NUnit, el tag Category que podes ponerle a
un test o un test fixture.

 

Otra cosa, siempre tenes que correr los 250 tests?, no podes correrlos
solamente antes de un commit o dejar que lo haga el CC.NET <http://cc.net/>
?

 

Carlos Peix

 


  _____  


De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego
Jancic

Enviado el: Miércoles, 07 de Mayo de 2008 03:31 p.m. 


Para: [email protected]
Asunto: [puntonet] Memoria NUnit y TDD

 

2008/5/7 Carlos Peix <[EMAIL PROTECTED]>: 

 

Hola Diego,

 

Mucho cuidado con poner en GC.Collect(), sobre todo en el teardown del test,
podes lograr el efecto contrario debido a que pases los objetos de una
generacion de recoleccion a la siguiente. Habria que ver si los objetos en
memoria estan fuera de scope antes de hacer eso, porque si estan dentro de
scope haces macanas seguro.

 

 

Si.. se los problemas que puede traer, de todas formas lo acabo de intentar
y no cambio nada... (volvi a como estaba antes) 

 

Yo buscaria mas bien cuestiones de manejo de sesion de NH o trataria de ver
si NUnit tiene algun tipo de configuracion disponible para limitar la
cantidad de tests que se corren en paralelo.

 

Me fijo.. 

 

 

Otra opcion es que uses otro runner para correr los tests, MBUnit por
ejemplo, seguro que hay varios. Esto tiene la ventaja adicional de que estas
corriendo los tests en otra plataforma (ademas de NUnit y el test runner de
R#)

 

Lo pense, de hecho ahora estoy viendo de usar MBUnit, pero tengo que ver si
funciona todo y esta soportado por R#... vere si migro...

 

 

Otra opcion es marcar los tests por categoria (seguramente ya lo has hecho)
y correr varias veces el NUnit, una para cada categoria, sin embargo podes
meter la pata con el mantenimiento en este caso porque cuando agregues una
categoria deberias ajustar el archivo de NAnt.

 

Si con "categoria" te referis a namespace, si, ya esta hecho. En vez de
hacer muchas dlls lo que yo hice fue una dll con carpetas. Igual me preocupa
lo que decis del mantenimiento, prefiero otra solucion (Si la hay...)

 

Contanos como te fue.

 

Mal hasta ahora ;-)

 

 

Carlos Peix

 

Saludos!

 


Responder a