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

Detalhes bibliográficos
Autor(a) principal: Lima, Josias Gomes
Data de Publicação: 2018
Outros Autores: http://lattes.cnpq.br/4486583818819599
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFAM
Texto Completo: https://tede.ufam.edu.br/handle/tede/6646
Resumo: 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.
id UFAM_5a11d8b3f6b19522347018930516f4ab
oai_identifier_str oai:https://tede.ufam.edu.br/handle/:tede/6646
network_acronym_str UFAM
network_name_str Biblioteca Digital de Teses e Dissertações da UFAM
repository_id_str 6592
spelling SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações MóveisSCoTUAM: an approach for components selecting for unit testing in Mobile ApplicationsTeste de Aplicações MóveisTestes automatizadosTeste de unidadeSeleção de componentesMobile testingAutomated testingUnit testComponents selectionCIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO: METODOLOGIA E TÉCNICAS DA COMPUTAÇÃO: ENGENHARIA DE SOFTWAREO 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 AmazonasUniversidade Federal do AmazonasInstituto de ComputaçãoBrasilUFAMPrograma de Pós-graduação em InformáticaDias Neto, Arilo Cláudiohttp://lattes.cnpq.br/9112415346373126Carvalho, José Reginaldo H.http://lattes.cnpq.br/3161958119304780Freitas, Eduardo Noronha Andradehttp://lattes.cnpq.br/8639235593693663Lima, Josias Gomeshttp://lattes.cnpq.br/44865838188195992018-10-02T12:58:51Z2018-08-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfLIMA, 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/6646porhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFAMinstname:Universidade Federal do Amazonas (UFAM)instacron:UFAM2018-10-03T05:03:34Zoai:https://tede.ufam.edu.br/handle/:tede/6646Biblioteca Digital de Teses e Dissertaçõeshttp://200.129.163.131:8080/PUBhttp://200.129.163.131:8080/oai/requestddbc@ufam.edu.br||ddbc@ufam.edu.bropendoar:65922018-10-03T05:03:34Biblioteca Digital de Teses e Dissertações da UFAM - Universidade Federal do Amazonas (UFAM)false
dc.title.none.fl_str_mv 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
title SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
spellingShingle SCoTUAM: uma abordagem para seleção de componentes para testes unitários em Aplicações Móveis
Lima, Josias Gomes
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
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
author Lima, Josias Gomes
author_facet Lima, Josias Gomes
http://lattes.cnpq.br/4486583818819599
author_role author
author2 http://lattes.cnpq.br/4486583818819599
author2_role author
dc.contributor.none.fl_str_mv Dias Neto, Arilo Cláudio
http://lattes.cnpq.br/9112415346373126
Carvalho, José Reginaldo H.
http://lattes.cnpq.br/3161958119304780
Freitas, Eduardo Noronha Andrade
http://lattes.cnpq.br/8639235593693663
dc.contributor.author.fl_str_mv Lima, Josias Gomes
http://lattes.cnpq.br/4486583818819599
dc.subject.por.fl_str_mv 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
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
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.
publishDate 2018
dc.date.none.fl_str_mv 2018-10-02T12:58:51Z
2018-08-31
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 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
identifier_str_mv 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.
url https://tede.ufam.edu.br/handle/tede/6646
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Amazonas
Instituto de Computação
Brasil
UFAM
Programa de Pós-graduação em Informática
publisher.none.fl_str_mv Universidade Federal do Amazonas
Instituto de Computação
Brasil
UFAM
Programa de Pós-graduação em Informática
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFAM
instname:Universidade Federal do Amazonas (UFAM)
instacron:UFAM
instname_str Universidade Federal do Amazonas (UFAM)
instacron_str UFAM
institution UFAM
reponame_str Biblioteca Digital de Teses e Dissertações da UFAM
collection Biblioteca Digital de Teses e Dissertações da UFAM
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFAM - Universidade Federal do Amazonas (UFAM)
repository.mail.fl_str_mv ddbc@ufam.edu.br||ddbc@ufam.edu.br
_version_ 1800234114868051968