El rincón de las lamias

Mi blog personal

Automatización de pruebas en los desarrollos de software.

Al software le cuesta mucho aparecer, pero una vez que aparece es muy difícil que desaparezca… Por ello es mejor no tener software que tener un mal software.

Pienso que los equipos de desarrollo de software tienen que cambiar el chip, y preocuparse mas por el desarrollo y automatización de las pruebas.

Normalmente se tiende a no desarrollar test de pruebas porque tenemos la idea de que nos hace perder el tiempo. “Ademas de desarrollar la aplicación tengo que programar las pruebas!!!! no me da el tiempo para todo…” Y nos conformamos con unas pruebas de humo que no son ni mucho menos suficientes.

Es importante automatizar las pruebas. Todo código importante en una aplicación debería tener sus pruebas desarrolladas. Una vez que tienes el test de prueba se pasa automáticamente cada vez que se modifique el código que cubre esa prueba, asegurándote que todas las lineas de código funcionan correctamente. No seria la primera vez que por arreglar un caso deja de funcionar otro. En estos casos no nos damos cuenta hasta que no nos explota en la cara en la peor situación, a falta de un día de entrega o delante del cliente…

Automatizar la integración de todos los módulos que componen una aplicación es otro paso importante. En un equipo trabajan diferentes personas desarrollando código. Todo ese código hay que integrarlo y es importante ir integrándolo según se desarrolla y de forma automática. Así nos damos cuenta rápidamente si un cambio en un modulo afecta a que otro modulo deje de funcionar, sin tener que ejecutar la aplicación y probar todos los casos hasta que lleguemos al que no funciona… Es mucho el tiempo que deberíamos invertir en ir haciendo estas pruebas. Esto hace que no las hagamos porque no tenemos ese tiempo.Si se hace de manera automática una vez se desarrollan las pruebas se pasan automáticamente sin perder tiempo y ganando en calidad.

Las pruebas funcionales también se pueden automatizar, y es importante porque se gana tiempo y calidad como en los otros casos.

A la hora de enfocar las pruebas, nos es necesario que desarrollemos test de prueba de todo lo que desarrollemos, hay que encontrar un equilibrio, en aplicaciones grandes es imposible generar test de cada linea de código. Hay que saber diferenciar lo que es importante y hay que probar y lo que no.

En mi empresa, en la retrospectiva anual todas las personas del equipo nos hemos dado cuenta que es importante que aumentemos la calidad de los productos. No es una empresa de las grandes, no pasamos de 100 personas. Esto implica que no podemos tener a un equipo de personas especializadas en testeo de software, que sería lo ideal…Pero si vamos a aumentar nuestra calidad, o por lo menos lo vamos a intentar.

Vamos a desarrollar y automatizar las  pruebas unitarias, de integración y funcionales. O ese es nuestro objetivo :D

Hay un montón de herramientas que nos ayudan a conseguir esta calidad. Como somos equipos que desarrollamos en java, usaremos Junit para las pruebas unitarias, Cobertura para controlar que grado de código esta cubierto por las pruebas, Selenium para las pruebas funcionales, y ya tenemos preparado el servidor de integración.

Ya os contaré que tal nos amoldamos a este nuevo enfoque de desarrollo. Seguro que conseguimos buenos resultados!!!

25 Enero 2009 Publicado por lamia | Informatica | 1 comentario

1 Comentario »

  1. Pues si, vamos a conseguir hacer un buen trabajo y de calidad! (importante). Estamos consiguiendo entregar funcionalidad convencidos de que está bien y eso es importante, que los que ya tenemos años a cuestas, sabemos que no siempre hubiesemos puesto la mano en el fuego por lo que estabamos entregando.
    Seguro que conseguimos buenos resultados, ;) eso ni dudarlo! ;)

    Comentario por Jessi | 31 Mayo 2009

Deje un comentario