Desarrollo de software. Ron Jeffries. No hay que automatizar todos los tests

La automatización del testing permite ahorrar importantes esfuerzos tanto para el equipo de programación como para los testers. Ahora bien, ¿dónde está el límite?, ¿conviene automatizar todo?.

Sobre esto habrá opiniones de todo tipo. La mía va muy en la línea de la que describe Ron Jeffries en la siguiente cita: “La automatización en el testing es algo bueno, eso es seguro. Pero no podemos y no deberíamos automatizarlo todo. Entonces, ¿por qué pedimos a los equipos que automaticen todos los tests?”.

Automatizarlo todo tiene un coste y además, teniendo en cuenta que el desarrollo de software es evolutivo, en cada evolución necesitaríamos de nuevo realizar ajustes en los tests automatizados. Además, el coste de automatizar la comprobación del funcionamiento de determinadas funcionalidades puede ser excesivo en sí o puesto en una balanza con los beneficios que se obtienen con dicha automatización.

¿Por qué se pide la automatización de todo? Pues porque no se evalúa la dificultad y esfuerzo que tiene realizar esa tarea. Es importante automatizar tests pero sabiendo elegir las áreas del código y del sistema de información donde se puede obtener el mayor aprovechamiento de los mismos (por su impacto y por el esfuerzo que requeriría una verificación manual) con el menos coste posible (elegir bien no es trivial).

Anuncios
1 comentario
  1. Puede que sí, puede que no. Es como comentar…¿hay que comentarlo todo? Todo no, existe una pequeña aldea en la Galia…
    Yo creo que es una buena práctica hacer pruebas (unitarias y funcionales). Lo mejor de todo, es que una vez que te acostumbras a hacerlo, lo ves fundamental. Pero los test funcionales no quitan el problema de raiz.
    El principal problema en los tests funcionales es que es caso de prueba sea lo que el cliente quiere. Vamos, que la aplicación haga lo que el cliente quiere. Si esa información no fluye, los test no fallarán, pero no tendrán lo que el usuario/cliente demanda.

    Pero aún así, si un producto no va cambiar o evolucionar, ¿es necesario invetir tiempo en la automatización de pruebas? Es algo a valorar por todos, ya que puede hacer aumentar los costes un 10%-20%. Eso sí, si se quiere utilizar agilidad, es más que necesario este uso, ya que es única forma de garantizar que los cambios no afectan al resto…

Responder

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 )

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 )

Google+ photo

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

Conectando a %s

A %d blogueros les gusta esto: