Split-MBT : a model-based testing method for software product lines
Autor(a) principal: | |
---|---|
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 |