¿Qué tienen en común las pruebas de software bien hechas?
Cuando un proyecto empieza a tener cierta envergadura, hacer que esos últimos cambios no pongan en peligro el buen funcionamiento del sistema se convierte en una prioridad. En aplicaciones complejas, las pruebas manuales tras cada nueva compilación se convertirían en una tarea que ocuparía demasiado tiempo. Y he aquí donde se aprecian las virtudes de las pruebas de software automatizadas.
Cada vez que se compila una nueva versión del programa, se ejecutan todas las baterías de pruebas automatizadas. Cuando todos los indicadores aparecen en verde, es cuando podemos respirar con traquilidad, felicitarnos unos a otros, y seguir adelante.
Sin embargo, las mejores pruebas de software no son aquellas que acaban con todos los indicadores en verde. Las pruebas que son realmente reveladoras son las que acaban con errores marcados en rojo. Porque es un hecho probado que toda aplicación software de cierto tamaño tendrá bugs. Las buenas pruebas son las que encuentran dichos errores.
Recuerdo con bastante claridad un par de situaciones específicas en que una prueba que diseñé se “quejó” tras compilar un conjunto de mejoras, que involucraban módulos compilados por mí o por mis compañeros. Al principio, no estaba claro qué hizo fallar dichas pruebas, e incluso en una de las situaciones tuvimos que llevar a cabo una reunión adicional con el cliente final para poder aclarar algunos puntos específicos. Y lo bueno es que gracias a esto, detectamos, encontramos y resolvimos el problema.
Esta seguridad que acompaña al despliegue de cada nueva versión, y esta comprensión de cómo debe funcionar la aplicación, no hubieran sido posibles si no hubieramos dispuesto de nuestros sistemas de pruebas. Y eso es lo que hace que las pruebas de software sean tan importantes.
Experiencia programando pruebas de software
He estado a cargo de crear las baterías de pruebas automatizadas principales en un par de proyectos de cierta envergadura, y siempre me aseguro de que todo proyecto de cierta duración y tamaño venga acompañado con una batería de pruebas bien completa.
La mayor parte de mis pruebas de software han sido creadas usando los módulos de JUnit y PHPUnit.
Estoy acostumbrado a encontrar – y arreglar– bugs de software en lenguajes de programación diversos, y en sistemas de naturalezas my distintas. También suelo resolver los informes de error enviados por mis clientes y usuarios finales, proporcionándoles soporte adecuado. Además, en mis aplicaciones también realizo pruebas de uso de la interfaz, y para aplicaciones web, pruebas de compatibilidad en múltiples navegadores.
¿Quiere estar seguro de que su aplicación funcione como debería – y de que siga funcionando así con cada nueva versión? Si necesita a alguien para que programe pruebas de software para su aplicación, entonces podemos trabajar juntos.