GreenSQA Mejorando la Calidad de Procesos y Productos de Software
Anteriormente se contrataban empresas para el desarrollo de aplicaciones de software que normalmente eran entregados directamente al cliente sin pasar por un proceso formal de aseguramiento de calidad el cliente con frecuencia ha recibido aplicaciones con presencia de errores que principalmente surgen desde su codificación sin un instrumento riguroso de calidad durante su desarrollo, aparentando ahorros en el costo del producto final pero sacrificando su calidad, lo que a futuro saldría costoso y generaría insatisfacción en el cliente.
Con el surgimiento de métodos técnicas, herramientas y equipos de trabajo dedicados de manera exclusiva al aseguramiento de la calidad, se han mejorado las condiciones de entrega y el proceso de ingeniería de software en general gracias a lo cual el cliente recibe aplicaciones de mejor calidad.
¿Cómo se realiza esto?
Integrando un equipo de pruebas, este equipo de profesionales expertos se encarga de definir la estrategia adecuada para cada caso, construir los diseños de prueba que permitan validar y verificar contra las especificaciones. Si las aplicaciones se comportan de acuerdo a lo esperado, y en caso contrario se reportan formalmente los hallazgos para que el equipo de desarrollo revise y ajuste el producto de manera iterativa, esto es equivalente a pasar por un filtro de calidad antes de entregar al cliente, de esta manera el producto será liberado a producción con mejores niveles de calidad, generando confianza en el cliente quien progresivamente pedirá la incorporación de nuevas funcionalidades.
Sin embargo, este proceso manual tiende a volverse complejo e incapaz de dar cobertura a todo el producto, ya que a medida que aumentan los nuevos requerimientos, el equipo de prueba debe considerar tanto las nuevas funcionalidades, como la línea base para asegurar que no han sido impactadas.
Para responder a esa carga de trabajo, típicamente se empieza a incluir más y más personal, lo que al final se traduce en noción de aumento de costo para el proyecto o en el peor de los casos por ahorrar dichos costos el proyecto, se limita a probar solo las funcionalidades nuevas lo que aumenta el riesgo de regresión, es decir vuelven a aparecer los problemas que ya habían sido corregidos.
Con el fin de evitar esta problemática, GreenSQA integra un equipo de pruebas con habilidades técnicas de desarrollo, que se encarga de automatizar las pruebas de las primeras funcionalidades incluidas en el software. Generando pruebas automatizadas sobre una parte del software que ya ha sido probada. Lo que permite que el equipo de pruebas manuales se enfoque en las nuevas funcionalidades de la aplicación, soportándose en la automatización para probar que las antiguas funcionalidades sigan funcionando de forma correcta.
Este proceso se repetirá gradualmente, hasta que llegue a un punto donde la cantidad de pruebas automatizadas sea mucho mayor que las pruebas que deben ser realizadas manualmente.
Gracias al framework de automatización desarrollado por GreenSQA, que contiene módulos para pruebas de caja blanca, caja gris y caja negra de tipo funcional y/o no funcional, estamos en condiciones de ofrecer un servicio de pruebas repotenciado, pues al ser asistido para automatización no sólo se aumenta la capacidad de trabajo sino también la cobertura de las pruebas.
¿Cómo Funciona?
Dependiendo del proyecto GreenSQA, pone a disposición del cliente los módulos del framework que se identifican necesarios, luego se instala dentro del servidor de integración continua, donde se configura para que esté generando informes del estado del software con la periodicidad acordada.
Para realizar un proceso automático y mucho más ágil, el servidor de integración continua se complementa con un servidor de control de versiones, los cuales intercambian información sobre los cambios presentados y cuando deben ejecutar las pruebas, esto permite detectar las no conformidades del producto en lapsos muy cortos de tiempo mejorando el Time-to-Market. Lo cual consideramos aumenta nuestro valor agregado al cliente.
El Módulo de Pruebas de Caja Blanca:
Permite validar la cobertura del código fuente a partir de las pruebas ejecutadas los estándares de documentación, los estándares de codificación, pruebas de unidad, pruebas de regresión, pruebas de integración simples y algunos casos de pruebas no funcionales.
El Módulo de Pruebas de Caja Negra:
Permite automatizar las pruebas funcionales que son realizadas manualmente, así mismo, la automatización permite ejecutar la misma prueba en diferentes versiones de la aplicación o de la plataforma, esto representa una ganancia en tiempo y recursos al momento de asegurar la calidad.
El Módulo de Pruebas de Caja Gris:
Permite agregar métricas de pruebas no funcionales, que son muy útiles para la automatización de pruebas no funcionales, incorporar este módulo dentro de su proceso de desarrollo, le dará la oportunidad de tomar decisiones y medidas preventivas cuando los requerimientos no funcionales se empiecen a ver afectados por la evolución del software.
La solución de pruebas de GreenSQA tiene impacto en el producto, incluso en el proceso de desarrollo del cliente. Destacamos, entre otros, los siguientes beneficios:
- Detección de errores tempranas y antes de salir a la producción.
- Mejoras en la calidad del código fuente.
- Calidad en la documentación del software.
- Ahorro de tiempo, esfuerzo y recursos a la hora de asegurar la calidad.