Trends & Vision Newsletter

10 MEJORES PRáCTICAS PARA UNA IMPLEMENTACIóN EFECTIVA DE TESTING & QA

Por José Vargas y Julio Córdoba, División de Servicios Financieros de una Organización Fortune 50

Después de años de pulir y afinar los esfuerzos de toda la división de testing & QA, pensamos que sería buena idea compartir las diez mejores lecciones aprendidas de lo que hoy consideramos clave para obtener resultados exitosos. Esperamos que encuentren útil esta lista como una fuente de validación e ideas.

1) Proceso: Es crucial que la organización defina un proceso robusto y certificado por expertos para iniciar una cultura de control de calidad del software. El proceso servirá como una guía que deberá evolucionar con el tiempo. Sobre todo deberá hacerse oficial y deberá llevarse a cabo. Las mejoras serán realizadas hasta que se haya establecido un proceso maduro.

2) Compromiso gerencial: El compromiso gerencial debe provenir desde el CIO para asegurar el alineamiento de cada uno de los gerentes de desarrollo, así como de las áreas de desarrollo de cada país. Todos deberán estar conscientes del valor que aporta el testing & QA al negocio. El proceso, por lo tanto, debe dar cuentas del valor de las soluciones que ésto ofrece a la organización.

3) Experiencia del personal: Es un error muy común contratar como tester a alguien que carece de la experiencia necesaria. Es vital reconocer que esta posición requiere de alguien con experiencia tanto en el negocio como en el desarrollo de software en general.

4) Productos finales: Como parte del desarrollo de software y los procesos de testing, es necesario definir los productos finales, tales como requerimientos, un plan de testing y casos de testing. Todo esto garantiza que los testers puedan dar seguimiento de manera efectiva, durante todo el proyecto, desde una perspectiva de calidad del software.

5) Uso de herramienta: Tanto el uso de herramientas para rastreo y administración de defectos, como la creación de casos de prueba y ejecución, son esenciales para incrementar la madurez del proceso de testing & QA. El proceso podría comenzar sin herramientas, pero éstas son requisito para incrementar la madurez de la ejecución.

6) Métricas: Desarrollar y crear métricas para rastrear la calidad del software en su estado actual y comparar la mejora con versiones previas, ayudará a aumentar el valor y madurez del proceso de testing (Ej. el número de componentes con errores en el software/el número total de componentes en el software; o el número de errores detectados en la fase de testing /número total de errores detectados).

7) Ambiente para testing: Para crear y ejecutar los casos de prueba correspondientes, es vital la implementación de ambientes apropiados para testing que permitan a los desarrolladores reproducir la ejecución del sistema en ambientes de producción.

8) Datos de prueba: El ambiente necesario para testing en la operación del día a día, deberá proporcionar o asegurar disponibilidad de los datos necesarios para habilitar la ejecución de pruebas correspondientes. Incluso si se desarrollaron los ambientes adecuados para testing, los desarrolladores necesitarán acceder datos específicos esenciales para ejecutar los casos de prueba relacionados.

9) Administración de cambios: Como cualquier otro ambiente de producción, el ambiente para testing deberá rastrear adecuadamente los cambios en la configuración, no solo asegurando los resultados controlados, sino también corriendo las pruebas en ambientes estrechamente relacionados a aquellos de producción.

10) Concientización de desarrolladores: Es crucial tener un proceso de concientización que incluya el compromiso de los directivos en todas y cada una de las unidades de negocio, así como a los desarrolladores relacionados. La meta es demostrar que las actividades de testing dan valor a su trabajo diario.

Acerca de los autores:

jose_vargasJosé Vargas es líder de QA y Experto en los procesos de QA de Software, en la División de Servicios Financieros de una Organización Fortune 50. julio_cordobaJulio Córdoba (M.I.S, PhD Cand) es gerente de QA y experto en procesos de IT en la División de Servicios Financieros de una Organización Fortune 50.