Dissertação

SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis

O teste de unidade é o nível de teste de software pelo qual partes individuais do código fonte são testadas. A realização deste tipo de teste traz alguns benefícios, tais como redução de falhas em recursos já existentes, melhoram a estrutura do código, diminuem os efeitos colaterais (side effects) e...

ver descrição completa

Autor principal: Lima, Josias Gomes
Outros Autores: http://lattes.cnpq.br/4486583818819599
Grau: Dissertação
Idioma: por
Publicado em: Universidade Federal do Amazonas 2018
Assuntos:
Acesso em linha: https://tede.ufam.edu.br/handle/tede/6646
id oai:https:--tede.ufam.edu.br-handle-:tede-6646
recordtype dspace
spelling oai:https:--tede.ufam.edu.br-handle-:tede-66462018-10-03T05:03:34Z SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis SCoTUAM: an approach for components selecting for unit testing in Mobile Applications Lima, Josias Gomes Dias Neto, Arilo Cláudio http://lattes.cnpq.br/4486583818819599 http://lattes.cnpq.br/9112415346373126 Carvalho, José Reginaldo H. http://lattes.cnpq.br/3161958119304780 Freitas, Eduardo Noronha Andrade http://lattes.cnpq.br/8639235593693663 Teste de Aplicações Móveis Testes automatizados Teste de unidade Seleção de componentes Mobile testing Automated testing Unit test Components selection CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO: METODOLOGIA E TÉCNICAS DA COMPUTAÇÃO: ENGENHARIA DE SOFTWARE O teste de unidade é o nível de teste de software pelo qual partes individuais do código fonte são testadas. A realização deste tipo de teste traz alguns benefícios, tais como redução de falhas em recursos já existentes, melhoram a estrutura do código, diminuem os efeitos colaterais (side effects) e reduzem o medo da alteração do código (Burke e Coyner, 2017). No entanto, a atividade de teste para aplicações móveis tem o tempo reduzido, fazendo com que alguns desenvolvedores optem por não criar os testes de unidade. O tempo reduzido faz com que a automatização dos testes se torne uma necessidade. Nesse contexto, este trabalho propõe um plugin para auxiliar os desenvolvedores na seleção de componentes que tenham um maior valor em relação ao custo x benefício do teste de unidade em aplicações móveis da plataforma Android. Para medir o valor do custo e benefício dos componentes, foram escolhidas as seguintes métricas: halstead effort (HE), custo de manutenção futura (CMF), cheiros de código (CS), frequência de chamadas (FC), risco de falhas (RF), vulnerabilidade de mercado (VM) e valor de negócio VN. O plugin proposto possui três processos principais: (1) Extração de métricas estáticas, (2) Extração de métricas dinâmicas, de mercado e de negócio e (3) Execução do algoritmo genético para seleção dos componentes a serem testados. O plugin chamado SCoTUAM pode ser adicionado à interface de desenvolvimento da IDE Android Studio. Neste trabalho foram realizados dois estudos empíricos para avaliação do plugin proposto. No primeiro estudo, o propósito foi analisar a correlação das métricas, onde o resultado mostrou a possibilidade de usar as métricas CMF, CS, FC, RF, VM e VN combinadas em uma solução multiobjetivo. No segundo estudo, o objetivo foi analisar a eficácia do plugin em selecionar componentes com erro comparado com a seleção manual realizada por especialistas em teste de unidade em aplicações móveis Android, onde o resultado mostrou a viabilidade da proposta em auxiliar o desenvolvedor na seleção de componentes para o teste de unidade. The unit test is the level of software testing by which individual parts of the source code are tested. Implementing this type of test brings some benefits such as reducing failures in existing resources, improving code structure, decrease side effects, and reducing fear of code change (Burke and Coyner, 2017). However, the test activity for mobile applications is time-consuming, causing some developers to choose not to create unit tests. Reduced time makes testing automation a necessity. In this context, this work proposes a plugin to assist developers in selecting components that have a greater value in relation to the cost x benefit of the unit test in mobile applications of the Android platform. To measure the value of cost and benefit of components, the following metrics were chosen: halstead effort (HE), future maintenance cost (FMC), code smells (CS), call frequency (CF), risk of failures (RF), market vulnerability (MV) and business value (BV). The proposed plugin has three main processes: (1) Extraction of static metrics; (2) Extraction of dynamic, market and business metrics; and (3) Execution of the genetic algorithm to select the components to be tested. The proposed plugin called SCoTUAM can be added to the development interface of the Android Studio IDE. In this work two empirical studies were carried out. In the first study, the purpose was to analyze the correlation of the metrics, where the result showed the possibility of using the combined FMC, CS, CF, RF, MV and BV metrics in a multiobjective solution. In the second study, the objective was to analyze the plugin’s effectiveness in selecting components with error compared to the manual selection performed by unit test specialists in Android mobile applications, where the result showed the feasibility of the proposal in assisting the developer in the selection of components for the unit test. FAPEAM - Fundação de Amparo à Pesquisa do Estado do Amazonas 2018-10-02T12:58:51Z 2018-08-31 Dissertação LIMA, Josias Gomes. SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis. 2018. 100 f. Dissertação (Mestrado em Informática) - Universidade Federal do Amazonas, Manaus, 2018. https://tede.ufam.edu.br/handle/tede/6646 por Acesso Aberto http://creativecommons.org/licenses/by/4.0/ application/pdf Universidade Federal do Amazonas Instituto de Computação Brasil UFAM Programa de Pós-graduação em Informática
institution TEDE - Universidade Federal do Amazonas
collection TEDE-UFAM
language por
topic Teste de Aplicações Móveis
Testes automatizados
Teste de unidade
Seleção de componentes
Mobile testing
Automated testing
Unit test
Components selection
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO: METODOLOGIA E TÉCNICAS DA COMPUTAÇÃO: ENGENHARIA DE SOFTWARE
spellingShingle Teste de Aplicações Móveis
Testes automatizados
Teste de unidade
Seleção de componentes
Mobile testing
Automated testing
Unit test
Components selection
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO: METODOLOGIA E TÉCNICAS DA COMPUTAÇÃO: ENGENHARIA DE SOFTWARE
Lima, Josias Gomes
SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
topic_facet Teste de Aplicações Móveis
Testes automatizados
Teste de unidade
Seleção de componentes
Mobile testing
Automated testing
Unit test
Components selection
CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO: METODOLOGIA E TÉCNICAS DA COMPUTAÇÃO: ENGENHARIA DE SOFTWARE
description O teste de unidade é o nível de teste de software pelo qual partes individuais do código fonte são testadas. A realização deste tipo de teste traz alguns benefícios, tais como redução de falhas em recursos já existentes, melhoram a estrutura do código, diminuem os efeitos colaterais (side effects) e reduzem o medo da alteração do código (Burke e Coyner, 2017). No entanto, a atividade de teste para aplicações móveis tem o tempo reduzido, fazendo com que alguns desenvolvedores optem por não criar os testes de unidade. O tempo reduzido faz com que a automatização dos testes se torne uma necessidade. Nesse contexto, este trabalho propõe um plugin para auxiliar os desenvolvedores na seleção de componentes que tenham um maior valor em relação ao custo x benefício do teste de unidade em aplicações móveis da plataforma Android. Para medir o valor do custo e benefício dos componentes, foram escolhidas as seguintes métricas: halstead effort (HE), custo de manutenção futura (CMF), cheiros de código (CS), frequência de chamadas (FC), risco de falhas (RF), vulnerabilidade de mercado (VM) e valor de negócio VN. O plugin proposto possui três processos principais: (1) Extração de métricas estáticas, (2) Extração de métricas dinâmicas, de mercado e de negócio e (3) Execução do algoritmo genético para seleção dos componentes a serem testados. O plugin chamado SCoTUAM pode ser adicionado à interface de desenvolvimento da IDE Android Studio. Neste trabalho foram realizados dois estudos empíricos para avaliação do plugin proposto. No primeiro estudo, o propósito foi analisar a correlação das métricas, onde o resultado mostrou a possibilidade de usar as métricas CMF, CS, FC, RF, VM e VN combinadas em uma solução multiobjetivo. No segundo estudo, o objetivo foi analisar a eficácia do plugin em selecionar componentes com erro comparado com a seleção manual realizada por especialistas em teste de unidade em aplicações móveis Android, onde o resultado mostrou a viabilidade da proposta em auxiliar o desenvolvedor na seleção de componentes para o teste de unidade.
author_additional Dias Neto, Arilo Cláudio
author_additionalStr Dias Neto, Arilo Cláudio
format Dissertação
author Lima, Josias Gomes
author2 http://lattes.cnpq.br/4486583818819599
author2Str http://lattes.cnpq.br/4486583818819599
title SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
title_short SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
title_full SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
title_fullStr SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
title_full_unstemmed SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
title_sort scotuam: uma abordagem para seleção de componentes para testes unitários em aplicações móveis
publisher Universidade Federal do Amazonas
publishDate 2018
url https://tede.ufam.edu.br/handle/tede/6646
_version_ 1831969665575813120
score 11.753735