TESTEAME LOS OO

TESTEAME LOS 👀

Ya hemos hablado un poco del testing en nuestra entrada de V&V, que como siempre aquí te dejo el link en la descripción, pero en esta ocasión nos enfocaremos en el testing hacía uno de los más huevos de oro en la programación, me refiero a la programación orientada a objetos, el gran favorito de muchos.

Mucha charla y todo, pero mejor me apuro porque ya tengo que entregar esto jeje. No lo olviden visitar a nuestro patrocinador Landinfy, las mejores páginas web para PyMES.

OO

Solo para que quede todo claro y por si vives debajo de una piedra, vamos a recordar a qué nos referimos con programación orientada a objetos. Sí, efectivamente, usaremos nuestra biblioteca pública #1, la Wikipedia, donde lo definen como el paradigma de programación que innova la forma de obtener resultados, ya que los objetos manipulan los objetos de entrada para obtener un resultado a la salida, donde cada objeto ofrece una funcionalidad.

Estos de Wiki, siempre metiendo choro, básicamente usamos objetos y sus interacciones para diseñar nuestros programas, basándose en técnicas como la herencia, abstracción, polimorfismo y encapsulamiento.

Bueno ya nos quitamos ese peso de encima ahora pasemos a ver que rollo con el pollo con el testeo de este paradigma.

¿Cómo voy a probar mis 👀?

Siendo un paradigma distinto a lo estructurado la manera de poder probar lo OO puede llegar a ser más sencillo de ver, no nos vamos a matar la cabeza ya que este se puede dividir en tres pasos, para evitar las pruebas de fuerza bruta.

Los tres pasitos para testear son los siguientes:

  • Testeo de clases
  • Testeo de inter-clases
  • Testeo de sistema

Veamos parte por parte:

TESTING DE CLASES

La forma de poder organizar nuestro OO es siempre por medio de clases las cuales son las que dan estructura a los objetos.

Entonces cuando nos referimos a testear las clases es porque vamos a buscar cualquier tipo de error o bug el cual haga que la estructura del objeto que nosotros queremos no sea el esperado.

Tendremos que ver cada aspecto de nuestra clase, tanto los atributos, los métodos o las interfaces.

TESTING DE INTER-CLASES

Ya hemos revisado nuestras clases, estan bug free pero ahora debemos ver que ocurre cuando estas interactúan entre sí, porque es estas interacciones son la clave de la OOP y si hay falla en estas nuestro programa no funcionará como debería.

Entonces lo que trataremos de revisar aquí es la integridad de nuestro programa, veamos que el comportamiento que ocurre entre nuestras clases sea el correcto y el esperado.

TESTING DE SISTEMA

Ya hemos pasado por cada clase, ya hemos visto que no explote cuando estas interactúan por lo que ya hay integridad, poliformismo y todo esto en lo que se basa la OO, ahora toca ver que realmente nuestro programa está haciendo lo que queremos.

Aquí no estamos tan perdidos ya que como hemos visto antes la mejor forma de verificar que se cumpla lo esperado es revisar nuestros requerimientos anteriormente.

Y aquí también podemos hacer nuestras pruebas con observación y controladas, o simplemente hacer pruebas de caja negra, gris o blanca.

Conclusión

La gran diferencia al momento de testear Orientado a Objetos es que tendremos que ir testeando desde la estructura de nuestro objeto, sus interacciones y por ultimo ahora si saber si es lo que se esperaba. Por lo que podemos decir que así como este paradigma se enfoca en objetos nuestro testeo debe ser de igual forma, no podemos hacer un castillo sin haber creado nuestro primer ladrillo.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Crea tu página web en WordPress.com
Empieza ahora
A %d blogueros les gusta esto: