Simple Science

Ciência de ponta explicada de forma simples

# Informática# Engenharia de software

Avaliando Modelos de Linguagem para Teste de GUI em Apps Android

Este estudo avalia grandes modelos de linguagem para gerar textos em aplicativos móveis.

― 7 min ler


Modelos de IA em TestesModelos de IA em Testesde Androida qualidade do app.Avaliar a geração de texto pra garantir
Índice

Aplicativos móveis são uma parte vital das nossas vidas. Eles ajudam a gente a fazer várias coisas, como redes sociais, compras ou gerenciar finanças. Dada a importância deles, garantir a qualidade desses apps é essencial. Uma forma de testar esses apps é por meio de testes de GUI (Interface Gráfica do Usuário), que verificam como os usuários interagem com o app.

Ao testar aplicativos móveis, é necessário gerar entradas de texto eficazes. Algumas partes do app exigem que os usuários digitem informações para navegar entre as páginas, tornando um desafio para os testadores explorarem o app completamente. Recentemente, modelos de linguagem grandes (LLMs) mostraram uma grande capacidade de gerar texto, levando a discussões sobre seu potencial para ajudar nos testes de GUI.

Esse estudo investiga quão eficazes são nove LLMs avançados na produção de entradas de texto para componentes de entrada de texto em apps Android. Coletamos dados de vários apps Android e testamos os LLMs para ver como eles geram entradas de texto para várias páginas de UI.

Contexto

Os aplicativos móveis se tornaram parte integral das nossas vidas devido à sua funcionalidade e conveniência. Até o final de 2023, há mais de 2,43 milhões de apps Android disponíveis no Google Play, atendendo a uma ampla gama de necessidades dos usuários. No entanto, garantir a qualidade desses apps continua sendo uma tarefa desafiadora para os testadores. Como os aplicativos móveis dependem fortemente de GUIS, o teste eficaz de GUI se tornou um método essencial para verificar a correção dessas aplicações.

Embora os testes manuais sejam comumente realizados, o teste automatizado de GUI geralmente é mais eficaz e pode lidar com cenários complexos. Várias abordagens automatizadas foram propostas para ajudar no teste de GUI móvel, incluindo métodos baseados em modelo e baseados em aprendizado. Embora sejam eficazes, esses métodos frequentemente negligenciam interações complexas, como a geração de entradas de texto, que desempenham um papel crucial na melhoria da experiência do usuário.

Entradas de texto são elementos-chave das GUIs móveis, pois permitem interações mais detalhadas quando comparadas a ações simples como deslizar ou clicar. Segundo pesquisas, um número significativo de apps requer entradas de texto para que os usuários possam passar para a próxima página, o que pode limitar a profundidade dos testes.

Os métodos automatizados atuais muitas vezes não conseguem gerar entradas de texto relevantes, produzindo saídas aleatórias que não se alinham com o contexto. Por exemplo, com muitas ferramentas de teste automatizado, strings aleatórias como "hello world" podem ser geradas em vez de informações contextualmente relevantes.

Os LLMs surgiram como uma solução para esses desafios. Treinados em grandes quantidades de dados de texto, eles podem entender a linguagem natural e criar entradas de texto contextualmente apropriadas que podem ser úteis em várias áreas, incluindo teste de software. No entanto, desafios práticos permanecem na aplicação dos LLMs para testes reais de GUI, especialmente em relação à privacidade e segurança.

Objetivo do Estudo

Esse estudo tem como objetivo investigar a eficácia de diferentes LLMs na geração de entradas de texto para testes automatizados em aplicativos Android. Foca em avaliar quão bem esses modelos podem produzir entradas de texto utilizáveis que atendam aos requisitos dos componentes de UI. Esta pesquisa é guiada por várias perguntas, incluindo:

  1. As entradas de texto geradas são consistentes com o contexto das páginas de UI?
  2. Como diferentes testadores avaliam a qualidade dessas entradas de texto?
  3. As entradas de texto geradas por LLM podem ajudar a descobrir bugs reais?
  4. Que insights os testadores podem obter ao usar LLMs para testes em Android?

Metodologia da Pesquisa

Para conduzir o estudo, 114 páginas de UI de 62 aplicativos Android de código aberto foram analisadas. Os apps foram retirados de plataformas conhecidas por hospedarem projetos de código aberto. Essas páginas de UI foram escolhidas para garantir uma variedade de componentes de entrada de texto para os quais os LLMs precisariam gerar entradas relevantes.

A pesquisa envolveu várias fases, incluindo a coleta de informações contextuais das páginas de UI para criar prompts para os LLMs. Cada modelo foi então testado para ver quão bem ele poderia gerar entradas de texto relevantes com base nessas informações.

Resultados e Conclusões

Eficácia dos LLMs

Os resultados indicaram que certos LLMs superaram outros na geração de entradas de texto eficazes. Modelos da série GPT mostraram um desempenho particularmente forte, enquanto alguns outros modelos, como Spark e GLM-4V, tiveram mais dificuldades. As taxas de passagem de página, uma medida de com que frequência a entrada gerada permitia aos usuários avançar para a próxima página de UI, variaram amplamente entre os modelos.

  1. Os modelos com melhor desempenho alcançaram cerca de 66% em taxas de passagem de página, enquanto os modelos mais fracos caíram para tão baixo quanto 10%.
  2. Um desempenho melhor foi encontrado quando as informações contextuais usadas para gerar prompts eram mais completas.

Consistência e Qualidade

As entradas de texto geradas também foram avaliadas pela sua consistência com o contexto das páginas de UI. Foi verificado que entradas que se alinhavam bem com o contexto levavam a maiores chances de passar pelas páginas de UI. Entradas de maior qualidade e contextualizadas resultaram em melhores resultados nos testes.

Os testadores também foram questionados sobre a qualidade das entradas de texto geradas pelos LLMs. Os modelos GPT mais uma vez receberam as melhores avaliações, enquanto Spark e GLM-4V foram classificados como ruins. Os testadores sentiram que a maioria das entradas geradas era "neutra" em qualidade, sugerindo que há espaço para melhorias.

Detecção de Bugs

Um dos achados encorajadores do estudo foi que as entradas de texto geradas por LLMs puderam realmente descobrir bugs reais nos apps testados. Os modelos ajudaram a detectar problemas que os testes manuais poderiam ter perdido, o que é um sinal promissor para sua aplicação futura em garantia de qualidade.

Insights para a Comunidade de Testes

Da pesquisa, vários insights foram extraídos que podem beneficiar a comunidade de testes Android:

  1. LLMs podem ajudar significativamente na geração de entradas de texto, mas não devem ser totalmente confiáveis.
  2. É crucial extrair informações completas e relevantes para construir prompts eficazes para uma melhor geração de entradas.
  3. Escolher o LLM certo é vital devido à eficácia variada entre diferentes modelos.
  4. Há uma necessidade clara de melhorar o desempenho dos LLMs existentes no contexto de testes.
  5. Sistemas de suporte automatizados para LLMs podem aumentar sua praticidade em cenários de teste.

Conclusão

O estudo demonstra que os LLMs têm um grande potencial para a geração de entradas de texto em testes automatizados de GUI. Embora alguns modelos, especialmente os da série GPT, tenham mostrado um desempenho forte, outros revelaram lacunas significativas. Para melhorar a estrutura de testes, melhorias nos LLMs, junto com uma melhor extração de informações contextuais, serão necessárias.

Os achados sugerem que uma integração mais profunda dos LLMs nos fluxos de trabalho de testes Android pode gerar melhores resultados, beneficiando assim a comunidade de testes. A exploração contínua das capacidades dos LLMs e abordagens para lidar com dados sensíveis de forma segura serão essenciais para pesquisas futuras nesse campo.

Trabalho Futuro

Daqui pra frente, estudos adicionais vão focar em refinar o desempenho dos LLMs e desenvolver métodos para extrair mais informações contextuais para uma construção eficaz de prompts. Pesquisas futuras também podem avaliar o impacto de entradas multimodais na assistência aos testes de GUI Android e se esforçar para estabelecer sistemas de suporte automatizados mais robustos para utilizar LLMs em ambientes de teste do mundo real.

Fonte original

Título: Large Language Models for Mobile GUI Text Input Generation: An Empirical Study

Resumo: Mobile applications (apps) have become an essential part of our daily lives, making ensuring their quality an important activity. GUI testing, a quality assurance method, has frequently been used for mobile apps. When conducting GUI testing, it is important to generate effective text inputs for the text-input components. Some GUIs require these text inputs to move from one page to the next, which remains a challenge to achieving complete UI exploration. Recently, Large Language Models (LLMs) have shown excellent text-generation capabilities. Among the LLMs, OpenAI's GPT series has been widely discussed and used. However, it may not be possible to use these LLMs for GUI testing actual mobile apps, due to the security and privacy issues related to the production data. Therefore, it is necessary to explore the potential of different LLMs to guide text-input generation in mobile GUI testing. This paper reports on a large-scale empirical study that extensively investigates the effectiveness of nine state-of-the-art LLMs in Android text-input generation for UI pages. We collected 114 UI pages from 62 open-source Android apps and extracted contextual information from the UI pages to construct prompts for LLMs to generate text inputs. The experimental results show that some LLMs can generate relatively more effective and higher-quality text inputs, achieving a 50.58% to 66.67% page-pass-through rate, and even detecting some real bugs in open-source apps. Compared with the GPT-3.5 and GPT-4 LLMs, other LLMs reduce the page-pass-through rates by 17.97% to 84.79% and 21.93% to 85.53%, respectively. We also found that using more complete UI contextual information can increase the page-pass-through rates of LLMs for generating text inputs. In addition, we also describe six insights gained regarding the use of LLMs for Android testing: These insights will benefit the Android testing community.

Autores: Chenhui Cui, Tao Li, Junjie Wang, Chunyang Chen, Dave Towey, Rubing Huang

Última atualização: 2024-04-13 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2404.08948

Fonte PDF: https://arxiv.org/pdf/2404.08948

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes