Split-MBT : a model-based testing method for software product lines

Detalhes bibliográficos
Autor(a) principal: Costa, Leandro Teodoro
Data de Publicação: 2017
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: http://tede2.pucrs.br/tede2/handle/tede/8443
Resumo: Linhas de Produtos de Software (LPS) tem como objetivo auxiliar no desenvolvimento de sistemas com base na reutilização de componentes de software. Através deste conceito, é possível criar um conjunto de sistemas similares, reduzindo assim o tempo de comercialização e custo e, consequentemente, obter maior produtividade e melhorias na qualidade do software. Embora o reuso seja a base para o desenvolvimento de sistemas para LPS, a atividade de teste ainda não se beneficia totalmente desse conceito. Isto se deve a um importante fator inerente a LPS, i.e., Variabilidade. A variabilidade diz respeito a como os membros/componentes que compõem os produtos de uma LPS diferem entre si. Além disso, a variabilidade representa diferentes tipos de variação sob diferentes níveis com diferentes tipos de dependência. O problema de lidar com a variabilidade no contexto do teste não é uma tarefa trivial, uma vez que quando a variabilidade em LPSs cresce, a quantidade de testes necessários para avaliar a qualidade do produto pode aumentar exponencialmente. Portanto, esta tese apresenta um método chamado SPLiT-MBt para gerar casos de teste funcional e scripts para testar produtos derivados de LPSs. Assim, os casos de teste para testar funcionalidades comuns entre os produtos são gerados com base nesse reuso inerente às LPSs. Para fornecer esse reuso, o SPLiT-MBt é aplicado em duas etapas. Na primeira, as informações de variabilidade e teste anotadas em modelos de sistema são utilizadas para gerar seqüências de teste usando diferentes métodos, e.g., HSI, UIO, DS ou TT. Esses métodos são aplicados a modelos formais, e.g., Máquinas de Estado Finitos (FSMs), as quais são estendidas para lidar com informações de variabilidade. Na segunda etapa, os modelos de teste e as seqüências geradas são reutilizados para gerar scripts de teste, os quais podem ser executados por diferentes ferramentas de teste funcional com o objetivo de avaliar a qualidade dos produtos. Finalmente, para demonstrar a aplicabilidade deste trabalho, utilizamos nosso método para testar produtos de duas LPSs, i.e., uma LPS real chamada PLeTs e uma LPS acadêmica chamada AGM. Além disso, realizamos um estudo experimental com o intuito de avaliar o esforço de gerar casos de teste para produtos de uma LPS. O objetivo foi comparar o nosso SPLiT- MBt com outras duas metodologias/abordagens de teste de LPSs. Ao final, os resultados apontam que o esforço para gerar casos de teste usando nosso método foi reduzido consideravelmente quando comparado com as outras metodologias.
id P_RS_fe445e4b87e82258b2585cb1325802ea
oai_identifier_str oai:tede2.pucrs.br:tede/8443
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Zorzo, Avelino Franciscohttp://lattes.cnpq.br/4315350764773182http://lattes.cnpq.br/2750867030473479Costa, Leandro Teodoro2019-02-11T17:49:37Z2017-08-22http://tede2.pucrs.br/tede2/handle/tede/8443Linhas de Produtos de Software (LPS) tem como objetivo auxiliar no desenvolvimento de sistemas com base na reutilização de componentes de software. Através deste conceito, é possível criar um conjunto de sistemas similares, reduzindo assim o tempo de comercialização e custo e, consequentemente, obter maior produtividade e melhorias na qualidade do software. Embora o reuso seja a base para o desenvolvimento de sistemas para LPS, a atividade de teste ainda não se beneficia totalmente desse conceito. Isto se deve a um importante fator inerente a LPS, i.e., Variabilidade. A variabilidade diz respeito a como os membros/componentes que compõem os produtos de uma LPS diferem entre si. Além disso, a variabilidade representa diferentes tipos de variação sob diferentes níveis com diferentes tipos de dependência. O problema de lidar com a variabilidade no contexto do teste não é uma tarefa trivial, uma vez que quando a variabilidade em LPSs cresce, a quantidade de testes necessários para avaliar a qualidade do produto pode aumentar exponencialmente. Portanto, esta tese apresenta um método chamado SPLiT-MBt para gerar casos de teste funcional e scripts para testar produtos derivados de LPSs. Assim, os casos de teste para testar funcionalidades comuns entre os produtos são gerados com base nesse reuso inerente às LPSs. Para fornecer esse reuso, o SPLiT-MBt é aplicado em duas etapas. Na primeira, as informações de variabilidade e teste anotadas em modelos de sistema são utilizadas para gerar seqüências de teste usando diferentes métodos, e.g., HSI, UIO, DS ou TT. Esses métodos são aplicados a modelos formais, e.g., Máquinas de Estado Finitos (FSMs), as quais são estendidas para lidar com informações de variabilidade. Na segunda etapa, os modelos de teste e as seqüências geradas são reutilizados para gerar scripts de teste, os quais podem ser executados por diferentes ferramentas de teste funcional com o objetivo de avaliar a qualidade dos produtos. Finalmente, para demonstrar a aplicabilidade deste trabalho, utilizamos nosso método para testar produtos de duas LPSs, i.e., uma LPS real chamada PLeTs e uma LPS acadêmica chamada AGM. Além disso, realizamos um estudo experimental com o intuito de avaliar o esforço de gerar casos de teste para produtos de uma LPS. O objetivo foi comparar o nosso SPLiT- MBt com outras duas metodologias/abordagens de teste de LPSs. Ao final, os resultados apontam que o esforço para gerar casos de teste usando nosso método foi reduzido consideravelmente quando comparado com as outras metodologias.Software Product Lines (SPL) aim to develop systems based on reuse of software com- ponents. Through this concept it is possible to create a set of similar systems, thus reducing time to market and cost and thus obtaining greater productivity and improve software quality. Although reuse is the basis for developing systems from SPLs, the testing activity does not yet fully benefit from this concept. This is due to an important aspect inherent to SPLs, i.e., variability. The vari- ability refers to how the members/components that compose the products of an SPL are different from each other. It represents different types of variation on different levels with different types of dependencies. The problem of dealing with variability in the test context is not a trivial task, since when variability in SPLs grows, the amount of tests needed to assess the product quality can increase exponentially. This thesis presents a method called SPLiT-MBt to generate functional test cases and scripts to test products derived from SPLs. Thus, test cases to test products common functionalities are generated based on the reuse inherent to SPLs. In order to provide this reuse, SPLiT MBt is applied in two steps. In the first step, variability and test information annotated in system models are used to generate test sequences using different methods, e.g., HSI, UIO, DS or TT. These methods are applied to formal models, e.g., Finite State Machines (FSMs) that are extended to deal with variability information. In the second step, test models and sequences are reused to generate test scripts, which could be executed by different functional testing tools with the aim of evaluating the quality of products. Finally, in order to demonstrate the applicability of this work, we apply our method to test products of two SPLs, i.e., an actual SPL named PLeTs and an academic SPL named AGM. Moreover, we also performed an experimental study to evaluate the effort to generate test cases for SPL products. The main goal was to make a comparison between our SPLiT MBt and two other methodologies/approaches. Thus, the results point out that the effort to generate test cases using our method was reduced considerably when compared to the other methodologies.Submitted by PPG Ciência da Computação (ppgcc@pucrs.br) on 2019-02-06T18:18:26Z No. of bitstreams: 1 LEANDRO TEODORO COSTA_TES.pdf: 8195017 bytes, checksum: 91fbf8527a9e1251cdef6c93d7bfa421 (MD5)Approved for entry into archive by Sheila Dias (sheila.dias@pucrs.br) on 2019-02-11T17:06:44Z (GMT) No. of bitstreams: 1 LEANDRO TEODORO COSTA_TES.pdf: 8195017 bytes, checksum: 91fbf8527a9e1251cdef6c93d7bfa421 (MD5)Made available in DSpace on 2019-02-11T17:49:37Z (GMT). No. of bitstreams: 1 LEANDRO TEODORO COSTA_TES.pdf: 8195017 bytes, checksum: 91fbf8527a9e1251cdef6c93d7bfa421 (MD5) Previous issue date: 2017-08-22application/pdfhttp://tede2.pucrs.br:80/tede2/retrieve/174087/LEANDRO%20TEODORO%20COSTA_TES.pdf.jpgengPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBrasilEscola PolitécnicaLinha de Produto de SoftwareTeste de Linha de Produto de SoftwareTeste FuncionalTeste Baseado em ModelosMétodos de Geração de Casos de TesteSoftware Product LineSoftware Product Line TestingFunctional TestingModel-Based TestingTest Case Generation MethodCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOSplit-MBT : a model-based testing method for software product linesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisTrabalho não apresenta restrição para publicação-4570527706994352458500500-862078257083325301info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RSTHUMBNAILLEANDRO TEODORO COSTA_TES.pdf.jpgLEANDRO TEODORO COSTA_TES.pdf.jpgimage/jpeg5571http://tede2.pucrs.br/tede2/bitstream/tede/8443/4/LEANDRO+TEODORO+COSTA_TES.pdf.jpgff18b5182f4fb709b67501ed4c3ac14fMD54TEXTLEANDRO TEODORO COSTA_TES.pdf.txtLEANDRO TEODORO COSTA_TES.pdf.txttext/plain325374http://tede2.pucrs.br/tede2/bitstream/tede/8443/3/LEANDRO+TEODORO+COSTA_TES.pdf.txtfc6004442f645c6b7ffd0461279c7d8bMD53ORIGINALLEANDRO TEODORO COSTA_TES.pdfLEANDRO TEODORO COSTA_TES.pdfapplication/pdf8195017http://tede2.pucrs.br/tede2/bitstream/tede/8443/2/LEANDRO+TEODORO+COSTA_TES.pdf91fbf8527a9e1251cdef6c93d7bfa421MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-8590http://tede2.pucrs.br/tede2/bitstream/tede/8443/1/license.txt220e11f2d3ba5354f917c7035aadef24MD51tede/84432019-02-11 20:00:35.349oai:tede2.pucrs.br:tede/8443QXV0b3JpemE/P28gcGFyYSBQdWJsaWNhPz9vIEVsZXRyP25pY2E6IENvbSBiYXNlIG5vIGRpc3Bvc3RvIG5hIExlaSBGZWRlcmFsIG4/OS42MTAsIGRlIDE5IGRlIGZldmVyZWlybyBkZSAxOTk4LCBvIGF1dG9yIEFVVE9SSVpBIGEgcHVibGljYT8/byBlbGV0cj9uaWNhIGRhIHByZXNlbnRlIG9icmEgbm8gYWNlcnZvIGRhIEJpYmxpb3RlY2EgRGlnaXRhbCBkYSBQb250aWY/Y2lhIFVuaXZlcnNpZGFkZSBDYXQ/bGljYSBkbyBSaW8gR3JhbmRlIGRvIFN1bCwgc2VkaWFkYSBhIEF2LiBJcGlyYW5nYSA2NjgxLCBQb3J0byBBbGVncmUsIFJpbyBHcmFuZGUgZG8gU3VsLCBjb20gcmVnaXN0cm8gZGUgQ05QSiA4ODYzMDQxMzAwMDItODEgYmVtIGNvbW8gZW0gb3V0cmFzIGJpYmxpb3RlY2FzIGRpZ2l0YWlzLCBuYWNpb25haXMgZSBpbnRlcm5hY2lvbmFpcywgY29ucz9yY2lvcyBlIHJlZGVzID9zIHF1YWlzIGEgYmlibGlvdGVjYSBkYSBQVUNSUyBwb3NzYSBhIHZpciBwYXJ0aWNpcGFyLCBzZW0gP251cyBhbHVzaXZvIGFvcyBkaXJlaXRvcyBhdXRvcmFpcywgYSB0P3R1bG8gZGUgZGl2dWxnYT8/byBkYSBwcm9kdT8/byBjaWVudD9maWNhLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2019-02-11T22:00:35Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.por.fl_str_mv Split-MBT : a model-based testing method for software product lines
title Split-MBT : a model-based testing method for software product lines
spellingShingle Split-MBT : a model-based testing method for software product lines
Costa, Leandro Teodoro
Linha de Produto de Software
Teste de Linha de Produto de Software
Teste Funcional
Teste Baseado em Modelos
Métodos de Geração de Casos de Teste
Software Product Line
Software Product Line Testing
Functional Testing
Model-Based Testing
Test Case Generation Method
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
title_short Split-MBT : a model-based testing method for software product lines
title_full Split-MBT : a model-based testing method for software product lines
title_fullStr Split-MBT : a model-based testing method for software product lines
title_full_unstemmed Split-MBT : a model-based testing method for software product lines
title_sort Split-MBT : a model-based testing method for software product lines
author Costa, Leandro Teodoro
author_facet Costa, Leandro Teodoro
author_role author
dc.contributor.advisor1.fl_str_mv Zorzo, Avelino Francisco
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/4315350764773182
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/2750867030473479
dc.contributor.author.fl_str_mv Costa, Leandro Teodoro
contributor_str_mv Zorzo, Avelino Francisco
dc.subject.por.fl_str_mv Linha de Produto de Software
Teste de Linha de Produto de Software
Teste Funcional
Teste Baseado em Modelos
Métodos de Geração de Casos de Teste
topic Linha de Produto de Software
Teste de Linha de Produto de Software
Teste Funcional
Teste Baseado em Modelos
Métodos de Geração de Casos de Teste
Software Product Line
Software Product Line Testing
Functional Testing
Model-Based Testing
Test Case Generation Method
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Software Product Line
Software Product Line Testing
Functional Testing
Model-Based Testing
Test Case Generation Method
dc.subject.cnpq.fl_str_mv CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
description Linhas de Produtos de Software (LPS) tem como objetivo auxiliar no desenvolvimento de sistemas com base na reutilização de componentes de software. Através deste conceito, é possível criar um conjunto de sistemas similares, reduzindo assim o tempo de comercialização e custo e, consequentemente, obter maior produtividade e melhorias na qualidade do software. Embora o reuso seja a base para o desenvolvimento de sistemas para LPS, a atividade de teste ainda não se beneficia totalmente desse conceito. Isto se deve a um importante fator inerente a LPS, i.e., Variabilidade. A variabilidade diz respeito a como os membros/componentes que compõem os produtos de uma LPS diferem entre si. Além disso, a variabilidade representa diferentes tipos de variação sob diferentes níveis com diferentes tipos de dependência. O problema de lidar com a variabilidade no contexto do teste não é uma tarefa trivial, uma vez que quando a variabilidade em LPSs cresce, a quantidade de testes necessários para avaliar a qualidade do produto pode aumentar exponencialmente. Portanto, esta tese apresenta um método chamado SPLiT-MBt para gerar casos de teste funcional e scripts para testar produtos derivados de LPSs. Assim, os casos de teste para testar funcionalidades comuns entre os produtos são gerados com base nesse reuso inerente às LPSs. Para fornecer esse reuso, o SPLiT-MBt é aplicado em duas etapas. Na primeira, as informações de variabilidade e teste anotadas em modelos de sistema são utilizadas para gerar seqüências de teste usando diferentes métodos, e.g., HSI, UIO, DS ou TT. Esses métodos são aplicados a modelos formais, e.g., Máquinas de Estado Finitos (FSMs), as quais são estendidas para lidar com informações de variabilidade. Na segunda etapa, os modelos de teste e as seqüências geradas são reutilizados para gerar scripts de teste, os quais podem ser executados por diferentes ferramentas de teste funcional com o objetivo de avaliar a qualidade dos produtos. Finalmente, para demonstrar a aplicabilidade deste trabalho, utilizamos nosso método para testar produtos de duas LPSs, i.e., uma LPS real chamada PLeTs e uma LPS acadêmica chamada AGM. Além disso, realizamos um estudo experimental com o intuito de avaliar o esforço de gerar casos de teste para produtos de uma LPS. O objetivo foi comparar o nosso SPLiT- MBt com outras duas metodologias/abordagens de teste de LPSs. Ao final, os resultados apontam que o esforço para gerar casos de teste usando nosso método foi reduzido consideravelmente quando comparado com as outras metodologias.
publishDate 2017
dc.date.issued.fl_str_mv 2017-08-22
dc.date.accessioned.fl_str_mv 2019-02-11T17:49:37Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://tede2.pucrs.br/tede2/handle/tede/8443
url http://tede2.pucrs.br/tede2/handle/tede/8443
dc.language.iso.fl_str_mv eng
language eng
dc.relation.program.fl_str_mv -4570527706994352458
dc.relation.confidence.fl_str_mv 500
500
dc.relation.cnpq.fl_str_mv -862078257083325301
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv PUCRS
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Escola Politécnica
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
bitstream.url.fl_str_mv http://tede2.pucrs.br/tede2/bitstream/tede/8443/4/LEANDRO+TEODORO+COSTA_TES.pdf.jpg
http://tede2.pucrs.br/tede2/bitstream/tede/8443/3/LEANDRO+TEODORO+COSTA_TES.pdf.txt
http://tede2.pucrs.br/tede2/bitstream/tede/8443/2/LEANDRO+TEODORO+COSTA_TES.pdf
http://tede2.pucrs.br/tede2/bitstream/tede/8443/1/license.txt
bitstream.checksum.fl_str_mv ff18b5182f4fb709b67501ed4c3ac14f
fc6004442f645c6b7ffd0461279c7d8b
91fbf8527a9e1251cdef6c93d7bfa421
220e11f2d3ba5354f917c7035aadef24
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1799765337355321344