Factores que influyen negativamente en las pruebas del software

CloudSoftware

El coordinador del Grupo de Calidad de Software de la ATI, Luis Fernández, destaca “tecnología, recursos humanos y métodos y procesos de trabajo” como claves.

 

Como en la mayoría de las actividades de desarrollo de productos basado en el conocimiento, los resultados de calidad y productividad en el desarrollo de software y sistemas de información depende de tres elementos básicos: tecnología, recursos humanos y métodos y procesos de trabajo.

Es habitual que los avances y novedades tecnológicas en el software acaparen gran parte de la atención de los medios especializados aunque no existen datos demasiado fiables de su contribución a la calidad.

Por el contrario, los expertos saben que son los profesionales y los métodos de trabajo y la organización de los procesos de desarrollo los que ofrecen mayor evidencia y control sobre la mejora de resultados.
Entre los procesos con gran influencia en la calidad final del software están las pruebas, ensayos en entorno controlado para detectar defectos en el producto antes de que provoquen fallos durante uso por el cliente. Aunque una política de prevención y buen trabajo de desarrollo es esencial, son los controles de la calidad los que aportan una confianza tangible en el producto que se entrega.
Desde el grupo de Calidad del Software de ATI , hemos querido concentrarnos en las pruebas por su gran importancia económica y técnica en el control de la calidad del software para analizar su situación en España.
Se trata de las pruebas del software, una técnica de evaluación de la calidad presente en todos los proyectos y con una gran carga de esfuerzo: las estadísticas indican que alrededor de un 33% del esfuerzo de proyecto (y, por tanto, de su coste) se concentra en las pruebas y en las tareas de corrección o depuración de los defectos que éstas detectan.


Es, por tanto, una actividad que puede permitir la optimización y ahorros de costes de gran importancia, especialmente si reparamos en el hecho de que tradicionalmente ha recibido poco consideración por parte de empresas y profesionales.
Nuestro primer objetivo de estudio fue el análisis de la práctica real de pruebas en los proyectos de desarrollo en España. El resultado fue que, sobre un total de 20 aspectos clave para que las pruebas sean óptimas, en una amplia y variada muestra de empresas, el promedio realmente implantado es de 8.
Además, sólo alrededor de un 25% de los profesionales cuentan con formación específica en esta técnica. Tras conocer estos datos, estudiamos el comportamiento de un centenar de profesionales a la hora de diseñar las pruebas para comprobar si, individualmente y más allá de la gestión en sus empresas, sus resultados son buenos.
Lamentablemente nos encontramos que a la mayoría le falta ser más sistemáticos porque terminan siendo poco eficaces (dejan cerca de la mitad de las opciones de los programas sin pruebas adecuadas y prueban menos las opciones más importantes) y más eficientes (repiten innecesariamente pruebas parecidas que no aportan más seguridad con el correspondiente gasto de tiempo).
Al constatar esta situación, nos planteamos un último análisis para detectar cuáles podrían ser los factores que favorecen estos discretos resultados. Tras consultar a un panel de expertos convocado por la red REPRIS sobre pruebas de software en 2007 en Zaragoza, se sugirieron 23 posibles factores.
Se quiso constatar dichas conclusiones con una variada muestra de un centenar de profesionales de distintos sectores (banca, turismo, consultoría, tecnología, administraciones públicas, etc.) para analizar si las causas sugeridas eran consideradas como realmente extendidas en el mundo del software y si, en caso de producirse, tenían influencia negativa en las pruebas.


Los resultados obtenidos indican que algunas de las sugerencias no se consideran como situaciones generalizadas aunque existe una división más o menos al 50% entre los consultados: es el caso de las afirmaciones sobre que la actividad de pruebas de software “es un área sin carrera profesional o promoción”, que las pruebas “son poco creativas, un fastidio, algo que hay que hacer y sin atractivo, algo negativo y destructivo” o que los puestos relacionados con la calidad y las pruebas son inestables y pueden ser con cierta frecuencia eliminados en reorganizaciones de la empresa.
Por el contrario, se consideran abrumadoras ciertas (más del 90% de respuestas confirmativas) y extendidas las siguientes situaciones que, además, cuentan con una gran influencia negativa sobre la actividad de pruebas: “Las pruebas quedan atrapadas al final del ciclo y muchas veces con un calendario escaso. Suelen sufrir los retrasos de fases anteriores de desarrollo y no pueden retrasar su final: la entrega a cliente”, “Se recorta en calidad y pruebas cuando hay problemas bien de retrasos y de proyecto o bien de finanzas de la organización” y no se “aprovechan los diseños creados durante el desarrollo del software para realizar un buen conjunto de pruebas”.
En definitiva, presiones de tiempo, tentaciones de recortes y baja eficiencia en el diseño de pruebas. También fueron considerados como factores generalizados (cerca del 90% de respuestas confirmativas) e influyentes el hecho de que “Muchos directivos no aprendieron sobre pruebas y no aprecian su interés o potencial para la eficiencia y la calidad”, que “Muchos titulados no tienen formación específica en pruebas” y que “Muchos profesionales tampoco la tienen”.
Ante esta situación, el grupo de Calidad del Software de ATI seguirá insistiendo en las soluciones para la mejora a través de sus actividades de difusión, concienciación y debate como la próxima X edición de las Jornadas de Innovación y Calidad del Software a celebrar el 24 y 25 de septiembre en Madrid.
Creemos que la progresiva implantación de modelos y estándares de procesos de desarrollo como CMMi ayudará a mejorar la organización y aplicación de buenas prácticas de trabajo aunque deberá prestarse especial atención también a los recursos humanos, peculiarmente a corregir las deficiencias en formación sobre pruebas de software y, en general, sobre técnicas para mejorar la calidad de las aplicaciones.

Leer la biografía del autor  Ocultar la biografía del autor