Saltar al contenido Saltar al menu Saltar al contenido
Innovación, Investigación y Universidad

Innovation, Investigation and University

TesteA: Marco para la promoción de la calidad de los productos basados en software mediante la mejora de la fase de pruebas (testing)

Resumen ejecutivo

En el ámbito de las empresas de desarrollo de software, dentro de Aragón se llevó a cabo el programa SoftAragón, que se enfocó en mejorar la calidad del software a partir de la mejora de los procesos de fabricación del software (los procesos de desarrollo y mantenimiento de software). En TesteA el enfoque está en la calidad del producto mediante la mejora de la fase de pruebas.

El testing es la actividad que persigue encontrar el mayor número de errores con la menor cantidad de tiempo y esfuerzo posibles. Es un mecanismo orientado a garantizar la calidad del producto antes de su salida al mercado.

La gran mayoría de las empresas de desarrollo de software conciben el testing como una actividad fundamentalmente manual. La complejidad creciente de los nuevos sistemas informáticos hace que esta actividad manual no garantice que los productos que se lanzan al mercado se encuentran libres de fallos, a la vez que obliga a un coste muy elevado dentro del proceso de desarrollo al tener que volver a validar ante cualquier cambio el resto del sistema.

En determinados mercados maduros no es admisible que el software falle, y es condición necesaria para ofertar poder presentar el certificado de una tercera entidad que, como oficina técnica de calidad, respalde que el producto software ha salido de fábrica con un exhaustivo control de calidad. En este sentido se orienta la reciente norma ISO 29119, cuyo objetivo es mejorar la calidad de los productos software mediante la realización de pruebas.

El objetivo de esta actuación es difundir, formar y transferir las nuevas técnicas de testing a las PYMES para que puedan ser competitivas en un mercado internacional en el que no se admiten fallos.

Se plantea la creación de un marco de trabajo que, mediante la aplicación de los nuevos paradigmas y tecnologías relacionados con el testing, haga que el software desarrollado o mantenido en Aragón esté libre de fallos.

Para ello se proponen actividades de difusión, formación y transferencia a las PYMEs, siendo ITAINNOVA el guía que acompañe a las empresas para reducir su curva de aprendizaje y quien promueva la comunidad para agilizar la adopción de los métodos, técnicas y herramientas existentes.

subir

Antecedentes

En el ámbito de las empresas de desarrollo de software, dentro de Aragón se llevó a cabo el programa SoftAragón, un proyecto asociativo orientado a incrementar la competitividad de las empresas mediante la mejora de sus procesos de desarrollo de software, utilizando como guía de buenas prácticas CMMI. En este proyecto el foco de atención era el proceso de desarrollo, pero no el producto software, es decir, la parte más productiva de una empresa TI. Aquí entran actividades relacionadas con la toma de requisitos, el análisis de los mismos, el diseño e implementación del software que se produce y las pruebas del mismo, lo que se conoce como testeo (testing) de software. Al estar centrado en el proceso y no en la calidad del producto, la fase de testing no fue abordada de forma específica dentro del marco SoftAragón.

subir

El contexto del testing

El objetivo general de las pruebas de software es el de encontrar el mayor número de errores con la menor cantidad de tiempo y esfuerzo posibles, intentando verificar que el software hace lo que debe, no hace lo que no debe y no genera fallos en su comportamiento interno o en su integración con otros componentes. Es un mecanismo orientado a garantizar la calidad del producto antes de su salida al mercado.

La tarea de testing puede llegar a ser muy compleja, debido a que es necesario garantizar que cada componente funciona correctamente (pruebas unitarias), que entre sí operan bien (pruebas de integración) y que todos ellos forman un sistema correcto (pruebas de sistema). Además es necesario realizar pruebas sobre el comportamiento funcional del producto, pero no se deben descuidar otras que no están directamente asociadas con las funcionalidades aunque son igualmente importantes como seguridad, usabilidad, rendimiento, escalabilidad, mantenimiento, portabilidad, internacionalización o localización.

A raíz de la participación en proyectos de innovación a nivel europeo, se ha podido comprobar empíricamente que la gran mayoría de las empresas de desarrollo de software conciben el testing como una actividad fundamentalmente manual. Hay empresas que disponen de personas especializadas en la realización de las pruebas, y en otras, estas actividades son realizadas por técnicos o jefes de proyecto, pero la gran mayoría de las actividades de testing no disponen de método, técnica o herramienta de soporte en su ejecución, con alguna excepción en cuanto a pruebas unitarias (las más básicas).

La complejidad en el software que se desarrolla es algo creciente con el tiempo y cada día es más difícil encontrar aplicaciones que se desarrollan como un elemento estanco, siendo la gran mayoría resultado de la integración de varios sistemas software dentro de arquitecturas orientadas a servicios. En esta complejidad radica el hecho de que una ejecución de pruebas manual empieza a no ser válida para asegurar que los productos software que se lanzan al mercado se encuentran libres de fallos. Por otro lado, la misma tendencia a la construcción de sistemas que componen o se basan en servicios suministrados por otros, hace que los desarrolladores quieran garantizar que el software de terceros está libre de fallos (“testees”).

No probar el software antes de salir al mercado conlleva que existan errores que son detectados en fase de producción, con los problemas que ello ocasiona a los clientes, así como a la imagen y al coste de la empresa desarrolladora para garantizar un mantenimiento correctivo ágil. La permisividad en cuanto a “fallos informáticos” ha sido siempre bastante amplia, considerando a los usuarios los grandes validadores y verificadores (“testers”) de los productos software. Este hecho está cambiando y existe una tendencia a nivel europeo de no admitir el fallo de sistemas software, introduciendo diferentes acciones para poder evitarlo. Una de ellas es la norma ISO 29119, de reciente creación, cuyo objetivo es mejorar la calidad de los productos software mediante la realización de pruebas. Poder demostrar que el producto ha sido ampliamente probado es un elemento necesario para poder llegar a mercados maduros como el europeo.

subir

Objetivos

Teniendo como base la exigencia cada vez más incuestionable de la importancia de realizar las pruebas del productos software, y la necesidad de eliminar el factor manual de las mismas, la principal motivación de esta actuación es difundir, formar y transferir las nuevas técnicas de testing a las PYMES para que puedan ser competitivas en un mercado internacional en el que no se admiten fallos.

De esta forma se pretende ayudar a promover en Aragón una cultura para utilizar las últimas tendencias en el testeo de software, que aglutine a empresas TIC desarrolladoras, departamentos de sistemas, universidades, centros de innovación y de formación, así como asociaciones y clusters empresariales como TECNARA e IDIA.

subir

Propuesta

Planteamos la creación de un marco de trabajo orientado a organizaciones que desarrollan o mantienen software en nuestra Comunidad Autónoma (empresas TIC que desarrollan productos basados en software, departamentos de TI/sistemas de organizaciones aragonesas que desarrollan sistemas internos o mantienen aplicaciones necesarias para su actividad industrial), así como a otros agentes como universidades, centros de innovación y de formación, asociaciones empresariales y clusters en la temática.

El resultado esperado de la promoción de este marco es que, mediante la aplicación de los nuevos paradigmas y tecnologías relacionados con el testing, dichas organizaciones puedan detectar el mayor número de errores, con el menor esfuerzo posible antes de que sus productos salgan al mercado. Idealmente, estos productos deberían estar libres de fallos.

Para ello se proponen actividades de difusión, formación y transferencia a las PYMEs:

1. Dar a conocer los problemas que deberían abordarse mediante el testing y qué alternativas existen actualmente a las pruebas manuales, en particular, el MDT (Model-Driven Testing).

2. Ayudar a la formación de los profesionales del sector para conocer en detalle los métodos, técnicas y herramientas existentes para desarrollar la fase de pruebas en la práctica.

3. Reducir la curva de aprendizaje y adopción de esas tecnologías, algunas inmaduras ya que provienen como resultado de recientes proyectos de investigación.

subir

Acciones

Para el lanzamiento del marco, se proponen las siguientes actividades:

  • Realizar un estudio del estado del arte en el testeo en las PYMEs de Aragón: el objetivo es conocer el nivel actual de las organizaciones en la comunidad en materia de testeo de software. Se propone realizar una encuesta así como un conjunto de entrevistas, de cara a posicionar las necesidades y especialmente las barreras existentes para la adopción de las nuevas tecnologías de testeo.
  • Organizar jornadas de difusión sobre el testeo de software: saber qué existe como alternativa al testeo manual, para qué puede ser útil, así como los nuevos requisitos derivados de la norma ISO 29119. En este punto se plantean varias jornadas temáticas, asociadas a las barreras identificadas en el estado del arte, y se propone que alguna empresa pionera a nivel internacional pueda contar su experiencia.
  • Realizar jornadas de formación e inspiración sobre testing orientadas a profesionales del sector: en esta acción de planteará un curso más teórico centrado en el testeo basado en modelos, pero también se propondrán talleres con un formato de hack-lab para que de forma práctica se pueda hacer uso de estas tecnologías.
  • Organizar jornadas de demostración práctica de herramientas de testing: enmarcadas en los Centros Demostradores TIC de Aragón, se organizarán talleres en los que se invitará a profesionales que disponen de herramientas automáticas de testeo a hacer presentaciones y demostraciones concretas de cómo su tecnología puede ayudar al testeo a las PYMEs.
  • Actividades de acompañamiento para reducir la curva de adopción: para que una PYME pueda adoptar estas tecnologías, pueden ser necesarios contenidos específicos, soporte a la hora de seleccionar métodos o herramientas, acciones formativas a medida, apoyo en la implantación de la herramienta e integración con su proceso, etc. En este sentido, tomando como base las barreras identificadas en el estudio, desde ITAINNOVA se trabajará en generar y adaptar los contenidos para que la adopción de estas técnicas sea más sencilla para las empresas.
  • Apoyo en la promoción de una comunidad de testing: en esta actividad se enmarca el establecer reuniones con empresas TIC, departamentos de sistemas, universidades, centros de innovación y de formación, así como los clusters TECNARA e IDIA. A partir de sus intereses se trabajará en promover una comunidad digital que recoja contenidos, dudas y soporte y que redunde en la mejora de la calidad del software desarrollado o mantenido en Aragón.
  • Difusión de los avances y resultados/beneficios del proyecto: catálogo de buenas prácticas y posibles ponencias a nivel nacional e internacional con fundamentos empíricos, algo bastante demandado en ingeniería del software, que posicionen el producto software bien probado como elemento diferencial.

 

subir

Encuesta

Dentro de las actividades del marco TesteA, como primer paso queremos elaborar un estudio del estado del arte para comprobar el nivel actual de las organizaciones en la comunidad en materia de testeo de software, en particular:

   Conocer la madurez en técnicas, procesos y herramientas
   Identificar las principales barreras y retos para adoptar nuevas técnicas de testeo de software

Por ese motivo hemos generado una encuesta, cuya utilidad ha sido validada mediante entrevistas con algunas organizaciones, que pretende obtener una panorámica general en lo relativo a niveles, técnicas, métricas, procesos, herramientas, formación e innovación en materia de testing.

Nos gustaría contar con su partipación, rellenando la encuesta online que está disponible en la dirección http://encuestas.servicios4.aragon.es/index.php/survey/index/sid/489125/newtest/Y/lang/es

Agradeciendo de antemano su colaboración, le animamos a participar en las actividades que serán publicadas en esta página y a contactar con nosotros para cualquier consulta en la dirección testea@itainnova.es

Presentación

subir

Jornada de Presentación

subir

Curso básico sobre testeo de software

subir

Hacklab TESTAR

subir

Demostración soluciones testeo

subir

Testeo basado en modelos

subir

Experimentación sobre la aplicación de la ingeniería guiada por modelos en el marco del testing temprano

Jornada de clausura

subir
 
Subir
Fondo Europeo de Desarrollo Regional (FEDER)
© Gobierno de Aragón. Todos los derechos reservados.
Política de Privacidad Aviso Legal Accesibilidad

Edificio Pignatelli. P°María Agustín, 36. 50071 - Zaragoza. Tfno. 976 714 000
Gobierno de Aragón