Testing como parte del proceso de calidad de software
Hoy finalizó el curso de tres días de Testing como parte del proceso de calidad de software, organizado por [ATICMA](http://www.aticma.org.ar/), [Universidad FASTA](http://www.ufasta.edu.ar/) y [SEPYME](http://www.sepyme.gov.ar/), en conjunto con el [INTI](http://www.inti.gov.ar/). Dicho curso, dictado por Victoria Martínez Suárez del Laboratorio de Testing y Aseguramiento de Calidad de Software del INTI Córdoba, constó de una serie de puntos a tener en cuenta en el momento a comenzar con el proceso de testing y cómo integrarlo a un proceso de desarrollo ya implantado en nuestras empresas. El curso constó de 7 (siete) horas por día durante 3 (tres) días, siendo los mismos Jueves 19, Viernes 20 y Sábado 21 de Marzo de 2009.
El curso comenzó con la introducción al testing del software. Sus ventajas y desventajas, y la introducción a conceptos comunes en un área que aún se encuentra en desarrollo como parte del proceso de software. Se introdujeron varios de los estándares internacionales utilizados para la organización de dicho proceso en cuanto a documentación, definiciones de ciertos de los aspectos del mismo.
Ese mismo día, tras haber terminado con esa introducción, se procedió a hablar del testing como parte del proceso de calidad. Se hizo mucho énfasis en el valor agregado que aporta el hecho de hacer testing de software ante el aseguramiento de la calidad, y, como se repitió varias veces: "el costo de no hacerlo". Finalmente, se procedió a hacer combinar el proceso de desarrollo y el proceso de testing, que posee un ciclo de vida propio, flexible y complejo.
Terminada la visión de proceso, se siguió ya introduciéndonos en distintas metodologías de testing de software, que incluyen distintos tipos de prueba, es decir, según el aspecto que quiera medirse. Según lo deseado de evaluar, qué tipos de pruebas pueden efectuarse y cómo se relacionan con el proceso, qué granularidad deben tomar esas pruebas, qué se debe hacer para que sean satisfactorias, qué hacer con los resultados, cómo re-evaluar, etc.
Teniendo una posición más práctica, comenzamos a indagar en el proceso de derivación de casos de prueba a partir de distinta documentación o fuentes de información (bases de las pruebas) que pueden generarse a lo largo de las etapas del desarrollo de software (sea cual sea su ciclo de vida, cascada, iterativo, ágil, etc). Luego se habló del ambiente de pruebas, se resaltó la enorme importancia de un ambiente de pruebas controlado y correctamente configurado.
Luego se habló de un modelo tentativo para el ciclo de vida de las pruebas (no confundir con el ciclo de vida del proceso de testing), y cómo puede tratarse de forma organizada y ordenada los resultados de las mismas. Para esto fue que luego se dedicó toda una sección a explicar gestión de la configuración, que si bien no es algo directamente relacionado al testing, sino más a áreas de Quality Assurance, tiene enorme impacto en todos estos procesos que de otra forma se volverían caóticos e incontrolables.
Por último, se realizó un repaso sobre la automatización del testing, que incluyó demostraciones prácticas sobre aplicaciones web y Selenium para testing funcional y NUnit como ejemplo de testing unitario.
Agradecemos a Victoria por su dedicación, esfuerzo, organización y dictado del curso, con el cual tuvimos una visión bastante satisfactoria. Esperemos que este sea el comienzo de un proceso de interiorización en el área de testing y quality assurance para la mejora de los procesos en las empresas y en el testing en sí, para que madure como proceso reconocido y firme.
_Soy un zorrinito testeado._