SciELO - Scientific Electronic Library Online

 
vol.7 número1Servicio de referencia 2.0. Una herramienta de comunicación con el usuarioAlgoritmo para la identificación de nódulos pulmonares solitarios en imágenes de tomografía de tórax índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Informática Médica

versión On-line ISSN 1684-1859

RCIM vol.7 no.1 Ciudad de la Habana ene.-jun. 2015

 

ARTÍCULO ORIGINAL

 

Proceso de pruebas y suite de herramientas de soluciones informáticas para la salud

 

Process of tests and suite of tools of informatics solve for the health

 

 

Ing. Roberto Carlos Castilla Blanco,I Ing. Otniel Barrera Palenzuela,II Ing. Luis Guillermo Fernández Pérez,III Ing. Mirna Cabrera Hernández,IV Ing. Laura González CabreraV

I Ingeniero en Ciencias Informática. SOFTEL, Cuba. E-mail: rccastilla@softel.cu
II Ingeniero en Informática. SOFTEL, Cuba. E-mail: obarrpal@softel.cu
III Ingeniero en Sistema Automatizado de Dirección. SOFTEL, Cuba. E-mail: lg@softel.cu
IV Master en Gestión de Proyectos Informáticos. Ingeniera en Sistema Automatizado de Dirección. SOFTEL, Cuba. E-mail: mirna@softel.cu
V Ingeniera Industrial. SOFTEL, Cuba. E-mail: laura@softel.cu

 

 


RESUMEN

Con la estrategia trazada por el Ministerio de Salud Pública para alcanzar la informatización del sector de la salud, se han creado un conjunto de sistemas informáticos capaces de automatizar lo que anteriormente se hacía de forma manual, siendo el Grupo de Integración de Soluciones (GIS) perteneciente a la empresa SOFTEL del Ministerio de Informática y Comunicaciones, el encargado de realizar un conjunto de pruebas con una serie de herramientas para reducir los recursos dedicados a esta actividad e incrementar mayor calidad, fiabilidad y con el menor número de errores posibles. Este trabajo detalla cada proceso de pruebas con las herramientas a utilizar, donde el objetivo es proporcionar los procesos que permiten utilizar disímiles herramientas automatizadas de pruebas, como una suite donde validar las aplicaciones informáticas desarrolladas para el Sistema Nacional de Salud. Esto minimizaría la ocurrencia de errores, cuyo resultado es la automatización de las pruebas unitarias, funcionales y de regresión de todos los sistemas en desarrollo; así como las pruebas a los servicios web, permitiendo la disminución ostensible del tiempo de demora de las pruebas a los sistemas y la cantidad de defectos detectados por los usuarios de las aplicaciones.

Palabras clave: proceso, pruebas, herramientas, factoría, calidad.


ABSTRACT

With the strategy outlined by the Ministry of Public Health to achieve the informatization have been created a group of computer systems able to automate that previously you toward in a manual way. as the Group Management Integration Solutions (GIS), belonging to the company SOFTEL, Ministry of Information and Communications, in charge of carrying out a group of tests with a series of tools to reduce the resources dedicated to this activity and to increase bigger quality and reliability and with the smallest number of possible errors. This work details each process of tests with the tools to use for each process process where the objective is to provide processes that allow dissimilar to use automated testing tools as a suite which validate software applications developed for the National Health System. This minimize the occurrence of errors, the results are automating unit, functional and regression of all developing test systems; as well as testing web services allowing considerable reduction of delay time test systems and the number of errors detected by application users.

Key words: process, test, tools, factory, quality.


 

 

INTRODUCCIÓN

Desde el año 2003, el Ministerio de Salud Pública (MINSAP), traza una nueva estrategia para alcanzar la informatización en el sector de la salud, poniendo como centro al paciente y utilizando las últimas tecnologías de la información y las comunicaciones.

Con el objetivo de integrar los esfuerzos aislados para informatizar la salud en Cuba, el MINSAP decide estandarizar la arquitectura de los sistemas que formarán parte del Sistema de Información para la Salud (SiSalud), implicando a todas las entidades que participan en el proceso.1

En estos momentos se trabaja integradamente en el desarrollo de un grupo de aplicaciones básicas acordes a la nueva estrategia. En su desarrollo e implementación participan varias instituciones del Ministerio de Informática y Comunicaciones (MINCOM), como Softel y otras empresas de este ministerio, del MINSAP y la Universidad de las Ciencias Informáticas (UCI).2

Forma parte de la estrategia para lograr la informatización del Sistema Nacional de Salud (SNS), un conjunto de sistemas informáticos capaces de informatizar lo que anteriormente se hacía de forma manual.

El Grupo de Gestión de Integración de Soluciones (GIS) perteneciente a la empresa Softel, tiene como una de sus misiones la realización de diferentes tipos de pruebas a los sistemas informáticos de salud con un conjunto de herramientas para garantizar la disminución de los defectos y/o errores; entregar el proyecto o producto con la mayor calidad y fiabilidad al cliente, en el plazo de tiempo acordado, teniendo en cuenta que el Aseguramiento de la Calidad del Software (SQA - por sus siglas en inglés), es una parte esencial dentro del desarrollo y mantenimiento del software.3,4

Las actividades de verificación y validación de productos son fundamentales para asegurar la calidad de un producto5 y se encuentran dentro del conjunto de actividades de SQA. El objetivo de las primeras es asegurar el correcto funcionamiento del producto, mientras que las segundas aseguran que el producto satisface las necesidades definidas.6 Las pruebas de software forman parte de las actividades de verificación y validación y, por tanto, constituyen una parte integral de las actividades de SQA.4,7

En dependencia de la estructura organizativa de la entidad, las actividades relacionadas con las pruebas de software se desarrollan siguiendo diferentes modelos. Entre ellos destacan los siguientes:8 desarrolladores que hacen las funciones de probadores,8,9 equipo de pruebas integrado en el equipo de desarrollo, equipos de pruebas independientes que realizan las labores de verificación y validación,8 grupos de SQA que dedican parte de su esfuerzo a realizar pruebas5 y, actualmente, se está comenzando a realizar externalización de las actividades relacionadas con las pruebas de software.8

La ocurrencia de defectos es la principal causa del incremento de los costos del producto, debido a la corrección y el tiempo de re-trabajo, lo que conlleva a una baja calidad del producto.10,11 Por eso, el objetivo que persiguen las organizaciones de desarrollo de software al subcontratar servicios de pruebas de software es reducir costos, tiempos y mejorar, tanto el proceso de pruebas, como la calidad del producto.12

Una solución apropiada para aplicar los principios de externalización de pruebas de software son las Factorías de Pruebas, organización cuya actividad de negocio principal consiste en proporcionar servicios de pruebas a organizaciones de desarrollo software. Las mismas dispondrán de los recursos necesarios, tanto personas como procesos e infraestructura, que permitan proporcionar y gestionar de forma eficiente los servicios ofrecidos.12

El objetivo de este trabajo es proporcionar los procesos que permiten utilizar disímiles herramientas automatizadas de pruebas, como una suite donde validar las aplicaciones informáticas desarrolladas para el SNS. Esto minimizaría la ocurrencia de errores.

 

MÉTODOS

Las pruebas de software constituyen un elemento importante en el aseguramiento de la calidad de software y la mejora de procesos en cualquier empresa. La externalización de las pruebas de software constituye una alternativa fiable y proporciona un catálogo de servicios con los niveles de calidad predefinidos; un personal con nivel óptimo de experiencia, y optimización de los costos. Si las organizaciones de software están demandando servicios de pruebas de software, entonces es necesaria la creación de Factorías de Pruebas que proporcionen dichos servicios. Con el objetivo de crear y gestionar estas factorías son necesarios los procesos de pruebas y herramientas a utilizar para gestionar dichos procesos de pruebas.

Estructuras organizativas para el desarrollo de pruebas de software

Existen muchas formas de organizar las pruebas de software, desde estructuras sencillas hasta organizaciones que proporcionan servicios de pruebas. En este trabajo se hace referencia a las Factoría de Pruebas, donde las organizaciones subcontratan todas o parte de las actividades de verificación y validación a organizaciones especializadas en pruebas de software, con la principal ventaja de que éstas disponen del personal experimentado y la infraestructura necesaria, mientras que la principal desventaja es la necesidad de realizar una buena gestión de las actividades externalizadas.

Principales modelos de referencias de buenas prácticas

Existen diferentes modelos de referencia que definen el conjunto de buenas prácticas a realizar dentro de una organización con el objetivo de llevar a cabo una mejora de procesos. CMMi13 es el modelo de referencia más difundido en la industria del software, que proporciona la cobertura necesaria para el desarrollo de actividades aplicadas, tanto a productos, como a servicios. Además, existen modelos de referencia dirigidos especialmente al proceso de pruebas de software, los más destacables son: TMM,14 TMMi,15 TPI16 y TestPAI.17 Ofrecen el marco de referencia necesario para determinar el conjunto de fortalezas y debilidades en el área de pruebas de software.

 

RESULTADOS Y DISCUSIÓN

Procesos de pruebas y suite de herramientas

Las Factorías de Pruebas son un tipo de organización que dispone de los mecanismos necesarios para proporcionar y gestionar servicios de pruebas de software. Para poder desarrollar estas tareas de forma efectiva la organización debe disponer de procesos de pruebas con un conjunto de herramientas para automatizar dichos procesos, como se muestra en las figuras 1, 2 y 3.

Descripción detallada de cada proceso

Proceso de Certificación de Entornos: Asegura el correcto funcionamiento de los sistemas en los distintos entornos de ejecución en los que deba implantarse. Funciona de manera troncal, donde para cada uno de los entornos destino identificados, invocará la ejecución de los servicios de índole técnica o funcional en el propio entorno o en un entorno de similares características, como se muestra en la figura 4.

Proceso de Verificación y Validación del Proceso de Compilación: La entrega del software contiene todos los elementos fuentes necesarios para la generación de sus desplegables y mantiene correctamente las dependencias a nivel software con otras aplicaciones, componentes y librerías, igualmente provee el software compilado y empaquetado en los distintos desplegables, como se muestra en la figura 5.

Proceso de Verificación y Validación Estática del Código Fuente: Este proceso verifica los niveles de calidad de código fuente en base a las mejores prácticas de desarrollo definidas, como se muestra en la figura 6.

Proceso de Verificación y Validación del Proceso de Despliegue: Se verifica que la entrega podrá implantarse en el entorno definido para la misma y atendiendo, estricta y únicamente, a las instrucciones que se deben describir en la documentación de soporte a la instalación, como se muestra en la figura 7.

Proceso de Verificación y Validación Funcional: Persigue la certificación de que el producto de software se ajusta funcionalmente a las necesidades solicitadas por los usuarios, para lo que se contratará el funcionamiento real con las especificaciones de las fases de análisis y diseño, según se muestra en la figura 8.

Proceso de Verificación y Validación de Regresión: Consiste en que los cambios hechos en el software, especialmente los de carácter correctivo, no han provocado nuevos errores, como se muestra en la figura 9.

Proceso de Generación de Pruebas de Regresión: Consiste en la grabación de casos de prueba funcionales que se utilizan para automatizar las pruebas de regresión, como se muestra en la figura 10.

Proceso de Ejecución de Pruebas de Regresión: Este proceso realiza la verificación de que los cambios efectuados en la versión no han provocado otros errores o carencias, como se muestra en la figura 11.

Proceso de Validación y Verificación de Accesibilidad: Asegura que la aplicación cumple los requisitos de accesibilidad, los particularmente establecidos en el proyecto o los de carácter general. Frecuentemente como requisito de accesibilidad se establece, únicamente, el nivel requerido según la definición del grupo de trabajo WAI del grupo W3C, como se muestra en la figura 12.

Proceso de Verificación y Validación de Usabilidad: Asegura que la aplicación cumple los requisitos de usabilidad, los particularmente establecidos en el proyecto o los de carácter general, como se muestra en la figura 13.

Proceso de Verificación y Validación de Seguridad de la Aplicación: El proceso consiste en la detención de vulnerabilidades de seguridad en las aplicaciones, como se muestra en la figura 14.

Proceso de Verificación y Validación de Servicios Webs: Está orientado a asegurar que el servicio web realiza de forma correcta las funciones para las que ha sido diseñado, recogidas en la documentación del proyecto (requisitos del sistema, análisis, diseño, planes de prueba, etc.), según la figura 15.

Entregar productos con calidad es la principal exigencia en la industria del software en Cuba, por lo que se hace necesario el desarrollo de un proceso de pruebas que se encargue de validar la calidad de las soluciones informáticas. Es un proceso que requiere tiempo y esfuerzo, pero que permite, una vez terminados los productos, que cumplan con los requerimientos y expectativas del cliente. A partir de la aplicación de este proceso, se puede constatar que la solución informática probada está a un paso de adquirir la calidad requerida, al permitir encontrar errores en la misma y ser corregidos antes de entregar al cliente.18

 

CONCLUSIONES

Se definió una propuesta de proceso de pruebas conformado a su vez por 12 subprocesos, que son:

- Proceso de Certificación de Entornos.
- Proceso de Verificación y Validación del Proceso de Compilación.
- Proceso de Verificación y Validación Estática del Código Fuente.
- Proceso de Verificación y Validación del Proceso de Despliegue.
- Proceso de Verificación y Validación Funcional.
- Proceso de Verificación y Validación de Regresión.
- Proceso de Generación de Pruebas de Regresión.
- Proceso de Ejecución de Pruebas de Regresión.
- Proceso de Validación y Verificación de Accesibilidad.
- Proceso de Verificación y Validación de Usabilidad.
- Proceso de Verificación y Validación de Seguridad de la Aplicación.
- Proceso de Verificación y Validación de Servicios Webs.

Para cada proceso definido se proponen las herramientas que se pueden utilizar.

Los procesos de prueba propuestos en este trabajo, así como las herramientas de prueba analizadas, han comenzado a incorporarse como parte del proceso de desarrollo de software en la empresa Softel. Los diferentes grupos de trabajo se capacitan en el uso de las herramientas de prueba que deben utilizar acorde a los roles que desempeñan.

Ya se han automatizado las pruebas unitarias, funcionales y de regresión de todos los sistemas en desarrollo; así como las pruebas a los servicios web. En breve tiempo se comenzará a realizar las pruebas de carga y estrés a los sistemas de gestión hospitalaria.

 

REFERENCIAS BIBLIOGRÁFICAS

1. Vidal M, De Armas Y. Estrategias de informatización del Sector de la Salud (I). Revista InformáticaMédica. 2002;11(4):24-7.

2. Dirección Informática MINSAP. Marco Regulatorio, GIS-07.01. La Habana, 2009.

3. Osterweil L. Strategic Direction in Software Quality. ACM COMPUTING SURVEYS 1996 [citado 2014 Dic];8(4):329-46. Disponible en: http://citeseerx.ist.psu.edu/showciting?cid=1681212

4. Wordpress. Definición de SQA. [citado 2014 Dic]. Disponible en: https://clauyazmin22.wordpress.com/2012/02/24/definicion-de-sqa/

5. Hetzel B. The Complete Guide to Software Testing. John Wiley&Sons. Second Edition. United States; 1993. ISBN 0-89435-242-3.

6. Runeson P, Andersson C, Thelin T. What Do We Know about Defect Detection Methods? IEEE Software 2006 [citado 2014 Dic];23(3):82-90. Disponible en: http://www.researchgate.net/publication/3248375_What_do_we_know_about_defect_detection_methods

7. Tian J. Software Quality Engineering, IEEE Computer Society. Estados Unidos; 2005. ISBN: 0-471-71345-7.

8. Craig RD, Jaskiel SP. Systematic Software Testing, Artech House Publishers. Boston; 2002.

9. Kit E. Software Testing in the Real World, Addison- Wesley. Gran Bretaña; 1995. ISBN: 0785342877564.

10. Boehm BW. Improving software Productivity. IEEE Computer. 2006.

11. Koomen T, van der Aalst L, Broekman B, Vroon M. TMap Next for result-driven testing. UTN Publishers. Netherlands; 2006. ISBN 90-72194-79-9.

12. Weigelt C. The impact of outsourcing new technologies on integrative capabilities and performance. Strategic Management Journal 2009 [citado 2014 Dic];30(6):595-616. Disponible en: http://onlinelibrary.wiley.com/doi/10.1002/smj.v30:6/issuetoc

13. Software Engineering Institute (SEI). CMMi® for Development 2010;1(3).

14. Burnstein I. Practical Software Testing. Springer-Verlag. Chicago, USA; 2003.

15. Van E, Wells B. Test Maturity Model Integration (TMMi) (Guidelines for Test Process Improvement) 2012.

16. Koomen T. Test process improvement: a practical step-by-step guide to structured testing. Addison-Wesley, Great Britain; 1999.

17. Sanz A, Saldaña J, García J, Gaitero D. TestPAI: Un área de proceso de pruebas integrada con CMMI. REICIS 2008 [citado 2014 Dic];4(4):6-20. Disponible en: http://www.researchgate.net/publication/228729310_TestPAI_Un_rea_de_proceso_de_pruebas_integrada_con_CMMI

18. Betancourt L. Proceso de prueba de un software. [Internet] [citado 2014 Dic]. Disponible en: http://revista.jovenclub.cu/?p=789

 

 

Recibido: 24 de julio de 2014.
Aprobado: 1 de marzo de 2015.

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons