Mostrar el registro sencillo del ítem

Trabajo Fin de Grado

dc.contributor.advisorFernández Jiménez, Francisco Josées
dc.creatorJiménez Calderón, Marioes
dc.date.accessioned2021-02-04T18:14:38Z
dc.date.available2021-02-04T18:14:38Z
dc.date.issued2020
dc.identifier.citationJiménez Calderón, M. (2020). Ingeniería de pruebas: aplicación, alcance y rendimiento en un banco de test para una aplicación cliente-servidor. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla.
dc.identifier.urihttps://hdl.handle.net/11441/104616
dc.description.abstractEn este proyecto se ha creado una aplicación web del tipo single-page application (SPA), la cual está escrita en JavaScript y basada en el framework React JS. Por otro lado, la aplicación se apoya en datos obtenidos de un servidor simple creado con la librería JSON Server. Una vez que se ha tenido la aplicación finalizada y en funcionamiento, se han escrito tests end-to-end, tests de integración y tests unitarios para cubrir, en la medida de lo posible, toda la interfaz de la aplicación creada. Para ello se ha utilizado la librería Cypress para los tests end-to-end y las librerías Jest y Enzyme para los tests de integración y unitarios. Tras detallar los tests utilizados y analizar los resultados, teniendo especial interés en el tiempo de ejecución de cada categoría de tests, se ha procedido a una optimización de estos. La optimización se ha empezado por los tests end-to-end comparando que zonas de la aplicación puede ser testeada con tests de integración, buscando siempre no perder alcance. Tras este análisis se han eliminado tests, lo cual ha repercutido en una mejora notable en el tiempo de ejecución de esta categoría al comparar los resultados con los obtenidos en la fase pre-optimización. Respecto la mejora en los tests de integración, se ha realizado un proceso similar al anterior. Se ha buscado mejorar el tiempo de ejecución reemplazando algunos tests que cubren partes de la aplicación que pueden testearse con tests unitarios. En este caso la comparación también muestra una mejora en el tiempo de ejecución total. Adicionalmente, se ha comprobado de forma aislada que al añadir tests unitarios el tiempo de ejecución se incrementa levemente, en cambio, tener tests de integración innecesarios supone una diferencia de tiempo mayor. Con estas optimizaciones se ha demostrado que seguir una estrategia de testeo influye en gran medida al tiempo de ejecución de los tests. Finalmente, se ha hecho una inspección manual de la aplicación para detectar errores que no han sido cubiertos por los tests debido a fallos en la validación de la interfaz. Estos errores o comportamientos no esperados han sido analizados y se han propuesto soluciones.es
dc.description.abstractFor this project there has been created a single-page application (SPA) which is written in JavaScript and based on the React JS framework. On the other hand, the application relies on data obtained from a simple server created with JSON Server library. Once the application is finished and running the following kind of test have been written: end-to-end tests, integration tests and unit tests. This is in order to cover the application interface as deep as possible. Cypress library has been used for end-to-end tests then Jest and Enzyme libraries for integration and unit tests. After detailing the tests used and analyzing the result paying attention to the execution time of each category of tests the next step was to optimize those tests. Optimization started with end-to-end tests comparing which areas of the application can be tested with integration tests while trying to keep the same level of coverage. After this analysis, tests have been removed which has resulted in a notable improvement in the execution time of this category when comparing the results with those obtained in the pre-optimization phase. Regarding the improvement in the integration tests a similar process to the previous one has been carried out. We have sought to improve the execution time by replacing some tests that cover parts of the application that can be tested with unit tests. In this case the comparison also shows an improvement in the total execution time. Additionally, it has been verified in isolation that when adding unit tests the execution time is slightly increased. On the other hand, having unnecessary integration tests implies a greater time difference. With these optimizations it has been shown that following a testing strategy greatly influences the execution time of the tests. Finally, a manual inspection of the application has been done to detect errors that have not been covered by the tests due to errors in the validation of the interface. These errors or unexpected behaviors have been analyzed and solutions have been proposed.es
dc.formatapplication/pdfes
dc.language.isospaes
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.titleIngeniería de pruebas: aplicación, alcance y rendimiento en un banco de test para una aplicación cliente-servidores
dc.typeinfo:eu-repo/semantics/bachelorThesises
dc.type.versioninfo:eu-repo/semantics/publishedVersiones
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.contributor.affiliationUniversidad de Sevilla. Departamento de Ingeniería Telemáticaes
dc.description.degreeUniversidad de Sevilla. Grado en Ingeniería de las Tecnologías de Telecomunicaciónes
dc.publication.endPage102 p.es

FicherosTamañoFormatoVerDescripción
TFG-3074-JIMENEZ CALDERON.pdf5.828MbIcon   [PDF] Ver/Abrir  

Este registro aparece en las siguientes colecciones

Mostrar el registro sencillo del ítem

Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Excepto si se señala otra cosa, la licencia del ítem se describe como: Attribution-NonCommercial-NoDerivatives 4.0 Internacional