Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo Cuba

La calidad del producto de software depende en gran medida de la eficiencia y eficacia del proceso de desarrollo. La reutilización ordenada e intencionada de componentes de software con calidad y sin errores es posible cuando el proceso de las pruebas es guiado por estándares y procedimientos que normalizan e incorporan a la solución atributos de calidad permitiendo la reducción de los costos de producción y el aumento de la satisfacción de los clientes.

La creación de este artículo responde principalmente a la necesidad creciente del Proyecto I+D+i Odoo Desoft en la Gerencia de Desarrollo de la División Desoft La Habana de automatizar el proceso de desarrollo y pruebas, asegurar los procesos genéricos de la solución Odoo para el entorno cubano, reducir el tiempo de pruebas incorporándolas durante todo el ciclo de vida del proceso de desarrollo, incorporar e integrar una cadena de herramientas en el proceso de desarrollo y prueba y obtener una trazabilidad e integración con todas las partes involucradas en el proceso de desarrollo.

Como parte del proceso de implantación de un nuevo Modelo de desarrollo de Líneas de Productos de Software (LPS)  y por la adopción de la tecnología Odoo, desde el 2012 hasta la actualidad el Proyecto I+D+i Odoo Desoft ha estado rediseñando su proceso de gestión de la calidad y por ende la gestión de las pruebas con el objetivo de normar, controlar y medir el proceso productivo.

Introducción

Cualquier proceso productivo o de servicio cuyo objetivo sea brindar satisfacción a sus clientes finales y mejorar la eficiencia en la producción necesita estar respaldado por un sistema de gestión de la calidad e intrínsecamente un sistema de gestión de pruebas. A partir de la primera quincena del 2012 se decidió crear un grupo de gestión de la calidad y por ende un grupo que se dedicara a la gestión y ejecución de las pruebas en el Proyecto I+D+i en la Gerencia de Desarrollo de la División Desoft La Habana y que se enfocará en atender las especificidades de las soluciones ERP enfocadas por paquetes en Odoo y en las necesidades de agilizar el proceso de desarrollo del software sin perder de vista los atributos de calidad que debe cumplir. El software tiene ciertas características especiales y sin un buen proceso de desarrollo es casi imposible obtener un buen producto, por tanto, la definición de la calidad de los procesos de desarrollo y del software en sí, debe basarse en las siguientes características [Gestión, Control y Garantía de la Calidad del Software; Angélica de Antonio]:

  • El software es un producto mental, no restringido por las leyes de la Física o por los límites de los procesos de fabricación. Es algo abstracto, y su calidad también lo es.
  • Se desarrolla, no se fabrica. El coste está fundamentalmente en el proceso de diseño, no en la producción. Y los errores se introducen también en el diseño, no en la producción.
  • El software no se deteriora con el tiempo. No es susceptible a los efectos del entorno, y su curva de fallos es muy diferente de la del hardware. Todos los problemas que surjan durante el mantenimiento estaban allí desde el principio, y afectan a todas las copias del mismo; no se generan nuevos errores.
  • El mantenimiento del software es mucho más complejo que el mantenimiento del hardware. Cuando un componente hardware se deteriora se sustituye por una pieza de repuesto, pero cada fallo en el software implica un error en el diseño o en el proceso mediante el cual se tradujo el diseño en código máquina ejecutable.
  • Es engañosamente fácil realizar cambios sobre un producto software, pero los efectos de estos cambios se pueden propagar de forma explosiva e incontrolada.
  • El software con errores no se rechaza. Se asume que es inevitable que el software presente errores.

Es importante destacar que las pruebas en las soluciones ERP enfocadas por paquetes en Odoo deben apoyarse de procedimientos/estrategia que tenga incorporado los aspectos fundamentales a considerar en todo el proceso de pruebas, uno de ellos es el estándar ISO/IEC 29119 para pruebas de software es un referente internacional en el ámbito de las pruebas de software y permite eliminar las inconsistencias existentes así como cubrir aquellas áreas del proceso de pruebas de software que simplemente no se habían tenido en cuenta.

Es importante destacar que la ejecución de las pruebas debe ser considerada en todos los estados de evolución  del desarrollo del software (especificaciones, diseño y codificación). No basta en tener en cuenta la calidad de la solución una vez finalizado, cuando los problemas de mala calidad ya no tienen solución o la solución es muy costosa.

La siguiente investigación propone una estrategia de prueba y un ecosistema para automatizar el proceso de desarrollo y pruebas, asegurar los procesos genéricos de la solución Odoo para el entorno cubano, reducir el tiempo de pruebas incorporándolas durante todo el ciclo de vida del proceso de desarrollo, incorporar e integrar una cadena de herramientas en el proceso de desarrollo y prueba y obtener una trazabilidad e integración con todas las partes involucradas en el proceso de desarrollo.

Es importante destacar que el Sistema de Gestión de Pruebas sistematiza las buenas prácticas del estándar ISO/IEC 29119, la misma cubrirá el ciclo de vida completo de la solución diseñada en la propia estructura del Sistema de  Gestión de Calidad de la División Desoft La Habana.

Estructura organizativa.

El Proyecto I+D+i Odoo Desoft en la Gerencia de Desarrollo de la División Desoft La Habana se ha estado estructurando según las características propias del Modelo de desarrollo de software centrado en la arquitectura y basado en el paradigma de líneas de productos de software (LPS), teniendo como resultado un nuevo modo de gestión e incorporando un Modelo de producción de fábrica de productos de software, con un alto grado de automatización del proceso productivo.

ESTRUCTURA ORGANIZATIVA DEL PROYECTO I+D+I ODOO DESOFT

ESTRUCTURA ORGANIZATIVA DEL PROYECTO I+D+I ODOO DESOFT

A partir de esta estructura se determinó el objetivo principal del Grupo de Pruebas, que no es más que el seguimiento y control de la  gestión y la ejecución de las  pruebas, estableciendo de esta forma un sistema de trabajo que permitiera normar, ejecutar, revisar y medir la calidad de las soluciones en el Grupo de Calidad, esta terminología dio paso a definir una Estrategia de Pruebas y un Ecosistema de Pruebas que sustentara dicha estrategia.

Estrategia y Ecosistema de Pruebas.

La Estrategia de Pruebas del Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo integra un conjunto de actividades que describen los pasos que hay que llevar a cabo en un proceso de prueba: la planificación, el diseño de casos de prueba, la ejecución y los resultados, tomando en consideración cuánto esfuerzo y recursos se van a requerir, con el fin de obtener como resultado una correcta construcción del software [Pressman, 2005].

El objetivo general de la Estrategia de Pruebas es establecer un procedimiento que permita organizar y planificar las actividades que se llevarán a cabo para lograr que los resultados de las pruebas sean satisfactorios, teniendo como objetivos específicos:

  • Planificar las pruebas necesarias en cada iteración.
  • Diseñar e implementar las pruebas creando los casos de prueba que especifican qué probar, cómo realizar las pruebas y creando, si es posible, componentes de prueba ejecutables para automatizarlas.
  • Realizar diferentes pruebas y manejar los resultados de cada prueba sistemáticamente.

El proceso global de la Estrategia de Pruebas del Grupo de Pruebas se divide en 3 fases:

  • Planificación y Seguimiento de las Pruebas
  • Análisis y Diseño de las Pruebas
  • Ejecución de las Pruebas
FASES DEL PROCESO GLOBAL DE LA ESTRATEGIA DE PRUEBAS

FASES DEL PROCESO GLOBAL DE LA ESTRATEGIA DE PRUEBAS

Cada una de estas fases tiene definida las actividades a realizar, los artefactos generados en cada una o de apoyo a la actividad y los roles y responsabilidades de los involucrados en cada una de las actividades. Las distintas fases y actividades están interrelacionadas con el ciclo de vida de desarrollo de software, documentado en la Metodología de Desarrollo para soluciones ERP enfocadas por paquetes en Odoo en el Proyecto I+D+i Odoo Desoft. El proceso de Análisis de la Metodología de Desarrollo para soluciones ERP enfocadas por paquetes en Odoo está directamente alineado con la fase de Planificación de Pruebas, puesto que desde las etapas iniciales se realiza la estimación de actividades de pruebas y las fechas previstas de realización (Plan y Planificación de Pruebas).

La Estrategia de Prueba tiene en cuenta la automatización para aumentar la calidad del producto y optimizar el esfuerzo de las pruebas, algunas de sus ventajas son:

  • La automatización reduce el esfuerzo y el tiempo de las pruebas de regresión.
  • La automatización realiza validaciones durante los ciclos de cambios, cosa que sería imposible hacer manualmente debido a restricciones de tiempo.
  • La automatización habilita la consistencia y cobertura lógica. No hay riesgo alguno de excluir casos de prueba o pasar por alto errores si se diseña correctamente.

Un punto a destacar es que debido a la gran cantidad de personalización, parametrización y variabilidad que se realizan en las soluciones ERP enfocadas por paquetes en Odoo hace imprescindible la automatización de casos de pruebas de ciertos procesos genéricos de Odoo para el entorno cubano, que por su importancia y complejidad necesitan pasar por pruebas de regresión en cada una de las versiones generadas.

La factibilidad de la automatización de pruebas depende de combinar la tecnología tradicional con marcos de pruebas orientados a un Ecosistema de Pruebas que sustenta dicha Estrategia de Pruebas.

La noción de un Ecosistema de Pruebas partió de la base de incorporar e integrar una cadena de herramientas en el proceso de desarrollo y prueba que sustentara las premisas de la Estrategia de Pruebas y que permitiera una trazabilidad e integración con todas las partes involucradas en el proceso de desarrollo y prueba. En principio, el uso del mismo se tornó complejo, necesitando de mayor  esfuerzo y tiempo para poder lograr resultados eficientes. Hacer las pruebas antes o durante la etapa de desarrollo, permite tener mayor seguridad en la implementación de código, ya que éste trabaja en paralelo a la ejecución de las pruebas, elimina el riesgo de generar bugs que afecten a otros códigos ya validados.

ECOSISTEMA DE PRUEBAS

ECOSISTEMA DE PRUEBAS

Verificación y validación de la Estrategia y Ecosistema de Pruebas.

Para la verificación y validación de la Estrategia y Ecosistema de Pruebas se aseguró que las distintas fases, actividades y artefactos que plantea la Estrategia de Prueba están interrelacionadas con el ciclo de vida de desarrollo de software, documentado en la Metodología de Desarrollo para soluciones ERP enfocadas por paquetes en Odoo en el Proyecto I+D+i Odoo Desoft y en demostrar que el Ecosistema de Pruebas automatizado es capaz de satisfacer las necesidades de la Estrategia de Pruebas y las dictadas en la Metodología de Desarrollo.

Para realizar esta actividad se tuvo como objetivos principales:

  • La relación entre la  Metodología de Desarrollo y la Estrategia de Prueba.
METODOLOGÍA DE DESARROLLO Y ESTRATEGIA DE PRUEBAS

METODOLOGÍA DE DESARROLLO Y ESTRATEGIA DE PRUEBAS

  • La relación entre las actividades y artefactos de las fases de la Metodología de Desarrollo y Estrategia de Prueba. En cada fase de la Metodología de Desarrollo se hace referencia únicamente a los entregables que tienen relación con la Estrategia de Pruebas, sirviendo como entradas al Proceso de Pruebas.
Fases y Entregable de la Metodología de Desarrollo (se incluye solamente los entregables directamente relacionados con la Estrategia de Pruebas) Fases y Entregables de la Estrategia de Pruebas
Análisis

– Especificación de Requisitos

Planificación de Pruebas

– Plan de Pruebas (versión inicial)- Planificación de las Pruebas

-Procedimiento   de   Gestión   de Incidencias (uno   específico   para   cada proyecto diferente del estándar)

Análisis y Diseño de las Pruebas

– Especificación   de   Historias   de Usuarios

– Especificación y Diseño de Casos de Prueba (Sistema)

– Matriz de Trazabilidad

Diseño

– Especificación   del   Diseño   de   la solución del Flujo X

– Especificación   del   Diseño   de   la solución del Módulo X

Análisis y Diseño de las Pruebas

– Especificación y Diseño de Casos de Prueba (Integración)

– Especificación y Diseño de Casos de Prueba (Unitarias)

– Matriz de Trazabilidad

– Plan   de   Pruebas (especificación técnica

Implementación

– Producto Software

Ejecución de Pruebas

– Resultados de Pruebas Unitarias

– Resultados   de   Pruebas   de integración

– Resultados de Pruebas de Sistema- Informes   de   Seguimiento   de Pruebas

– Informe de Nivel de Pruebas

Pruebas

– Manual de Usuario

Ejecución de Pruebas

– Resultados   de   Pruebas   de Aceptación.

– Informe Final de Pruebas

CORRESPONDENCIA METODOLOGÍA DE DESARROLLO Y ESTRATEGIA DE PRUEBAS.

  • La verificación fue realizada para comprobar si las salidas en las diferentes etapas de desarrollo cumplen con las condiciones o los requerimientos impuestos sobre las etapas de pruebas. Esta actividad fue realizada por especialistas que no tenían una relación directa con el proceso de desarrollo y el proceso de pruebas.
  • La validación fue realizada para comprobar que el Ecosistema de Pruebas obtenidocumple con los requisitos de la Estrategia de Prueba. Esta actividad se realizó en el área de ambiente de operación por un especialista que no tenía una relación directa con el proceso de desarrollo y el proceso de pruebas y con la participación de un Ing. de Pruebas.

Conclusiones

La realización de la presente investigación permitió reunir  de forma sucinta y simplificada las principales bases conceptuales de la Estrategia y ecosistema de pruebas de un Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo en el área I+D+i en la Gerencia de Desarrollo de la División Desoft La Habana.

Es importante destacar que el Sistema de Gestión de Pruebas sistematiza las buenas prácticas del estándar ISO/IEC 29119, la misma cubrirá el ciclo de vida completo de la solución diseñada en la propia estructura del Sistema de  Gestión de Calidad de la División Desoft La Habana. La realización de este trabajo, los resultados obtenidos a partir de él y muchas otras experiencias, permite entender que es una actividad que apoya el desarrollo de soluciones ERP en general, independientemente de la tecnología utilizada. Este nuevo quehacer actualizó los procedimientos, metodologías y procesos de desarrollo en el área I+D+i en la Gerencia de Desarrollo de la División Desoft La Habana. Contribuyó a realizar procesos organizados, estructurados y disciplinados, donde el proyecto tiene la capacidad de repetirlos y mejorarlos.

Referencias

  1. Fischer G., «The Software Technology of the 21st Century: From Software Reuse to Collaborative Software Design».
  2. Páez J., «Diseño de un modelo para evaluación/pruebas del software en base a ingeniería de pruebas aplicando el estándar ISO/IEC 29119».
  3. Reid S., «Software Testing. The new international software testing standard ISO/IEC 29119».

Cita esta página

González Cárdenas Diana Rosa. (2015, diciembre 5). Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo Cuba. Recuperado de https://www.gestiopolis.com/sistema-gestion-pruebas-soluciones-erp-enfocadas-paquetes-odoo-cuba/
González Cárdenas Diana Rosa. "Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo Cuba". gestiopolis. 5 diciembre 2015. Web. <https://www.gestiopolis.com/sistema-gestion-pruebas-soluciones-erp-enfocadas-paquetes-odoo-cuba/>.
González Cárdenas Diana Rosa. "Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo Cuba". gestiopolis. diciembre 5, 2015. Consultado el . https://www.gestiopolis.com/sistema-gestion-pruebas-soluciones-erp-enfocadas-paquetes-odoo-cuba/.
González Cárdenas Diana Rosa. Sistema de Gestión de Pruebas para soluciones ERP enfocadas por paquetes en Odoo Cuba [en línea]. <https://www.gestiopolis.com/sistema-gestion-pruebas-soluciones-erp-enfocadas-paquetes-odoo-cuba/> [Citado el ].
Copiar

Escrito por:

Imagen del encabezado cortesía de ruiwen en Flickr