• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Tese de Doutorado
DOI
https://doi.org/10.11606/T.55.2022.tde-03062022-162453
Documento
Autor
Nome completo
Eliane Figueiredo Collins Ribeiro
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Carlos, 2022
Orientador
Banca examinadora
Maldonado, José Carlos (Presidente)
Batista, Thais Vasconcelos
Kalinowski, Marcos
Souza, Simone do Rocio Senger de
Título em inglês
DeepRLGUIMAT: Deep Reinforcement Learning-based GUI Mobile Application Testing Approach
Palavras-chave em inglês
Automated testing
Mobile application Testing
Reinforcement learning
Resumo em inglês
The constant advances in mobile computing technologies and the market demand for new products and applications that serve an increasingly broad audience represent an opportunity and a need to reflect on how to guarantee the quality of these mobile applications, as well as software testing important and fundamental for these applications. Research in this area has been increasingly needed because it serves as evidence of system quality. However, mobile applications have some characteristics and limitations such as the amount of memory to use, battery life, amount of input data, mobile device screen size and different operating systems. The testing tools available are still limited in the testing strategies and criteria they support. Considering the growth in the use of these applications and the challenges that test automation faces, such as many possible combinations of operations, transitions, functionality coverage, interface element changes and fault reproduction, research to overcome these difficulties is encouraged. Thus, studies of Artificial Intelligence techniques, such as Reinforcement Learning, emerge as an opportunity to improve this area for the generation of test cases through the exploration of applications. Objective: This work proposes the DeepRLGUIMAT approach, which uses the technique of deep reinforcement learning, Deep Q-Network algorithm to generate test cases through the exploration of the mobile application using trial and error, producing a variety of input test data according to the Systematic Functional Testing method and following the probability distribution to satisfy the purpose of covering application functionality. Method: An investigation was carried out in the technical literature through a systematic mapping to know the main studies in this area. The approach was designed and developed based on the information acquired, built a tool for concept proof to execute the elaborated strategy. Finally, empirical experiments were carried out in 30 mobile applications. A comparison was made with similar approaches in the literature (tools with Monkey random approach, Model-based approach with Droidbot Machine Learning, and approaches that use DroidbotX reinforcement machine learning and Q-testing) in terms of code coverage metrics, found flaws, and feature coverage. Results: It was observed that the proposed approach achieved greater value for code coverage in instruction, branches, lines of code and methods compared to state-of-the-art tools. The tool achieved the same result as state-of-the-art tools in terms of failures and crashes encountered. The proposed approach exercised more functional operations than the compared tools in functionality coverage. Conclusion: The proposed approach showed promising results, being more effective for navigation and executing operations in applications, generating useful and effective tests that exercise data entry variations that facilitate the coverage of mobile application functionalities and with greater possibilities of identifying the presence of errors/failures.
Título em português
DeepRLGUIMAT: Abordagem de Aprendizado de Máquina Profundo por Esforço Aplicado a Testes de GUI de Aplicações Móveis
Palavras-chave em português
Aprendizado de máquina por reforço
Automação de testes
Teste de aplicações móveis
Resumo em português
Contexto: Os constantes avanços nas tecnologias de computação móvel e a demanda do mercado por novos produtos e aplicativos que atendam a um público cada vez mais amplo representam uma oportunidade e a necessidade de refletir sobre como garantir a qualidade desses aplicativos móveis, sendo também o teste de software para esses aplicativos importante e fundamental. A pesquisa nesta área tem sido cada vez mais necessária porque serve como evidência de qualidade do sistema. No entanto, aplicativos móveis têm algumas características e limitações, como a quantidade de memória a ser usada, a vida útil da bateria, a quantidade de dados de entrada, o tamanho da tela do dispositivo móvel e os diferentes sistemas operacionais. As ferramentas de teste disponíveis são ainda limitadas nas estratégias e critérios de de teste que apóiam. Considerando o crescimento do uso desses aplicativos e os desafios que a automação de teste enfrenta, como muitas combinações de operações, transições, cobertura de funcionalidade, mudanças de elementos de interface e reprodução de falhas, pesquisas para contornar essas dificuldades são encorajadas. Com isso, estudos de técnicas de Inteligência Artificial, como Aprendizado de Máquina por Reforço, surgem como uma oportunidade de aprimorar esta área para geração de casos de teste por meio da exploração de aplicativos. Objetivo: Este trabalho propõe a abordagem DeepRLGUIMAT que utiliza a técnica de aprendizado por reforço profundo, com o algoritmo Deep Q-Network para gerar casos de teste por meio da exploração do aplicativo móvel utilizando tentativa e erro, produzindo uma variedade de dados de teste de entrada de acordo com o método de Testes Funcionais Sistemáticos e seguindo a probabilidade distribuição para satisfazer o propósito de cobrir funcionalidades da aplicação. Método: Foi conduzida uma investigação na literatura técnica por meio de um mapeamento sistemático para conhecer os principais estudos na área. Com base nas informações adquiridas a abordagem foi elaborada e desenvolvida por meio de uma ferramenta para prova de conceito para executar a estratégia elaborada em aplicações Android. Por fim foram conduzidos experimentos empíricos em 30 aplicações móveis e feita comparação com abordagens similares na literatura (ferramentas com abordagem randômica Monkey, abordagem Model-based com Aprendizado de Máquina Droidbot, e as abordagens que usam aprendizado de máquina por reforço DroidbotX e Q-testing) em termos de métricas de cobertura de código, falhas encontradas e cobertura de funcionalidades. Resultados: Foram observados que a abordagem proposta atingiu maior valor para cobertura de código em instrução, branches, linhas de código e métodos em comparação com as ferramentas de estado da arte. Em termos de falhar e travamentos encontrados, a ferramenta obteve resultado igual ao das ferramentas de estado da arte. Em cobertura de funcionalidade, a abordagem proposta exercitou mais operações funcionais em comparação com as ferramentas comparadas. Conclusão:A abordagem proposta mostrou resultados promissores sendo mais efetiva para navegação e em executar operações nas aplicações, gerando testes úteis e efetivos que exercitam a variações de entrada de dados que facilitam a cobertura de funcionalidades de aplicações móveis e com maior possibilidades de indentificar a presenção de erros/falhas.
 
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2022-06-03
 
AVISO: Saiba o que são os trabalhos decorrentes clicando aqui.
Todos os direitos da tese/dissertação são de seus autores
CeTI-SC/STI
Biblioteca Digital de Teses e Dissertações da USP. Copyright © 2001-2024. Todos os direitos reservados.