Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados

Detalhes bibliográficos
Autor(a) principal: Juliana Marino Balera
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações do INPE
Texto Completo: http://urlib.net/sid.inpe.br/mtc-m21b/2017/03.29.11.00.21
Resumo: Na perspectiva de sistemas complexos, como softwares desenvolvidos para aplicações espaciais tais como satélites, balões estratosféricos e foguetes, existem sempre riscos relacionados ao mau funcionamento do produto que podem causar danos ao meio ambiente, grandes perdas financeiras, ou o pior, perda de vidas. Para minimizar ao máximo esses riscos, é necessário que o processo de teste desses sistemas ocorra de forma rigorosa e eficiente. Como não é possível testar tais produtos exaustivamente, dada a larga gama de casos de teste possíveis, é fundamental, portanto, que se tenham disponíveis métodos para a geração/seleção de casos de teste que possuem grande potencial de revelação de defeitos, e que possuam custo reduzido. Nessa direção, designs combinatoriais vêm chamando atenção da comunidade de teste de software para gerar conjuntos de casos de testes menores (menor custo para executar) e eficientes (capacidade de encontrar defeitos no software). Diante disso, essa dissertação de mestrado tem como objetivo apresentar uma nova forma de gerar conjuntos de casos de teste via designs combinatoriais, sendo que tais casos de teste tenham custo menor e eficiência comparável à soluções já existentes na literatura. Então, um algoritmo, denominado T-Tuple Reallocation (TTR; Realocação de T-Tuplas), para gerar casos de teste de software via designs combinatoriais, especificamente via a técnica de Matriz de Cobertura com Níveis Variados (MCNV), foi desenvolvido. A ideia geral do TTR é derivar uma MCNV M por meio da criação e realocação de t-tuplas para a matriz M, considerando um parâmetro chamado meta ($\zeta$). Dois experimentos controlados e um quasiexperimento foram realizados para comparar o TTR com outros quatro algoritmos/ferramentas bastante conhecidos que geram MCNVs. No primeiro experimento controlado, comparou-se duas perspectivas de custo considerando a versão 1.1 do algoritmo TTR: tamanho das suites de teste e tempo para gerar as suites de teste. Além disso, realizou-se uma análise de similaridade entre esses conjuntos. No segundo experimento controlado, foi considerada uma versão melhorada do algoritmo TTR, versão 1.2, e comparou-se com os mesmos quatro algoritmos/ferramentas anteriores, mas considerando somente a perspectiva de custo relacionada ao tamanho das suites de teste e análise de similaridade. Por fim, um quasiexperimento foi realizado onde comparou-se a eficiência entre o TTR 1.2 e as outras quatro soluções, usando análise de mutantes e aplicando a um estudo de caso da área espacial. As conclusões dessas três avaliações rigorosas são que o TTR foi o algoritmo que apresentou melhor custo (menor quantidade de casos de teste para serem executados), mas que não há diferença de eficiência entre o TTR e as demais soluções. Além disso, as suites de teste não são similares, comparando o TTR com as outras soluções. Desse modo, pode-se afirmar que o TTR foi superior aos demais algoritmos/ferramentas pois teve mesma eficiência mas melhor custo.
id INPE_e4151a367fc343ee84148c512664893b
oai_identifier_str oai:urlib.net:sid.inpe.br/mtc-m21b/2017/03.29.11.00.22-0
network_acronym_str INPE
network_name_str Biblioteca Digital de Teses e Dissertações do INPE
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUm algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variadosAn algorithm for the generation of combinatorial test cases via mixed-level covering arrays2017-02-14Valdivino Alexandre de Santiago JúniorEduardo Martins GuerraLuiz Eduardo Galvão MartinsJuliana Marino BaleraInstituto Nacional de Pesquisas Espaciais (INPE)Programa de Pós-Graduação do INPE em Computação AplicadaINPEBRteste de softwareT-Tuple Reallocationdesigns combinatoriaismatriz de cobertura com níveis variadosexperimento controladosoftware testingT-Tuple Reallocationcombinatorial designsmixed-level covering arrayscontrolled experimentNa perspectiva de sistemas complexos, como softwares desenvolvidos para aplicações espaciais tais como satélites, balões estratosféricos e foguetes, existem sempre riscos relacionados ao mau funcionamento do produto que podem causar danos ao meio ambiente, grandes perdas financeiras, ou o pior, perda de vidas. Para minimizar ao máximo esses riscos, é necessário que o processo de teste desses sistemas ocorra de forma rigorosa e eficiente. Como não é possível testar tais produtos exaustivamente, dada a larga gama de casos de teste possíveis, é fundamental, portanto, que se tenham disponíveis métodos para a geração/seleção de casos de teste que possuem grande potencial de revelação de defeitos, e que possuam custo reduzido. Nessa direção, designs combinatoriais vêm chamando atenção da comunidade de teste de software para gerar conjuntos de casos de testes menores (menor custo para executar) e eficientes (capacidade de encontrar defeitos no software). Diante disso, essa dissertação de mestrado tem como objetivo apresentar uma nova forma de gerar conjuntos de casos de teste via designs combinatoriais, sendo que tais casos de teste tenham custo menor e eficiência comparável à soluções já existentes na literatura. Então, um algoritmo, denominado T-Tuple Reallocation (TTR; Realocação de T-Tuplas), para gerar casos de teste de software via designs combinatoriais, especificamente via a técnica de Matriz de Cobertura com Níveis Variados (MCNV), foi desenvolvido. A ideia geral do TTR é derivar uma MCNV M por meio da criação e realocação de t-tuplas para a matriz M, considerando um parâmetro chamado meta ($\zeta$). Dois experimentos controlados e um quasiexperimento foram realizados para comparar o TTR com outros quatro algoritmos/ferramentas bastante conhecidos que geram MCNVs. No primeiro experimento controlado, comparou-se duas perspectivas de custo considerando a versão 1.1 do algoritmo TTR: tamanho das suites de teste e tempo para gerar as suites de teste. Além disso, realizou-se uma análise de similaridade entre esses conjuntos. No segundo experimento controlado, foi considerada uma versão melhorada do algoritmo TTR, versão 1.2, e comparou-se com os mesmos quatro algoritmos/ferramentas anteriores, mas considerando somente a perspectiva de custo relacionada ao tamanho das suites de teste e análise de similaridade. Por fim, um quasiexperimento foi realizado onde comparou-se a eficiência entre o TTR 1.2 e as outras quatro soluções, usando análise de mutantes e aplicando a um estudo de caso da área espacial. As conclusões dessas três avaliações rigorosas são que o TTR foi o algoritmo que apresentou melhor custo (menor quantidade de casos de teste para serem executados), mas que não há diferença de eficiência entre o TTR e as demais soluções. Além disso, as suites de teste não são similares, comparando o TTR com as outras soluções. Desse modo, pode-se afirmar que o TTR foi superior aos demais algoritmos/ferramentas pois teve mesma eficiência mas melhor custo.With respect to complex systems, such as software developed for space applications like satellites, stratospheric balloons and rockets, there are always risks related to product malfunctioning that can cause damage to the environment, great financial losses, or worse, loss of lives. To minimize these risks, the testing process of these systems must be rigorous and efficient. Since it is not possible to test such products exhaustively, given the wide range of possible test cases, it is critical, therefore, that there are available methods for the generation/selection of test cases which have great potential for defects detection and a reduced cost. In this direction, combinatorial designs have drawn attention of the software testing community to generate sets of smaller (lower cost to run) and efficient (ability to find software defects) test cases. Therefore, this master dissertation aims to present a new way for generating sets of test cases via combinatorial designs, where such test cases have a lower cost and efficiency comparable to solutions already existing in the literature. Then, an algorithm, called T-Tuple Reallocation (TTR), to generate software test cases via combinatorial designs, specifically via the Mixed-Level Covering Array technique (MCA) was developed. The main reasoning behind TTR is to derive an MCA M by creating and relocating t-tuples to the matrix M, considering a parameter called goal ($\zeta$). Two controlled experiments and one quasiexperiment were performed to compare TTR with four other well-known algorithms/tools that generate MCAs. In the first controlled experiment, version 1.1 of TTR was compared considering two cost perspectives: size of the test suites and time to generate the test suites. In addition, a similarity analysis was accomplished between these sets. In the second controlled experiment, an improved version of TTR, version 1.2, was compared with the same four previous algorithms/tools, but only in the cost perspective related to the size of the test suites and similarity analysis. Finally, a quasiexperiment aimed to assess the efficiency between TTR 1.2 and the other four solutions was carried out, via mutation testing and a space application case study. The conclusions of these three rigorous evaluations are that TTR was the algorithm that presented the better cost (smaller number of test cases to execute), but that there is no difference in efficiency between TTR and the other solutions. In addition, the test suites are not similar, comparing TTR with the other approaches. Thus, it can be asserted that the TTR algorithm was superior to the other algorithms/tools because it had the same efficiency but better cost.http://urlib.net/sid.inpe.br/mtc-m21b/2017/03.29.11.00.21info:eu-repo/semantics/openAccessporreponame:Biblioteca Digital de Teses e Dissertações do INPEinstname:Instituto Nacional de Pesquisas Espaciais (INPE)instacron:INPE2021-07-31T06:55:18Zoai:urlib.net:sid.inpe.br/mtc-m21b/2017/03.29.11.00.22-0Biblioteca Digital de Teses e Dissertaçõeshttp://bibdigital.sid.inpe.br/PUBhttp://bibdigital.sid.inpe.br/col/iconet.com.br/banon/2003/11.21.21.08/doc/oai.cgiopendoar:32772021-07-31 06:55:19.504Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)false
dc.title.pt.fl_str_mv Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
dc.title.alternative.en.fl_str_mv An algorithm for the generation of combinatorial test cases via mixed-level covering arrays
title Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
spellingShingle Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
Juliana Marino Balera
title_short Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
title_full Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
title_fullStr Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
title_full_unstemmed Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
title_sort Um algoritmo para geração de casos de teste combinatorial via matriz de cobertura com níveis variados
author Juliana Marino Balera
author_facet Juliana Marino Balera
author_role author
dc.contributor.advisor1.fl_str_mv Valdivino Alexandre de Santiago Júnior
dc.contributor.referee1.fl_str_mv Eduardo Martins Guerra
dc.contributor.referee2.fl_str_mv Luiz Eduardo Galvão Martins
dc.contributor.author.fl_str_mv Juliana Marino Balera
contributor_str_mv Valdivino Alexandre de Santiago Júnior
Eduardo Martins Guerra
Luiz Eduardo Galvão Martins
dc.description.abstract.por.fl_txt_mv Na perspectiva de sistemas complexos, como softwares desenvolvidos para aplicações espaciais tais como satélites, balões estratosféricos e foguetes, existem sempre riscos relacionados ao mau funcionamento do produto que podem causar danos ao meio ambiente, grandes perdas financeiras, ou o pior, perda de vidas. Para minimizar ao máximo esses riscos, é necessário que o processo de teste desses sistemas ocorra de forma rigorosa e eficiente. Como não é possível testar tais produtos exaustivamente, dada a larga gama de casos de teste possíveis, é fundamental, portanto, que se tenham disponíveis métodos para a geração/seleção de casos de teste que possuem grande potencial de revelação de defeitos, e que possuam custo reduzido. Nessa direção, designs combinatoriais vêm chamando atenção da comunidade de teste de software para gerar conjuntos de casos de testes menores (menor custo para executar) e eficientes (capacidade de encontrar defeitos no software). Diante disso, essa dissertação de mestrado tem como objetivo apresentar uma nova forma de gerar conjuntos de casos de teste via designs combinatoriais, sendo que tais casos de teste tenham custo menor e eficiência comparável à soluções já existentes na literatura. Então, um algoritmo, denominado T-Tuple Reallocation (TTR; Realocação de T-Tuplas), para gerar casos de teste de software via designs combinatoriais, especificamente via a técnica de Matriz de Cobertura com Níveis Variados (MCNV), foi desenvolvido. A ideia geral do TTR é derivar uma MCNV M por meio da criação e realocação de t-tuplas para a matriz M, considerando um parâmetro chamado meta ($\zeta$). Dois experimentos controlados e um quasiexperimento foram realizados para comparar o TTR com outros quatro algoritmos/ferramentas bastante conhecidos que geram MCNVs. No primeiro experimento controlado, comparou-se duas perspectivas de custo considerando a versão 1.1 do algoritmo TTR: tamanho das suites de teste e tempo para gerar as suites de teste. Além disso, realizou-se uma análise de similaridade entre esses conjuntos. No segundo experimento controlado, foi considerada uma versão melhorada do algoritmo TTR, versão 1.2, e comparou-se com os mesmos quatro algoritmos/ferramentas anteriores, mas considerando somente a perspectiva de custo relacionada ao tamanho das suites de teste e análise de similaridade. Por fim, um quasiexperimento foi realizado onde comparou-se a eficiência entre o TTR 1.2 e as outras quatro soluções, usando análise de mutantes e aplicando a um estudo de caso da área espacial. As conclusões dessas três avaliações rigorosas são que o TTR foi o algoritmo que apresentou melhor custo (menor quantidade de casos de teste para serem executados), mas que não há diferença de eficiência entre o TTR e as demais soluções. Além disso, as suites de teste não são similares, comparando o TTR com as outras soluções. Desse modo, pode-se afirmar que o TTR foi superior aos demais algoritmos/ferramentas pois teve mesma eficiência mas melhor custo.
dc.description.abstract.eng.fl_txt_mv With respect to complex systems, such as software developed for space applications like satellites, stratospheric balloons and rockets, there are always risks related to product malfunctioning that can cause damage to the environment, great financial losses, or worse, loss of lives. To minimize these risks, the testing process of these systems must be rigorous and efficient. Since it is not possible to test such products exhaustively, given the wide range of possible test cases, it is critical, therefore, that there are available methods for the generation/selection of test cases which have great potential for defects detection and a reduced cost. In this direction, combinatorial designs have drawn attention of the software testing community to generate sets of smaller (lower cost to run) and efficient (ability to find software defects) test cases. Therefore, this master dissertation aims to present a new way for generating sets of test cases via combinatorial designs, where such test cases have a lower cost and efficiency comparable to solutions already existing in the literature. Then, an algorithm, called T-Tuple Reallocation (TTR), to generate software test cases via combinatorial designs, specifically via the Mixed-Level Covering Array technique (MCA) was developed. The main reasoning behind TTR is to derive an MCA M by creating and relocating t-tuples to the matrix M, considering a parameter called goal ($\zeta$). Two controlled experiments and one quasiexperiment were performed to compare TTR with four other well-known algorithms/tools that generate MCAs. In the first controlled experiment, version 1.1 of TTR was compared considering two cost perspectives: size of the test suites and time to generate the test suites. In addition, a similarity analysis was accomplished between these sets. In the second controlled experiment, an improved version of TTR, version 1.2, was compared with the same four previous algorithms/tools, but only in the cost perspective related to the size of the test suites and similarity analysis. Finally, a quasiexperiment aimed to assess the efficiency between TTR 1.2 and the other four solutions was carried out, via mutation testing and a space application case study. The conclusions of these three rigorous evaluations are that TTR was the algorithm that presented the better cost (smaller number of test cases to execute), but that there is no difference in efficiency between TTR and the other solutions. In addition, the test suites are not similar, comparing TTR with the other approaches. Thus, it can be asserted that the TTR algorithm was superior to the other algorithms/tools because it had the same efficiency but better cost.
description Na perspectiva de sistemas complexos, como softwares desenvolvidos para aplicações espaciais tais como satélites, balões estratosféricos e foguetes, existem sempre riscos relacionados ao mau funcionamento do produto que podem causar danos ao meio ambiente, grandes perdas financeiras, ou o pior, perda de vidas. Para minimizar ao máximo esses riscos, é necessário que o processo de teste desses sistemas ocorra de forma rigorosa e eficiente. Como não é possível testar tais produtos exaustivamente, dada a larga gama de casos de teste possíveis, é fundamental, portanto, que se tenham disponíveis métodos para a geração/seleção de casos de teste que possuem grande potencial de revelação de defeitos, e que possuam custo reduzido. Nessa direção, designs combinatoriais vêm chamando atenção da comunidade de teste de software para gerar conjuntos de casos de testes menores (menor custo para executar) e eficientes (capacidade de encontrar defeitos no software). Diante disso, essa dissertação de mestrado tem como objetivo apresentar uma nova forma de gerar conjuntos de casos de teste via designs combinatoriais, sendo que tais casos de teste tenham custo menor e eficiência comparável à soluções já existentes na literatura. Então, um algoritmo, denominado T-Tuple Reallocation (TTR; Realocação de T-Tuplas), para gerar casos de teste de software via designs combinatoriais, especificamente via a técnica de Matriz de Cobertura com Níveis Variados (MCNV), foi desenvolvido. A ideia geral do TTR é derivar uma MCNV M por meio da criação e realocação de t-tuplas para a matriz M, considerando um parâmetro chamado meta ($\zeta$). Dois experimentos controlados e um quasiexperimento foram realizados para comparar o TTR com outros quatro algoritmos/ferramentas bastante conhecidos que geram MCNVs. No primeiro experimento controlado, comparou-se duas perspectivas de custo considerando a versão 1.1 do algoritmo TTR: tamanho das suites de teste e tempo para gerar as suites de teste. Além disso, realizou-se uma análise de similaridade entre esses conjuntos. No segundo experimento controlado, foi considerada uma versão melhorada do algoritmo TTR, versão 1.2, e comparou-se com os mesmos quatro algoritmos/ferramentas anteriores, mas considerando somente a perspectiva de custo relacionada ao tamanho das suites de teste e análise de similaridade. Por fim, um quasiexperimento foi realizado onde comparou-se a eficiência entre o TTR 1.2 e as outras quatro soluções, usando análise de mutantes e aplicando a um estudo de caso da área espacial. As conclusões dessas três avaliações rigorosas são que o TTR foi o algoritmo que apresentou melhor custo (menor quantidade de casos de teste para serem executados), mas que não há diferença de eficiência entre o TTR e as demais soluções. Além disso, as suites de teste não são similares, comparando o TTR com as outras soluções. Desse modo, pode-se afirmar que o TTR foi superior aos demais algoritmos/ferramentas pois teve mesma eficiência mas melhor custo.
publishDate 2017
dc.date.issued.fl_str_mv 2017-02-14
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
status_str publishedVersion
format masterThesis
dc.identifier.uri.fl_str_mv http://urlib.net/sid.inpe.br/mtc-m21b/2017/03.29.11.00.21
url http://urlib.net/sid.inpe.br/mtc-m21b/2017/03.29.11.00.21
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Instituto Nacional de Pesquisas Espaciais (INPE)
dc.publisher.program.fl_str_mv Programa de Pós-Graduação do INPE em Computação Aplicada
dc.publisher.initials.fl_str_mv INPE
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Instituto Nacional de Pesquisas Espaciais (INPE)
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações do INPE
instname:Instituto Nacional de Pesquisas Espaciais (INPE)
instacron:INPE
reponame_str Biblioteca Digital de Teses e Dissertações do INPE
collection Biblioteca Digital de Teses e Dissertações do INPE
instname_str Instituto Nacional de Pesquisas Espaciais (INPE)
instacron_str INPE
institution INPE
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações do INPE - Instituto Nacional de Pesquisas Espaciais (INPE)
repository.mail.fl_str_mv
publisher_program_txtF_mv Programa de Pós-Graduação do INPE em Computação Aplicada
contributor_advisor1_txtF_mv Valdivino Alexandre de Santiago Júnior
_version_ 1706809359342764032