How do I apply Payday Loans But now, you have an extra

¿Qué es el código testeable?

codigo malicioso¿Qué es el código "testeable"? ¿Cómo saber si mi código es testable o no? En los equipos ágiles se habla mucho sobre asegurarse de construir código testable, pero ¿qué significa exactamente? John Boal nos ayuda a definir este concepto con más precisión.

Desarrollo guiado por pruebas (TDD)

Si estás usando TDD para escribir el código, el mismo resultará naturalmente testeable porque las pruebas llevaron a que exista ese código. Sin embargo, aún es posible que, con el tiempo, ocurran refactors que afecten la testeabilidad. Sin embargo no muy probable, porque todas las pruebas unitarias existentes deberían seguir pasando.

Dependencias

Si el código necesita de muchas dependencias externas que esencialmente necesitan ejecutar gran parte del sistema para probarlas, tenemos una clara señal de alerta para las pruebas. Tenemos que poder crear mocks de las dependencias y aislar nuestro código bajo test. Si no podemos hacer eso, el código no es testeable. Nuestras relaciones de dependencias deben ser razonables. Si algo huele mal acá, seguro que necesitamos trabajar para mejorar la testeabilidad.

Estados internos

Si existen muchos estados internos complejos sin interfaces para accederlos y manipularlos, entonces tenemos otro alerta indicando que el código no es testeable. Si existe mucha lógica interna y ocurren cosas basándose en estos estados, deberíamos poder crear pruebas unitarias de todo esto. Si no existe una prueba unitaria para cada cosa que ocurra internamente, entonces no es testeable. Nuevamente, si el código se escribe usando TDD esto no debería ser un problema.

Configuración

Si el código necesita gran cantidad de configuración para probarlo, otra vez tenemos un signo de alerta. Miremos el esfuerzo que nos lleva validar si una clase hace lo que tiene que hacer. Si el código de la prueba es más grande que el código principal, probablemente sea un signo que el código no es muy testeable. Las bases de datos suelen caer en este problema. Es probable que se tenga que escribir mucho código y datos que se necesitan para que la base de datos se encuentre en el estado correcto para ejercitar unos procedimientos. Esta es la clase de combinación de los conceptos de dependencias y estado interno, y creo que no es muy testeable.

La testeabilidad es una meta a alcanzar, nos ayuda a poder asegurar que el código funciona correctamente y es mantenible. Escribamos buenas pruebas unitarias. Verifiquemos la testeabilidad de las cosas pequeñas, y eso nos ayudará a mejorar la testabilidad del sistema general.

Traducido de Testable code, por John E. Boal.
Compartir
  • No se han encontrado comentarios

Deja tus comentarios

0

El nuevo Dos Ideas.

Nuevo logo, nuevo buscador, nueva portada, podcast mensual... ¡y muchas novedades más!

Más novedades en Dos Ideas

Los Comentarios.

Muy bueno, super claro y lo mejor funciona y deja super claro te felicito
jrg
me gustaría empezar a utilizar Zk, alguien puede decirme como configurar ZK en un proyecto simple.
Tihuilo
Soy nuevo en el desarrollo de software y he escuchado sobre el tema paro no se por donde iniciar, co...
abelastico1234
el paly station es mucho mejor que la psx tiene mas juegos ,mejores que los de la psx

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw