Sistema de pruebas de hardware para computadoras ensambladas en GEDEME
Enviado por Danis Carlos Chaviano Jiménez
La empresa GEDEME perteneciente al Grupo de la Electrónica del Ministerio de Industrias incluye en su producción una línea de ensamblaje de computadoras. Entre las acciones para el control de la calidad del producto se realizan pruebas de estrés a los componentes de hardware de las computadoras ensambladas, usando para ello un software privativo llamado BurningTest. Como parte de la estrategia de informatización de éste ministerio y una alianza estratégica con la UCI, el objetivo de este trabajo es describir el desarrollo de una herramienta homóloga que incluye reportes con los resultados de las pruebas de forma centralizada usando tecnologías de código abierto, dado que las existentes carecen de todas las funcionalidades necesarias para el entorno de despliegue. Con la guía de una metodología de desarrollo ágil, a partir de una arquitectura de 3capas y usando el marco de trabajo QtCreator y lenguaje C++, se obtuvo como resultado la aplicación de escritorio "Sistema de pruebas y estrés, XILEMA SPEX", con la que es posible estresar los componentes de audio, video, memoria RAM y procesador de una computadora, además genera reporte con los resultados de las pruebas de forma local. Para centralizar dichos reportes en un servidor se obtuvo la "Herramienta de reportes para XILEMA SPEX" usando Symfony 2. La unión de dichas aplicaciones dan como resultado final un producto que permite realizar pruebas de estrés a las computadoras y almacenar el resultado de las mismas en un servidor para su posterior consulta.
PALABRAS CLAVES: hardware, pruebas de estrés, reportes, spex.
ABSTRACT
GEDEME company belonging to the Electronics Group of the Industry Ministry includes in its production a computer assembly line. Among the actions for product quality control, stress tests are made to the hardware components of the assembled computers, by using a proprietary software called BurningTest. As part of the strategy to computerize this ministry and a strategic alliance with the UCI, the aim of this paper is to describe the development of a homologous tool that includes reports with centrally test results using open source technologies, giving the existing lack of all the necessary features for the deployment environment. With the guidance of an agile development methodology, from a 3-tier architecture and using the framework Qt Creator and C ++ language, it resulted the desktop application "System testing and stress, XILEMA SPEX", giving the possibility to stress the components of audio, video, memory, and processor of a computer, also it generates reports with test results locally. To centralize these reports on a server the "Reporting tool for XILEMA SPEX" was obtained using Symfony 2. The union of these applications give as final result a product that allows stress tests to computers and store the result thereof in a server for later reference.
KEY WORDS: hardware, reports, spex, stress tests.
En la actualidad la tecnología se encuentra en constante evolución, la misma ha tenido un gran impacto en la sociedad a través de las empresas con el uso de los equipos electrónicos, como es el caso de las computadoras. Para el correcto funcionamiento de las computadoras es necesario contar con componentes de hardware de calidad independientemente del uso para la cual son diseñadas. Hay situaciones en las que el hardware según sus capacidades técnicas es puesto bajo una gran presión y es cuando se conoce, qué tan eficiente es y cuánto puede rendir para realizar las tareas a las cuales es sometido.
Existen varias aplicaciones que tienen como objetivo testear los diferentes componentes de hardware de una computadora entre ellas se encuentra: BurnInTest, PC doctor, Ultimate boot cd, Stress, pero la mayoría son privativos y las pruebas que realizan no estresan al máximo los componentes de la computadora.
En la Universidad de las Ciencias Informáticas (UCI) se encuentra el Centro de Software Libre (CESOL) que tiene entre sus funciones desarrollar productos de software relacionados con la migración a software libre. Unos de los proyectos que están actualmente en ejecución es para el testeo de componentes de hardware llamado "Sistema de pruebas y estrés, XILEMA SPEX" solicitado por GEDEME, una empresa perteneciente al Grupo de la Electrónica del Ministerio de Industrias que se dedica a desarrollar, producir, comercializar de forma mayorista y brindar servicios técnicos a productos de las tecnologías de la información, las telecomunicaciones, la electrónica y otros productos electrotécnicos.
XILEMA SPEX tiene como función realizar pruebas rigurosas a los diferentes componentes de una computadora, como son el video, la memoria RAM, el procesador y el audio. El sistema se desarrolló con tecnologías libres y de código abierto, con el fin de cumplir con las políticas del país de aumentar la soberanía tecnológica.
El sistema al terminar las pruebas genera un reporte en cada computadora con los resultados de estas. Para consultar los resultados es necesario revisar cada computadora, generando pérdida de tiempo para los especialistas de la empresa. Con el fin de facilitar y agilizar el proceso se decide realizar una solución, "Herramienta de reportes para XILEMA SPEX", que permita centralizar en un servidor los datos obtenidos.
1. Estrés del hardware (hardware stressing)
Para comprobar que los equipos resultan confiables aun bajo las condiciones operativas más extremas se los somete a verdaderas sesiones de tortura conocidas como hardware stressing (estrés del hardware). Mediante diversas herramientas de software, se analiza el comportamiento de los componentes de la computadora, aumentando gradualmente la intensidad de las pruebas hasta que el sistema termina por fallar o por lo contrario nos aseguramos de su estabilidad incluso en las situaciones de mayor exigencia, lo que nos permite conocer mejor su comportamiento (Sin0822, 2011).
Herramientas para estresar hardware
BurnInTest es una herramienta de software que permite probar simultáneamente todos los principales subsistemas de un equipo para comprobar su fiabilidad y estabilidad. Ejerce a fondo pruebas de hardware en un ordenador en un corto período de tiempo, en la misma forma que aplicaciones normales utilizan una computadora durante un largo período de tiempo. Esto se aprovecha del hecho de que el hardware del ordenador tiende a fallar muy temprano en su vida o después de muchos miles de horas de uso. Es un software privativo.
La pruebas que realiza son: CPU a través de operaciones matemáticas, discos duros / Unidad de disquete, CD-ROM y DVD, gráficos 2D, gráficos 3D, conexión de la memoria y de las redes, puertos seriales, puertos USB. Todas estas pruebas se pueden hacer al mismo tiempo ya que la aplicación es multiproceso (Burnintest, 2016).
PC doctor es un sistema de soluciones de salud para computadoras y los dispositivos Android desarrollados por la compañía privativa PC-Doctor, Inc. El cual es utilizado por los fabricantes de equipos, centros de apoyo, fábricas, talleres de reparación, técnicos, y usuarios individuales. Estas soluciones brindan diagnósticos de hardware, información del sistema directo, sistema de monitoreo proactivo y opciones de informes de gama alta en todo el ciclo de vida completo del sistema. Con respecto al diagnósticos de hardware realiza un conjunto de pruebas estándar que han sido utilizadas por los principales fabricantes de computadoras durante años aplicando dichas pruebas a la mayoría de los dispositivos de la computadora (PC doctor, 2016).
Ultimate boot cd es un CD de recuperación de arranque (Live CD) que contiene software utilizado para reparar, restaurar y diagnosticar varios problemas informáticos. Desarrollado por Benjamin Burrows contiene un conjunto de herramientas para testear los diferentes componentes de la computadora. Este es un software privativo (Ultimatebootcd, 2016).
Stress es un generador de carga de trabajo deliberadamente simple para sistemas POSIX. Impone una cantidad configurable de la CPU, la memoria y el estrés de disco en el sistema. Está escrito en C, es un software libre bajo la licencia GPLv2. Debian y Ubuntu incluye a Stress como parte de la distribución. Las pruebas que realiza son para: la RAM, CPU y disco duro (Stress, 2016).
Los software anteriormente analizados son una opción para estresar hardware, pero la mayoría son privativos y no estresan todos los componentes de un ordenador. Como tampoco lo hacen con el suficiente rigor para demostrar que lacomputadora está bajo un intenso estrés. Siendo esto insuficiente para determinar el correcto funcionamiento bajo carga del hardware.
Sistema de prueba y estrés (SPEX) es un sistema desarrollado en CESOL para la empresa GEDEME con el objetivo de estresar diferentes componentes de las computadoras como son: memoria RAM, video, audio y procesador. Es un software de código abierto que estresa al máximo los componentes de la computadora, asegurando un correcto desempeño de las mismas. Es multiproceso, por lo que pueden realizar todas las pruebas simultáneamente. El sistema es altamente configurable. Posee un fichero de configuración donde se le pueden definir valores por defecto para realizar las pruebas, así como la opción de generar un reporte en formato PDF[1]con los resultados de las pruebas y apagar la computadora al finalizar.
2. Materiales y métodos.
XILEMA SPEX
El proceso de desarrollo de la solución estuvo guiado por la metodología ágil SXP, la cual hace una recopilación de las mejores prácticas de dos metodologías muy utilizadas en la actualidad, XP y Scrum (Peñalver, 2008). Se utilizó como lenguaje de programación C++ y como framework de desarrollo QtCreator, usando diferentes librerías como libqt5multimedia5 para el trabajo con multimedia (audio y video) y libboost-filesystem-dev para consultar y manipular caminos, archivos y directorios. Con el propósito de mantener homogeneidad entre los componentes del sistema se define la utilización de la arquitectura N-Capas orientada al Dominio (Torre, 2010).
Herramienta de reportes para XILEMA SPEX
La solución se desarrolló usando Symfony 2, el mismo es un marco de desarrollo para PHP, desarrollado completamente con PHP 5, diseñado para optimizar el desarrollo de las aplicaciones web. Separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web (Modelo – Vista – Controlador). Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación.
Proporciona acceso a librerías como Doctrine, además a plantillas, seguridad, formularios, validación y traducción. Permite que las URL sean totalmente flexibles gracias al componente Routing (enrutamiento). La arquitectura centrada en HTTP de Symfony 2 le da acceso a herramientas, tal como la memoria caché HTTP (Symfony.es, 2013).
3. Integración de XILEMA SPEX y la Herramienta de reportes
Servicios REST
Transferencia de Estado Representacional o REST[2]es un estilo de arquitectura de software para sistemas distribuidos tales como la web. A diferencia de SOAP, se centra en el uso de los estándares HTTP y XML para la transmisión de datos sin la necesidad de contar con una capa adicional. Las operaciones (o funciones) se solicitarán mediante GET, POST, PUT y DELETE, por lo que no requiere de implementaciones especiales para consumir estos servicios. Además se podrá utilizar JSON en vez de XML como contenedor de la información (Amodeo, 2010).
Luego de un análisis técnico y teniendo en cuenta las facilidades brindadas se determinó utilizar REST para la comunicación con el sistema XILEMA SPEX y su correspondiente herramienta de reportes.
Ventajas:
Entre las ventajas principales se encuentran: bajo consumo de recursos, las instancias del proceso son creadas explícitamente, el cliente no necesita información de enrutamiento a partir de la URL inicial, los clientes pueden tener una interfaz escuchadora (listener) genérica para las notificaciones, generalmente fácil de construir y adoptar.
Desventajas:
Su uso también presenta algunas desventajas tales como: gran número de objetos, el manejo del espacio de nombres puede ser engorroso, la descripción sintáctica/semántica muy informal (orientada al usuario), la existencia de pocas herramientas de desarrollo.
Resultados y discusión
Se obtuvo como resultado la aplicación Sistema de prueba y estrés (XILEM SPEX), desarrollado en CESOL para la empresa GEDEME, con el objetivo de estresar al máximo los componentes de audio, video, memoria RAM y procesador de las computadoras para asegurar su correcto desempeño. Es multihilo por lo que puede realizar todas las pruebas simultáneamente y es muy configurable con respecto a las pruebas que realiza las cuales son: RAM, video, audio y procesador.
Brinda las siguientes funcionalidades: cambiar idioma, cambiar estilo y tema visual, Configurar las prueba de cada componente, guardar cada uno de los cambios realizados en un fichero de configuración, para cargarlos cuando inicie el software nuevamente, Generar un reporte con los resultados de las pruebas, apagar la computadora al finalizar las pruebas.
Figura 1: Representación de la Interfaz principal del sistema XILEMA SPEX.
Herramienta de reportes para XILEMA SPEX
De igual forma se obtuvo como resultado la Herramienta de reportes para XILEMA SPEX que permite realizar un chequeo de los resultados generados en las pruebas de estrés de hardware realizadas a las computadoras, centralizando los datos en un servidor. La conexión entre XILEMA SPEX y la herramienta de reportes es mediante los servicios REST.
Entre las principales funcionalidades que provee la aplicación se encuentra: visualización detallada de los resultados de las pruebas de estrés realizadas, generar reportes de los resultados almacenados en el sistema. filtrar los resultados de las pruebas por fechas.
Figura 2: Representación de la Herramienta de reportes para el sistema XILEMA SPEX.
4. Pruebas
Se realizaron pruebas de integración como técnica sistemática para construir la estructura del programa mientras que, se llevaban a cabo pruebas para detectar errores asociados a la interacción con el sistema SPEX (Ruiz Tenorio, Roberto, 2010). Otra de las pruebas realizadas al sistema fueron las pruebas unitarias para verificar que las funcionalidades estén implementadas correctamente (Sommerville, Ian, 2005).
En este punto se consideran cumplidos los objetivos trazados al tener desarrollado una herramienta que estrese al máximo los componentes de audio, video, memoria RAM y procesador de las computadoras, y una herramienta que centralice los resultados de las pruebas de estrés realizadas al hardware de las computadoras y a su vez permite la generación de reportes. Las mismas cumplen con todos los aspectos funcionales planteados para sus desarrollos, por lo que se convierten en herramientas cuyas funcionalidades básicas muestran los resultados esperados.
Los resultados alcanzados permiten concluir que: la fundamentación teórica realizada en la investigación posibilitó justificar la selección las herramientas a utilizar para el desarrollo del sistema. El sistema XILEMA SPEX permite estresar los diferentes componentes de la computadora, de la forma más rigurosa posible demostrando así el correcto funcionamiento de las computadoras ensambladas en dicha empresa. La Herramienta de reportes para XILEMA SPEX proporciona la posibilidad de generar reportes con los resultados de las pruebas realizadas a todas las computadoras, siendo capás de centralizar los datos en un mismo sistema haciendo uso de los servicios REST para garantizar la comunicación entre el sistema SPEX y la herramienta de reportes. Disminuyendo la pérdida de tiempo y recursos y aumentando la productividad y los beneficios. Fue comprobada la efectividad de la solución propuesta a partir de los resultados satisfactorios obtenidos en las evaluaciones internas realizadas por el proyecto, pues la totalidad de las no conformidades detectadas durante las iteraciones de pruebas definidas, fueron resueltas por el equipo de desarrollo.
Sin0822 (2011-12-24). HYPERLINK "http://www.overclock.net/t/1189242/sandy-bridge-e-overclocking-guide-walk-through-explanations-and-support-for-all-x79-overclockers/0_100""Sandy Bridge E Overclocking Guide: Walk through, Explanations, and Support for all X79". overclock.net. Retrieved 2 February 2013. (some text condensed).
Amodeo, Enrique. 2010. Servicios web. [En línea] HYPERLINK "http://eamodeorubio.wordpress.com/2010/07/26/servicios-web-2-¿que-es-rest/"http://eamodeorubio.wordpress.com/2010/07/26/servicios-web-2-%C2%BFque-es-rest/.
Symfony.es. Se publica Symfony 2.4.0. [En línea] HYPERLINK "http://symfony.es/noticias/2013/12/04/se-publica-symfony-240/"http://symfony.es/noticias/2013/12/04/se-publica-symfony-240/.
Ruiz Tenorio, Roberto. Las Pruebas de Software y su Importancia en las Organizaciones. [En línea] Agosto de 2010. http://cdigital.uv.mx/bitstream/123456789/28540/1/Ruiz%20Tenorio.pdf.
Sommerville, Ian. Ingeniería del software. Madrid, Pearson Educación, S.A, 7ma, 2005. ISSN 84-7829-074-5.
Burnintest. Documentación burnintest. Disponible en: HYPERLINK "http://www.burnintest.com/"http://www.burnintest.com [Consultado el: 27 de Febrero de 2016].
PC doctor . Documentación PC doctor. Disponible en: HYPERLINK "http://www.pc-doctor.com/"http://www.pc-doctor.com [Consultado el: 27 de Febrero de 2016].
Peñalver Romero, G. M. Metodología ágil para proyectos de software libre. Tesis de pregrado. Facultad 10, Universidad de las Ciencias Informáticas, La Habana, Cuba,2008.
Stress. Documentación stress. Disponible en: HYPERLINK "http://people.seas.harvard.edu/~apw/stress/"http://people.seas.harvard.edu/~apw/stress/ [Consultado el: 27 de Febrero de 2016].
Torre Llorente, C., Zorrilla Castro, U., Ramos Barroso, M. A., Calvarro Nelson, J.Guía de Arquitectura N-Capas Orientada al Dominio con .NET 4.0 . España, 2010.
Ultimatebootcd . Documentación ultimatebootcd. Disponible en: HYPERLINK "http://www.ultimatebootcd.com/"http://www.ultimatebootcd.com [Consultado el: 27 de Febrero de 2016].
Notas: [1] PDF (sigla del inglés Portable Document Format, «formato de documento portátil»)
[2] REST (por sus siglas en inglés Representational State Transfer)
Sobre los autores
Ismaray Quintana Vázquez: trabaja en la Universidad de las Ciencias Informáticas donde se desempeña como administradora de calidad en un proyecto productivo de desarrollo de software libre, es recién graduada en adiestramiento como ingeniera en ciencias informáticas.
Rolando León Dueñas: trabaja en la Universidad de las Ciencias Informáticas donde se desempeña como desarrollador en un proyecto productivo de desarrollo de software libre y también como profesor, teniendo la categoría docente de profesor auxiliar, y la categoría productiva especialista B en ciencias informáticas.
Danis Carlos Chaviano Jiménez: trabaja en la Universidad de las Ciencias Informáticas donde se desempeña como desarrollador en un proyecto productivo de desarrollo de software libre y también como profesor, teniendo la categoría docente de profesor auxiliar, y la categoría productiva especialista B en ciencias informáticas.
Daniela González Begué: trabaja en la Universidad de las Ciencias Informáticas donde se desempeña como jefe de proyecto en un proyecto productivo de desarrollo de software libre, es recién graduada en adiestramiento como ingeniera en ciencias informáticas.
Autor:
Danis Carlos Chaviano Jiménez
Rolando León Dueñas
Ismaray Quintana Vázquez
Daniela González Begué
Centro de Software Libre. Universidad de las Ciencias Informáticas, Carretera a San Antonio de los Baños, km 2? Torrens, Boyeros, La Habana, Cuba. CP.: 19370.