Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal do Bahia
Universidade Federal da Bahia Brasil Programa de Pós-graduação em Ciência da Computação |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | https://deposita.ibict.br/handle/deposita/580 |
Resumo: | A constante busca pela qualidade sempre está em destaque na área de Engenharia de Software. Dentre as diversas disciplinas dedicadas a essa temática, o teste de software tem se estabelecido como uma das mais importantes, dado sua eficácia na identificação de defeitos, em momento prévio à liberação de sistemas de software para o mercado. O teste de software é atividade-chave para o desenvolvimento de software de qualidade. Entretanto, desenvolver testes é tão ou mais custoso do que desenvolver o código de produção. Uma alternativa para a redução dos custos associados ao teste de software se dá pelo uso intensivo de ferramentas de automação de testes. A proposta dessas ferramentas é reduzir o tempo de produção sem afetar a qualidade do código. Apesar dessa premissa, não é comum encontrar abordagens que incluam uma camada de verificação de qualidade dos testes gerados automaticamente, o que pode reduzir a confiabilidade da eficácia desses testes. Neste cenário, a proposta dessa dissertação é analisar empiricamente massas de dados de teste, sob a perspectiva de test smells, no sentido de avaliar a qualidade dos testes produzidos por ferramentas de geração automatizada de testes de software. Test smells são más escolhas no design dos testes e tem características sintomáticas e podem acarretar diminuição na qualidade dos sistemas. Considerando os test smells em código de teste, o estudo analisa os testes gerados por duas ferramentas amplamente aceitas pela comunidade de testes: Evosuite e Randoop. Um conjunto de vinte e um projetos de software de código aberto, disponíveis na plataforma Github foram considerados no estudo. A análise considerou a dispersão de test smells no código de teste desses projetos, bem como a existência de potenciais correlações entre test smells e as relações com as métricas estruturais. Como principais resultados, encontramos fortes correlações entre os test smells e as métricas de cobertura do código, diferenças significativas entre os dados encontrados nas suítes de testes geradas automaticamente e com os testes pré-existentes nos projetos avaliados. |