Facebook Google+


Pruebas Unitarias a la inversa
#1
[Imagen: 1482950993_5Eio3UbILZIxoJb.gif]

Unit test

Para poder escribir pruebas unitarias se requiere conocer exactamente que se espera de cada método pero revisando el código de un amigo que sabe bastante más que yo de cierto lenguaje de programación, me di cuenta de dos cosas:

- El código creo podía optimizarse (ok, era un prototipo, ya no jajaja)
- Podía dañarselo muy fácil ya que había cosas que realmente no comprendía totalmente.

Eso me llevo a pensar en un enfoque distinto pero que sea igualmente potente, la idea es el enfoque inverso al de las Unit Tests que va de lo Particular a lo General (la suma de pequeñas verificaciones, muchas por metodo)

La idea es hacer un framework que chequee las salidas del programa, se exporten con serializaciones los objetos y los pueda comparar con salidas de otras compilaciones y alertar si ocurrieron cambios en las salidas y donde se dieron esos cambios.

Bueno... es una idea cruda pero donde tenga tiempo la desarrolaré.

Que opinan ?
 
Reply
#2
Bueno por lo pronto no permitiría hacer Diseño Guiado por Pruebas o Test-driven development (TDD) pero la idea no deja de ser interesante.
 
Reply
#3
Pinta bien, pero creo que sería bastante complejo enfocarlo así, realmente no obtendrías pruebas unitarias sino más bien de funcionamiento general y a mi parecer eso mismo se podría conseguir con excepciones y un debug. Aunque la parte de comparación entre distintas pruebas sí que sería interesante.

Sobre el tema de pruebas unitarias, yo personalmente no suelo preparar las librerías para ello. Lo que sí hago es una clase para tests para probar los distintos métodos y acciones, ya que pienso que aplicando SOLID y abstracción no sería necesario hacer tests dentro de métodos tan pequeños que se encargan de una sola cosa, con testear el método sería suficiente. Aunque entiendo que esto es muy debatible xD
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#4
Estoy de acuerdo en todo, la verdad lo pensé para tocar un codigo de otro programador "funcionando" con sus datos de prueba e intentar hacer cambios aqui y alla sin alterarle el funcionamiento lo cual de todas formas no te lo garantiza ningun sistema de pruebas porque el universo posible de (entradas,salidas) es muchas veces infinito.
 
Reply
  


Salto de foro:


Browsing: 1 invitado(s)