Buenas, perdon por la consulta sobre un texto que era para la semana pasada pero estoy poniendome al dia con las lecturas y me surgio una duda que creo que vale la pena compartir. En las guidelines de petroware se hace mencion de que se deben priorizar los "niveles mas bajos" cuando no se puede testear todo el codigo,o que una de las cosas mas valiosas de los tests unitarios es verificar y documentar requerimientos en un "bajo nivel". A que se refiere el autor cuando habla de "niveles mas bajos" del codigo?
Por lo menos cuando hablabamos en C, siempre que leia "a bajo nivel" tenia que ver con las cosas que hacemos a pico y pala y pueden traer errores, por ejemplo si armamos un vector nos moviamos con el indice y a "mas bajo nivel" nos moviamos por memoria.
Luego en Python se consideraba alto nivel porque todo es automatizado y si hablas ingles, practicamente es como hablar directamente con el computador.
Supongo que en el texto se referian a verificar ciertas cosas que uno como implementador del metodo conoce y quiere verificar que hace lo que esperabas, especialmente si creas tus propias clases de 0.
Hola Juan y Luis:
En este caso no se hace mención al "bajo" o "alto nivel" de un lenguaje de programación, sino que se habla del nivel de los componentes de un sistema.
Aquellos componentes que estén más cerca de la interacción con el usuario podemos decir que están a un nivel más alto que aquellos que no. Y esto no necesariamente está relacionado con qué tan lejos estemos en la capa de abstracciones de la computadora, pero sí con la forma en la que está modelada la solución.
Una forma de identificarlos es, por ejemplo, analizando las relaciones entre los objetos. Si hay un objeto A que es conocido por otro objeto B pero él no conoce a ningún otro, entonces podríamos decir que el objeto A está a un nivel más bajo en el modelo. Por lo tanto, las pruebas que se realicen sobre el objeto A serán más simples y rápidas, dado que no se depende de ningún otro objeto. Las pruebas de B, en cambio, serán más complicadas dado que B dependerá de A para poder responder de la manera esperada.
Esto está relacionado también con la pirámide de pruebas que se menciona en el artículo de Fontela.
Saludos,
Tomás