Resumo: Linha de produto de software (LP) é uma abordagem recente que oferece diversas vantagens para as organizações, tais como: reduções significativas no desenvolvimento e custo de manutenção e diminuição do time-to-market. Muitas vezes o processo de teste não consegue acompanhar a velocidade de desenvolvimento de uma LP. O custo relativo do teste torna-se superior comparado com testes em sistemas tradicionais. Devido a isso, testes em LP consomem muito tempo e esforços ultrapassando geralmente mais da metade do custo de desenvolvimento de sistemas únicos. Existem diversas abordagens de teste que apóiam o gerenciamento e a reutilização de testes de LP. Entretanto, as mesmas não promovem a reutilização de testes, e seus resultados, entre os produtos instanciados da LP. Este trabalho propõe o desenvolvimento de uma estratégia de teste incremental baseada em Máquina de Estados Finitos (MEFs), que permite a reutilização de testes entre produtos instanciados de uma LP. Esta reutilização inclui processos, artefatos e resultados de testes já realizados. Visando analisar a viabilidade da estratégia proposta foram realizados dois experimentos, em ambos os casos a estratégia mostrou-se bastante efetiva na geração e reutilização de conjuntos de testes entre os produtos da LP.
Abstract: Software Product Line (PL) is a recent approach which offers several benefits for organizations, such as significant reductions in development and maintenance costs and reduced time-to-market. The testing process cannot always follow the development speed of a PL. Its relative cost becomes higher compared to the testing traditional systems. Thus, tests consume a lot of time and effort usually represents more than half the cost of developing single systems. There are various testing approaches that support the management and reuse of tests in PL. However, they do not promote the reuse of tests, and their results, among the products instantiated from a PL. Thus, this project proposes the development of an incremental test strategy based on Finite State Machines (FSM), this allows the reuse of tests between products instantiated from a PL. This reuse includes test process, artifacts and results already carried out. Aiming to analyze the feasibility of the proposed strategy two experiments were conducted, in both cases the strategy proved very effective in generating and reuse of testing among the products of PL. |