Os aplicativos móveis, desenvolvidos originalmente para a área do entretenimento, hoje estão presentes nos mais diversos domínios, sendo comuns inclusive em áreas de alto valor agregado, como: varejista, logística, bancária, médica, entre outras. Portanto, a qualidade e correção dos aplicativos móveis tornam-se obrigatórios e as atividades de teste essenciais. Porém a qualidade das aplicações móveis nem sempre é satisfatória. Isso ocorre devido ao fato dessas aplicações sofrerem com a pressão do mercado e passarem por um processo muito rápido de desenvolvimento, onde geralmente a fase de testes é negligenciada ou realizada de forma superficial, pela própria equipe de desenvolvimento, comprometendo assim a qualidade da aplicação. Este trabalho propõe uma abordagem baseada no Behavior Driven Development para ajudar na definição de testes de sistema para aplicativos nativos do Android. A abordagem proposta utiliza os arquivos de leiaute da aplicação para extrair informações sobre os componentes da interface e sobre os eventos esperados pelo sistema. A partir dessas informações, é possível verificar a cobertura dos cenários existentes em relação aos eventos disponíveis na interface com o usuário. Além disso, é possível identificar elementos do leiaute que não são exercitados pelos cenários existentes. A abordagem proposta é implementada por uma ferramenta chamada Android Behavior Testing Tool que, por meio da interpretação dos cenários do Behavior Driven Development, fornece uma visão geral do fluxo comportamental da aplicação ao testador (visão hoje não disponível), proporcionando assim uma noção de fácil compreensão sobre a cobertura dos testes em relação aos elementos da interface do aplicativo. Desta forma, o testador pode julgar a integridade dos casos de teste disponíveis em relação às funcionalidades implementadas e, se necessário, implementar novos testes. A ferramenta também faz uso dos arquivos de leiaute do aplicativo para identificar os componentes da interface que não foram testados e gera, neste caso, modelos de cenários no formato do BDD, automatizando assim a tarefa de escrita dos mesmos. A abordagem proposta foi utilizada em quatro aplicativos Android e se mostrou útil, uma vez que, em três estudos de caso foram detectados bugs oriundos de inconsistências lógicas nos cenários ou elementos não exercitados pelos cenários. / Mobile applications, originally developed for entertainment, nowadays are present in a wide range of domains, being common even in areas of high value such as retailer, logistics, banking, and medical, among others. However, the quality and correctness of mobile applications become mandatory and testing activities are essential. However, the quality of mobile applications is not always good enough. This is because these applications suffer from market pressure and pass through a very rapid development process where the testing phase usually is neglected or superficially performed by the development team itself, thus compromising the quality of the application. This work proposes an approach based on Behavior Driven Development to help to define system tests for native Android applications. The proposed approach uses the application's layout files to extract information about the interface components and the events expected by the system. From this information, it is possible to check out the coverage of existing test scenarios against events available in the user interface. In addition, it is possible to identify unexercised usage scenarios from the existing test scenarios. The proposed approach is implemented by a tool called Android Behavior Testing Tool which, through the interpretation of the BDD usage scenarios, provides to the tester an overview of the behavioral flow of the application (otherwise unavailable), thus providing a notion of easy understanding of test coverage in relation to the application interface elements. In this way, the tester can judge the integrity of the available test cases in relation to the functionalities implemented and, if necessary, implement new tests. The tool also makes use of the application's layout files to identify untested interface components and in this case generates test scenario models in the BDD format, thus automating the writing task of the scenarios. The proposed approach was used in four Android applications and proved to be useful, since in three case studies bugs were detected. Detected bugs originated from logical inconsistencies in the test scenarios or elements that were not exercised by the scenarios.
Identifer | oai:union.ndltd.org:IBICT/oai:lume56.ufrgs.br:10183/158399 |
Date | January 2017 |
Creators | Albiero, Fernando Weber |
Contributors | Cota, Erika Fernandes |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, instname:Universidade Federal do Rio Grande do Sul, instacron:UFRGS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0021 seconds