Por favor, use este identificador para citar o enlazar este ítem: https://hdl.handle.net/20.500.12104/96398
Título: Implementación de herramienta para automatización de pruebas manuales en equipo de desarrollo de software
Autor: Castellanos Hernández, Humberto Ezequiel
Director: Medellín Serna, Luis Antonio
Fecha de titulación: 26-mar-2021
Editorial: Biblioteca Digital wdg.biblio
Universidad de Guadalajara
Resumen: Este documento presenta al lector un escenario real en el área de pruebas de un equipo de desarrollo de software, en donde se identifico la necesidad de reducir el tiempo de ejecución en pruebas manuales. La propuesta aquí fue implementar un framework para la automatización de dichas pruebas, este entorno esta basado en cucumber IntelliJ idea y programado en lenguaje Java. La compañía en donde se implemento fue en Toshiba Global Commerce Solutions, en su centro de desarrollo de software ubicado en Zapopan, Jalisco. Dicha compañía es un segmento del gigante en tecnología Toshiba, enfocado en el área de retail o puntos de venta el cual fue adquirido a IBM. El proyecto en cuestión se dedica a el desarrollo de drivers o controladores para darle soporte a todo el Hardware que la compañía vende, incluyendo puntos de venta, impresoras, displays entre otros. En el año 2019 se identifico una posible venta de una cantidad de dispositivos a un cliente donde su requerimiento fue que fueran compatibles con su aplicación, dicha aplicación es vieja o también llamada legacy ya que para comunicarse con los dispositivos utiliza el bus RS232 o serial, y los dispositivos nuevos a ofrecer se comunican mediante USB principalmente por la mejora en su velocidad de respuesta y transmisión de datos. Además la aplicación del cliente corría en un sistema operativo Linux, lo cual dio lugar a el requerimiento de desarrollar dicho controlador para dar soporte a sistemas operativos Linux ya que anteriormente solo estaba desarrollado para plataformas en Windows. Se planteo el caso de uso y el requerimiento formal hasta que fue aprobado y se asignaron recursos para el desarrollo de este nuevo driver, y aquí es donde entra en juego el área de pruebas en el proyecto. Nuestro proceso de calidad se encuentra definido y se trabajó utilizando la metodología agile con el enfoque scrum, se asignaron tareas durante iteraciones de 4 semanas en las cuales al finalizar se tenia un entregable de manera escalonada. La implementación de la herramienta se realizo en paralelo junto con el desarrollo del controlador, lo cual permitió ganar tiempo en cuanto a los entregables, sin embargo la incursión en nuevas tecnologías y automatización no salió del todo bien 7 como era de esperarse, se tuvo un contratiempo debido a un problema de compatibilidad en versiones al tratar de ejecutar en diferentes plataformas lo cual se describe a detalle en la sección de resultados y conclusiones. Para ello se tuvo que hacer ejecución manual de pruebas mientras se le asignaba tiempo para depurar los problemas encontrados al hacer la portabilidad del entorno de pruebas. Hoy en día se cuenta con el entorno automatizado de pruebas que proporciona un ambiente grafico a el usuario, un reporteo de resultados que se puede visualizar en un navegador web así como un entorno bastante amigable de depuración y mantenimiento. Al final el objetivo se logro y el entorno automatizado se implemento con éxito, reduciendo a manera de porcentaje considerablemente el tiempo de ejecución de las pruebas, y lo mas importante fue de utilidad para el proyecto y genero valor agregado al producto. Esto ultimo no siempre se logra, ya que al hacer un análisis de varios casos de estudio, no siempre automatizar suele ser la respuesta. Se tiene que hacer un análisis mas profundo en cuanto a las necesidades del proyecto, su tamaño, su giro, y la complejidad del software que se desarrolla ya que de esto dependerá totalmente la decisión si conviene o no automatizar y de que manera hacerlo, que metodología seguir y cual puede funcionar mejor. Cabe señalar que las metodologías de desarrollo de software agiles que hoy en día se sienten mas forzadas por implementarse no necesariamente son lo ideal para todos los proyectos, como se mencionó antes el análisis de uno o varios expertos e involucrados en el proyecto es necesario antes de definir su manera de ser implementado, y en esto esta la clave del posible éxito o fracaso de su implementación. Uno de los mayores logros que se puede señalar durante la implementación de este proyecto, es el hecho de haber aplicado los conocimientos adquiridos durante el programa de maestría en un problema real en la industria lo cual es uno de los principales objetivos del programa el que profesionales egresados puedan aportar valor a compañías, universidades, y la sociedad en general.
URI: https://wdg.biblio.udg.mx
https://hdl.handle.net/20.500.12104/96398
Programa educativo: MAESTRIA EN TECNOLOGIAS DE INFORMACION
Aparece en las colecciones:CUCEA

Ficheros en este ítem:
Fichero TamañoFormato 
MCUCEA11048FT.pdf188.7 kBAdobe PDFVisualizar/Abrir


Los ítems de RIUdeG están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.