Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/68204
Tipo: | TCC |
Título: | Investigando as causa de Flaky Tests em automação de Testes UI em projetos open-source |
Autor(es): | Sousa, Érica Miranda de |
Orientador: | Bezerra, Carla Ilane Moreira |
Palavras-chave: | Flaky Tests;Teste de Software;Interfaces de usuário (Sistemas de computação) |
Data do documento: | 2022 |
Citação: | SOUSA, Érica Miranda de. Investigando as causa de Flaky Tests em automação de Testes UI em projetos open-source. 2022. 53 f. Trabalho de Conclusão de Curso (Graduação em Sistemas de Informação)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2022. |
Resumo: | Flaky Testssão casos de testes automatizados que apresentam um comportamento não-determinístico, ou seja, não é possível determinar se o caso de teste irá passar ou falhar a cada execução. Casos de testes com essa característica, tendem a apresentar resultados aleatórios, de sucesso ou falha, a cada nova execução sobre a mesma versão do Sistema em Teste (SUT) e sem alterações no seu código fonte. Tal comportamento tende a ser prejudicial no processo de desenvolvimento de software. Cada falsa falha destrói a relação determinística entre os resultados do teste e a qualidade do software, sendo necessário um trabalho de depuração no código de teste e no código de produção para determinar se a falha foi ocasionada por defeitos no sistema ou pela presença de um Flaky Test. Essa depuração consome tempo e mão de obra, podendo causar atrasos nas entregas. Assim, buscando entender mais sobre a ocorrência de Flaky Tests em Testes UI, propomos nesse trabalho uma análise empirica sobre commits relacionados a Flaky Tests de projetos open-souce do GitHub, para identificar suas principais causas e estratégias de correção aplicadas. Ao todo foram analisados 123 de 23 projetos, gerando um total de 8 categorias de causa e 7 categorias de correção, onde Adição de Espera, Correção de Lógica e Teste Ignorado figuram como as principais causa de Flaky Tests em Tests UI e Condição de Corrida, Problemas de Lógica e Dependência de Teste são apontadas como as principais categorias de correção aplicadas na resolução de Flaky Tests em Testes UI. Pode-se ainda identificar quais as estratégias de correção mais utilizadas para cada causa identificada, onde identificou-se que: 89% dos Flaky Tests causados por uma Condição de Corrida são corrigidos através de uma Adição de Espera; 100% dos Flaky Tests causados por Problemas de Lógica e Dependência de Testes são corrigidos aplicando correções na lógica aplicada no testes. Os resultados apontados nesse trabalho servirão como insumo para o entendimento da ocorrência de Flaky Testes em Testes UI e servirão de auxilio para Analistas de Testes e e testadores a desenvolver projetos de automação de Testes UI com maior qualidade, além de fornecer insumos para estudos futuros. |
Abstract: | Flaky Tests are automated test cases that have a non-deterministic behavior, that is, it is not possible to determine if the test case will pass or fail at each execution. Test cases with this characteristic tend to present random results, success or failure, with each new execution on the same version of the System under Test (SUT) and without changes in its source code. Such behavior tends to be detrimental to the software development process. Each false failure destroys the deterministic relationship between test results and software quality, requiring debugging work on test code and production code to determine whether the failure was caused by system defects or the presence of a textitFlaky Test. This debugging consumes time and manpower and can cause delays in deliveries. Thus, seeking to understand more about the occurrence of Flaky Tests in UI Tests, we propose in this work an empirical analysis of commits related to Flaky Tests of open-souce projects on GitHub , to identify its main causes and applied correction strategies. In all, 123 out of 23 projects were analyzed, generating a total of 8 categories of cause and 7 categories of correction, where Add Waiting, Correction of Logic and Ignored Test appear as the main causes of Flaky Tests in Tests UI and Race Condition, Logic Problems and Test Dependency are pointed out as the main fix categories applied in solving Flaky Tests in UI Tests. It is also possible to identify which correction strategies are most used for each identified cause, where it was identified that: 89% of Flaky Tests caused by a Race Condition are corrected through a Wait Addition; 100% of Flaky Tests caused by Logic Problems and Test Dependency are fixed by applying corrections to the logic applied to the tests. The results pointed out in this work will serve as input for understanding the occurrence of Flaky Tests in UI Tests and will help Test Analysts and testers to develop UI Tests automation projects with higher quality, in addition to providing inputs for future studies. |
URI: | http://www.repositorio.ufc.br/handle/riufc/68204 |
Aparece nas coleções: | SISTEMAS DE INFORMAÇÃO - QUIXADÁ - TCC |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
2022_tcc_emsousa.pdf | 1,07 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.