Please use this identifier to cite or link to this item: https://hdl.handle.net/10923/14897
Type: doctoralThesis
Title: Split-MBT: a model-based testing method for software product lines
Author(s): Costa, Leandro Teodoro
Advisor: Zorzo, Avelino Francisco
Publisher: Pontifícia Universidade Católica do Rio Grande do Sul
Graduate Program: Programa de Pós-Graduação em Ciência da Computação
Issue Date: 2017
Keywords: ENGENHARIA DE SOFTWARE
REUTILIZAÇÃO DE SOFTWARE
INFORMÁTICA
Abstract: 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.
Software Product Lines (SPL) aim to develop systems based on reuse of software components. 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 variability 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.
URI: http://hdl.handle.net/10923/14897
Appears in Collections:Dissertação e Tese

Files in This Item:
File Description SizeFormat 
000493953-Texto+Completo-0.pdfTexto Completo8 MBAdobe PDFOpen
View


All Items in PUCRS Repository are protected by copyright, with all rights reserved, and are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Read more.