Creo que es cierto, que los programadores tenemos (aunque en estos momentos ciertamente programo poco), la mala costumbre de querer acabar cuánto antes los trabajos asignados,y pasar rápidamente página. Ésto, al fin y al cabo, significa que existe una clara tendencia a no probar todo lo bien que se debería, los desarrollos que realizamos. No se puede dejar en manos de los testeadores, toda la labor de encontrar los malos funcionamientos de nuestro trabajo. Es responsabilidad del programador la calidad del software implementado.
Pero considero que aquí se acaban los reproches sobre los programadores. Tengo totalmente claro que un programador es el primer interesado en realizar tests unitarios, si se dá pie a que su realización llegue a formar parte de una parte más del trabajo que está desarrollando.
¿ Qué necesita, entonces, un programador para realizar tests unitarios ?
Básicamente, soporte por parte de la dirección de la empresa. Ésto se traduce en:
- Formación.
- Asumir que los tiempos de desarrollo se incrementarán (sobre todo al principio), pero que se verán compensados con una bajada espectacular de los costes de no conformidad: reproceso, garantías, mala imagen, pérdida de clientes, etc. Al final, una mejor calidad del software desarrollado.
- Proporcionar las herramientas necesarias, para facilitar la realización de los tests unitarios. Me refiero a herramientas tan válidas, como Visual Studio 2008 Team Edition.
Una vez que el sistema cale en la organización, los programadores serán los primeros beneficiados. ¿ Y por qué iban a poner pegas a la realización de los tests unitarios ?
Por otra parte, es básico que el sistema de enseñanza actual de España, se dé cuenta de la importancia del testeo de sofware, e incorpore en sus planes de estudio, asignaturas que enseñen a los futuros programadores, el cómo realizar tests unitarios. Hay que darle la importancia, que realmente tiene, y concienciar a los alumnos, que su realización es una parte más de la escritura de un programa.