211 |
Um framework para testes de software na nuvemOliveira, Gustavo Sávio de 29 August 2012 (has links)
Submitted by Viviane Lima da Cunha (viviane@biblioteca.ufpb.br) on 2016-02-05T13:53:20Z
No. of bitstreams: 1
arquivototal.pdf: 3017391 bytes, checksum: 2d9df98f6995f20b319fb2801efa114d (MD5) / Made available in DSpace on 2016-02-05T13:53:20Z (GMT). No. of bitstreams: 1
arquivototal.pdf: 3017391 bytes, checksum: 2d9df98f6995f20b319fb2801efa114d (MD5)
Previous issue date: 2012-08-29 / Conselho Nacional de Pesquisa e Desenvolvimento Científico e Tecnológico - CNPq / Cloud Computing infrastructures can be used to make the testing process more efficient and effective, resulting from lower costs of acquisition of infrastructure to the flexibility of using only the resources actually required to perform the tests. However, exploiting such infrastructures to assist in the testing process requires automation and setup procedures not always available. In this context, we identified the lack of tools that effectively automate the entire process and make a cloud computing infrastructure part of the development and testing environment. This work presents a solution that distributes and coordinates the parallel execution of automated software testing in distributed and heterogeneous environments. This solution, called CloudTesting, provides the necessary support to developers to perform unit tests in the cloud. Experiments performed with CloudTesting in a cloud computing infrastructure showed reductions of more than 20 hours of execution time spent of a condensed set of unit tests. / Infraestruturas de computação em nuvens podem ser utilizadas para tornar o processo de testes mais eficiente e eficaz, obtendo desde redução dos custos de aquisição de infraestrutura à flexibilidade em se utilizar apenas os recursos realmente necessários para efetuar os testes. Entretanto, explorar tais infraestruturas para auxiliar no processo de testes requer procedimentos de configuração e automatização nem sempre disponíveis. Neste contexto, identificamos a ausência de ferramental que efetivamente automatizasse todo o processo e tornasse uma infraestrutura de computação em nuvem parte integrante do ambiente de desenvolvimento e testes. Este trabalho objetiva apresentar uma solução que distribui e coordena a execução paralela de testes automáticos de software em ambientes distribuídos e heterogêneos. Tal solução, denominada CloudTesting fornece ao desenvolvedor o suporte necessário para executar testes de unidade de software na nuvem. Experimentos realizados com o CloudTesting em uma infraestrutura de computação na nuvem demonstraram reduções de mais de 20 horas no tempo gasto de execução de um conjunto sintético de testes de unidade.
|
212 |
Exploring a keyword driven testing framework : a case study at Scania ITAziz, Yama January 2017 (has links)
The purpose of this thesis is to investigate organizational quality assurance through the international testing standard ISO 29119. The focus will be on how an organization carries out testing processes and designs and implements test cases. Keyword driven testing is a test composition concept in ISO 29119 and suitable for automation. This thesis will answer how keyword driven testing can facilitate the development of maintainable test cases and support test automation in an agile organization. The methodology used was a qualitative case study including semi-structured interviews and focus groups with agile business units within Scania IT. Among the interview participants were developers, test engineers, scrum masters and a unit manager. The results describe testing practices carried out in several agile business units, maintainability issues with test automation and general ideas of how test automation should be approached. Common issues with test automation were test cases failing due to changed test inputs, inexperience with test automation frameworks and lack of resources due to project release cycle. This thesis concludes that keyword driven testing has the potential of solving several maintainability issues with test cases breaking. However, the practicality and effectiveness of said potential remain unanswered. Moreover, successfully developing an automated keyword driven testing framework requires integration with existing test automation tools and considering the agile organizational circumstances.
|
213 |
Teste estrutural de programas concorrentes como uma composição de serviços na Web / Structural testing of concurrent programs as a Web service compositionRafael Regis do Prado 24 March 2016 (has links)
O teste de programas concorrentes é essencial para assegurar a qualidade das atuais aplicações distribuídas/paralelas em desenvolvimento. Apesar de ser essencial, essa atividade de teste é dificilmente empregada adequadamente, devido a fatores como: alto custo de execução, grande lacuna entre desenvolvedores e resultados de pesquisas em testes para programas concorrentes e acesso às ferramentas de teste de programas concorrentes que automatizem/viabilizem o emprego do teste. Este projeto visa definir os parâmetros da atividade de teste estrutural de programas concorrentes que nortearão a composição de diferentes serviços na Web. Tais serviços dão suporte à atividade de teste estrutural de programas concorrentes, estabelecendo fronteiras claras em ferramentas de teste para os módulos relativos ao modelo de teste, aos critérios de teste, à linguagem de programação e aos paradigmas de sincronização. Desse modo, novas ferramentas de teste poderão ser construídas de maneira mais flexível, com menos custo de desenvolvimento e com mais eficácia. Tal abordagem traz como benefícios diretos: (1) facilitar a interação entre os setores da indústria, ensino e pesquisa que estejam interessados no desenvolvimento de programas concorrentes com qualidade; (2) diminuir os custos de instalação e manutenção de ferramentas de teste estrutural pelos desenvolvedores; (3) facilitar a incorporação da atividade de teste de programas concorrentes no ciclo de desenvolvimento das aplicações distribuídas e paralelas; (4) aumentar a abrangência do projeto TestPar, permitindo que novos usuários (desenvolvedores, professores e outros grupos de pesquisa) possam utilizar facilmente os conhecimentos gerados no projeto; e (5) realimentar o projeto TestPar com novas demandas qualificadas, estas advindas de novos programas concorrentes submetidos para teste. / Testing of concurrent programs is essential to ensure the quality of todays distributed/parallel applications in development. Although it is essential that testing activity is hardly properly employed, due to factors such as high cost of implementation, big gap between developers and research results in tests for competing programs and access to competing software testing tools to automate / enable the test job. This project aims to define the parameters of structural testing activity of concurrent programs that will guide the composition of different Web services. These services support the structural testing activity of concurrent programs, establishing clear boundaries in test tools for the modules related to the test model, the test criteria, the programming and synchronization paradigms language. Thus, new test tools can be built in a more flexible way, with less development cost and more effectively. Such an approach has as direct benefits: (1) facilitate interaction between industry sectors, education and research who are interested in the development of concurrent programs with quality; (2) reduce the costs of installation and maintenance of structural testing tools for developers; (3) facilitate the incorporation of testing activity of concurrent programs in the development cycle of distributed and parallel applications; (4) increase the scope of TestPar design, allowing new users (developers, teachers and other research groups) can easily use the knowledge generated in the project; and (5) feed back into the project TestPar with new demands qualified, those arising from new concurrent programs submitted for testing.
|
214 |
Teste de mutação aplicado a programas concorrentes em MPI / Mutation testing applied to concurrent programs in MPIRodolfo Adamshuk Silva 13 March 2013 (has links)
A Programação Concorrente tornou-se uma forma popular de desenvolvimento de software. Este paradigma de desenvolvimento e essencial para construir aplicações com o intuito de reduzir o tempo computacional em muitos domínios como, por exemplo, previsão tempo, processamento de imagem, entre outros. Estes programas têm novas características como a comunicação, a sincronização e o não determinismo, que precisam ser considerados durante a atividade de teste. O teste de software e uma atividade que busca garantir a qualidade por meio da identificação de falhas no produto. O Teste de Mutação e um critério de teste que se baseia nos enganos que podem ser cometidos pelos desenvolvedores de software. Porém, o teste de mutação não pode ser aplicado em programas concorrentes da mesma maneira como e aplicado em programas sequenciais por causa das particularidades presentes nos programas concorrentes. Um problema de aplicar o teste de mutação nesse contexto e o comportamento não determinístico das aplicações. Este trabalho investiga a definição do teste de mutação para programas concorrentes implementados em MPI (Message Passing Interface), os quais realizam comunicação e sincronização por meio de troca de mensagens. Para isso, defeitos típicos nesse domínio foram considerados, buscando modelar operadores de mutação para tratar os aspectos de comunicação e sincronização dessas aplicações. Também foi proposto um procedimento para dar suporte a análise comportamental dos mutantes. As idéias foram implementadas em uma ferramenta de teste chamada ValiMPI Mut / Concurrent programming became a popular paradigm for software development. This paradigm is essential to build applications which aim to reduce the computational time in many areas, such as, weather forecast, image processing, among others. These programs present new features such as communication, synchronization, and nondeterminism, which must be considered during the testing activity. Software testing is an activity that looks to ensure quality by identifying faults in the product. Mutation Testing is a criterion based on the most common mistakes that might be made by software developers. However, the mutation testing cannot be applied in concurrent programs the same way as applied in sequential ones due to the peculiarities present in concurrent programs. One of the problems in applying mutation testing in this context is the non-deterministic behavior. This work investigates the definition of mutation testing for concurrent programs implemented in MPI (Message Passing Interface), which perform communication and synchronization using message passing. For this, typical faults in this area were considered in order to model mutation operators addressing the aspects of communication and synchronization of these applications. Also, we are proposing a new procedure to support the behavioral analysis of the mutants. The ideas were implemented in a testing tool called ValiMPI Mut
|
215 |
Um ambiente para geraÃÃo de cenÃrios de testes para linhas de produtos de software sensÃveis ao contexto / An environment for the generation of test scenarios for software product lines context sensitiveIsmayle de Sousa Santos 04 March 2013 (has links)
CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior / Uma Linha de Produto de Software SensÃvel ao Contexto (LPSSC) Ã uma linha de produto para o desenvolvimento de aplicaÃÃes sensÃveis ao contexto, que alteram dinamicamente
o comportamento ou que proveem serviÃos com base em informaÃÃes de contexto. Nesse cenÃrio, a atividade de testes precisa lidar ao mesmo tempo com as peculiaridades das
aplicaÃÃes finais, que sÃo sensÃveis ao contexto, e com o paradigma de desenvolvimento em linha de produto. Mediante a complexidade envolvida nos testes de uma LPSSC, à fundamental a existÃncia de mÃtodos ou ferramentas de suporte a essa atividade, especialmente com a intenÃÃo de criar testes a partir dos requisitos da linha. O objetivo dessa geraÃÃo precoce dos testes à permitir a identificaÃÃo e correÃÃo dos defeitos nos estÃgios iniciais de desenvolvimento. Dessa forma, esta dissertaÃÃo tem por objetivo propor um ambiente de geraÃÃo de cenÃrios de testes para uma LPSSC que utiliza especificaÃÃes textuais de casos de uso com informaÃÃes de contexto e que possibilita a reutilizaÃÃo dos testes. Este ambiente à constituÃdo pela proposta de um mÃtodo de geraÃÃo de cenÃrios de testes, de um template para especificaÃÃo textual de casos de uso de uma LPSSC e de uma ferramenta de apoio. O mÃtodo utiliza como base especificaÃÃes textuais de casos de uso com informaÃÃes sobre: funcionalidade, variabilidade da linha, e como o contexto afeta os produtos finais. O ambiente tambÃm contÃm o template para caso de uso que fornece suporte ao uso do mÃtodo e a ferramenta de apoio, que permite a modelagem de casos de uso segundo esse template e implementa o mÃtodo proposto. Com a intenÃÃo de verificar os benefÃcios do ambiente, proposto nesta dissertaÃÃo, quanto a geraÃÃo de cenÃrios de testes para uma LPSSC, conduziu-se uma avaliaÃÃo preliminar na forma de experimento controlado. Baseado nos resultados coletados nessa avaliaÃÃo percebeu-se que: o template favorece o entendimento de um caso de uso de uma LPSSC; o mÃtodo favorece a criaÃÃo de um conjunto de testes com uma maior cobertura para uma LPSSC, se comparado a criaÃÃo de testes de forma nÃo sistemÃtica; e a ferramenta representa um suporte necessÃrio. / A Context-Aware Software Product Line (CASPL) is a product line for developing
context-aware applications, which dynamically change their behavior or provide services based
on context information. With this kind of line, the productivity can be increased and the development costs of the context-aware application can be cut down. In this scenario, the testing
activity needs to deal with the peculiarities of both context-aware applications and the product
line development paradigm. Through the complexity involved in testing a CASPL is essential
to have methods or tools for supporting this activity, especially with the goal of creating tests
from requirements. The aim of this early testing generation is to identify and fix the defects
in the early stages of development. Therefore, this work aims to propose an environment for
generating test scenarios for a CASPL that takes into account the presence of context information and seeks to maximize the testing reuse. This environment consists of a testing scenario
generation method, a template for textual use case specification and a support tool. The method
uses as input textual use cases especifications with information about: funcionality, variability,
and how the context afect the final products. The environment also has a use case template
that supports the use of the method and a tool support, which allows the modeling of use cases
according to this template and implements the proposed method. In order to verify the benefits
of the environment as a way to testing generation for a Context-Aware Software Product Line,
an assessment in the form of controlled experiment is conducted. Based on the collected results,
it is observed that: the use of the template makes easy the understanding of a Context-Aware
Software Product Line use case; the method favors the creation of a set of tests with higher
coverage than a non-systematic testing generation; and the tool is the necessary support for the
method
|
216 |
Teste de mutação nos paradigmas procedimental e oo: uma avaliação no contexto de estrutura de dados / Mutation testing in procedural and object-oriented paradigms: an evaluation of data structure programsDiogo Nascimento Campanha 06 December 2010 (has links)
Com o objetivo de auxiliar a definição e evolução de estratégias de testes, estudos experimentais vêm sendo realizados comparando diferentes técnicas e critérios de teste em relação ao custo, eficácia e dificuldade de satisfação (strength). Entretanto poucos estudos buscam avaliar os critérios em diferentes paradigmas. Esta avaliação é importante pois o paradigma de implementação influência significativamente no programa gerado e as características entre programas implementados em diferentes paradigmas pode influenciar em diversos aspectos da atividade de teste. Este estudo é complementar a um outro trabalho do grupo do laboratório de engenharia de software do ICMC em que foram comparados o custo da aplicação dos critérios da técnica Estrutural em relação aos paradigmas Procedimental e Orientado a Objetos. Este trabalho apresenta um estudo experimental comparando o custo e o strength do critério Análise de Mutantes nos dois paradigmas. Além da avaliação do critério Análise de Mutantes, o material gerado para este estudo será construído de forma que possa ser utilizado para o ensino e treinamento das principais técnicas e critérios de teste e espera-se que este possa contribuir de alguma forma para que o ensino de teste de software possa ser aplicado em paralelo com o ensino de algoritmos e estrutura de dados. Para a condução deste estudo, foi utilizado um conjunto de 32 programas do domínio de estrutura de dados com versões implementadas em C e em Java. O critério Análise de Mutantes foi aplicado com auxílio das ferramentas Proteum e MuClipse. Para a avaliação do strength, o conjunto de casos de teste adequado a um programa foi executado contra os mutantes gerados na mesma versão do programa implementado no outro paradigma de interesse e o escore de mutação avaliado (cross scoring). Resultados indicam que tanto o custo quanto o strength do teste de mutação é maior em programas implementados no paradigma Procedimental do que no paradigma OO. Resultados estes certamente influenciados pelo conjunto de operadores implementado nas duas ferramentas. No paradigma procedimental, também foi avaliado o escore de mutação obtido por um subconjunto dos operadores da Proteum, construído com o objetivo de reduzir o custo da aplicação do critério. O escore obtido foi satisfatório e as reduções no custo significativas. Também foi avaliado strength das técnicas Funcional e Estrutural em relação ao critério AM nos dois paradigmas. Os resultados mostram que os conjuntos de casos de teste adequados aos critérios das técnicas Funcional e Estrutural no paradigma OO obtiveram, em geral, um escore de mutação maior do que no paradigma Procedimental / AIming at to assist the definition and evolution of testing strategies, empirical studies have been conducted comparing the test criteria in terms of cost effectiveness and strength. However few studies were conducted comparing the criteria in different paradigms. This assessment is important because program paradigm can cause a big influence in the result program and the characteristics of this programs can cause influences in testing activities. This study complements another work in this group that compared the cost of Structural test technique considering the Procedural and Object Oriented paradigms. This paper presents an experimental study comparing the cost and strength of Mutation Test in Procedural and OO paradigms. Besides the evaluation of mutation test, the results of this study can be used to help teaching and training many test criteria and it may somehow contribute to teach software testing n parallel with algorithms and data structures programs. It was used a set of 32 programs of data structure programs with versions in C and Java. For this study it were used Proteum and MuClipse to execute the mutation tests. It was also evaluated the strength of a set of test cases (TC) appropriate to a program in a paradigm in the same version of the program implemented in the other paradigm of interest (cross scoring). Results indicate that both cost and strength is higher in Procedural programs than in OO. This results are certainly influenced by the set of operators built in each tool studied. It was also measured the mutation score of a subset of Proteums operators built to reduce the cost of Mutation Testing in Procedural programs. The mutation score obtained was satisfactory and there was a significant reduction in cost. It was also evaluated the strength of Functional and Structural techniques in Mutation Test for both paradigms. The results show that the mutation score of the set of test cases adequate to Functional and Structural techniques were in general, higher in OO paradigm than in Procedural paradigm
|
217 |
Avaliação da qualidade de oráculos de teste utilizando mutação / Quality evaluation of test oracles using mutationAna Claudia Maciel 19 April 2017 (has links)
No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento. Diante disso, atividades de Verificação, Validação & Teste (VV&T) realizadas por meio de métodos, técnicas e ferramentas são de extrema necessidade para o aumento da produtividade, qualidade e diminuição de custos no desenvolvimento de software. Do mesmo modo, técnicas e critérios contribuem para a produtividade das atividades de teste. Um ponto crucial para o teste de software é sua automatização, tornando as atividades mais confiáveis e diminuindo significativamente os custos de desenvolvimento. Na automatização dos testes, os oráculos são essenciais, representando um mecanismo (programa, processo ou dados) que indica se a saída obtida para um caso de teste está correta. Este trabalho de mestrado utiliza a ideia de mutação para criar implementações alternativas de oráculos de teste e, assim, avaliar a sua qualidade. O teste de mutação se refere à criação de versões do sistema em desenvolvimento com pequenas alterações sintáticas de código. A mutação possui alta eficácia na detecção de defeitos e é bastante flexível na sua aplicação, podendo ser utilizada em diversos tipos de artefatos. Adicionalmente, este trabalho propõe operadores de mutação específicos para oráculos, implementa uma ferramenta de apoio à utilização desses operadores para oráculos e também descreve um estudo empírico dos operadores, destacando benefícios e desafios associados ao seu uso. / In software development, product quality is directly related to the quality of the development process. Therefore, activities of Verification, Validation & Testing (VV&T) performed by methods, techniques and tools are urgently required to increase productivity, quality and cost reduction in software development. Similarly, testing technique and criteria contribute to the productivity of test activities. A crucial point for the software testing automation is making the most reliable activities and significantly reducing development costs. Regarding software testing automation, test oracles are essential, representing an mechanism (program, process or data) to indicate whether the actual output for a given test case is correct. This masters thesis aims to explore concepts of mutation testing to create alternative implementations of the oracle procedure and thus assess their quality. Mutation testing refers to the creation of system development versions with minor syntactic code changes. It has high efficiency on defects detecting and it is very flexible in its application and it is being used in various types of artifacts. This work also proposes specific mutation operators for oracles, implements an useful support tool for using these oracle mutation operators and conducts an empirical study of operators, highlighting benefits and challenges associated with their use.
|
218 |
Estabelecimento de uma arquitetura de referência orientada a serviços para ferramentas de teste de software / Estabilishment of a service-oriented reference architecture for the software testing toolsLucas Bueno Ruas de Oliveira 11 January 2011 (has links)
O teste de software é reconhecido como uma importante atividade na garantia da qualidade de sistemas de software. Com o objetivo de dar apoio a essa atividade, uma diversidade de ferramentas de teste têm sido desenvolvida. Entretanto, grande parte dessas ferramentas é construída de forma isolada, possuindo arquiteturas e estruturas próprias, o que tem impactado negativamente a capacidade de integração e o reúso dessas ferramentas. Nesse contexto, esforços têm sido dedicados à disponibilização de ferramentas de teste orientadas a serviço, ou seja, ferramentas que são baseadas na SOA (Service Oriented Architecture). Em uma outra perspectiva, arquiteturas de referência têm desempenhado um importante papel no desenvolvimento de sistemas de software, uma vez que contém informações sobre como desenvolver sistemas para um determinado domínio de aplicação, buscando contribuir para o sucesso de sistemas desse domínio. Assim, o principal objetivo deste trabalho é o estabelecimento de uma arquitetura de referência orientada a serviço, denominada RefTEST-SOA (Reference Architecture for Software Testing Tools based on SOA), que agrega o conhecimento e a experiência de como organizar ferramentas de teste orientadas a serviço, visando também à integração, à escalabilidade e o reúso providos pela SOA. Para o estabelecimento dessa arquitetura, foi utilizado o ProSA-RA, um processo que sistematiza o projeto, representação e avaliação de arquiteturas de referência. Resultados alcançados no estudo de caso conduzido evidenciam que a RefTEST-SOA é uma arquitetura viável e reusável para o desenvolvimento de ferramentas de teste orientadas a serviço / Software testing is considered as an important activity to ensure the quality of software systems. To support such activity, a diversity of testing tools have been developed. However, most of them have been separately built and have usually their particular structures and architectures, which has hindered the integration and reuse of these tools. In this context, efforts have been employed in order to provide service-oriented testing tools, i.e., tools that are based on SOA (Service Oriented Architecture). In another perspective, reference architectures have played an important role in the development of software systems, since they contain information about how to develop systems for a particular application domain, contributing to the success of systems in that domain. Thereby, our main objective is to establish a service-oriented reference architecture, named RefTEST-SOA (Reference Architecture for Software Testing Tools based on SOA), which aggregates the knowledge and experience about how to organize service-oriented testing tools, also aiming at integration, scalability and reuse provided by SOA. To establish this architecture, we have used ProSA-RA, a process that provides guidelines to the design, representation and evaluation of reference architectures. Results achieved by a conducted case study indicate that RefTEST-SOA is a viable and reusable architecture for developing service-oriented testing tools
|
219 |
Metodologia de projeto de software embarcado voltada ao testeGomes, Humberto Vargas January 2010 (has links)
Devido ao crescente incremento de complexidade do software embarcado atual, dada a abundância de recursos disponíveis de hardware, está cada vez mais difícil manter a qualidade do software embarcado desenvolvido sem incorrer em aumentos de custo que inviabilizem o projeto. Com isto, o teste de software embarcado é atualmente uma importante área de pesquisa, onde são buscadas técnicas de teste que maximizem o número de falhas encontradas ainda em tempo de projeto e a um custo satisfatório. Muitas das soluções pesquisadas envolvem aspectos não apenas relativos ao teste propriamente dito, mas ao projeto do produto desde a sua concepção, daí a necessidade de metodologias conjuntas de desenvolvimento e teste. Neste trabalho, é apresentada uma metodologia de desenvolvimento e testes de software embarcado com o objetivo de permitir que grande parte da tarefa de desenvolvimento e teste seja executada em um ambiente de desenvolvimento de software de aplicação, sem a presença do hardware. Neste ambiente, o desenvolvimento é pensado desde o início do projeto visando à qualidade do teste, assim caracterizando esta metodologia como uma técnica DFT (do inglês design for testability). Na abordagem proposta, o hardware físico é substituído por modelos funcionais, construídos na mesma linguagem de programação do software em desenvolvimento. O uso destes modelos permite ao desenvolvedor a construção e aplicação de casos de teste capazes de exercitar o software embarcado tanto no ambiente de software de aplicação, quanto na plataforma alvo, sem alterações. Esta dissertação mostra a metodologia sendo aplicada ao software embarcado de um medidor eletrônico de energia, onde cinco modelos de dispositivos de hardware foram construídos, que permitiram a execução tanto de testes de unidade, quanto de testes de integração, em um ambiente de desenvolvimento de software de aplicação. Finalmente, uma análise de cobertura, realizada com o auxílio de uma ferramenta que, de outra forma, não seria compatível com o software da plataforma alvo, mostrou que a execução conjunta do software e dos modelos permite atingir a cobertura de quase a totalidade do software embarcado desenvolvido, onde os casos de teste foram capazes de verificar desde as camadas de software de aplicação até as camadas de software dependente do hardware. / Due to the growing increment of complexity of the current embedded software, given the abundance of hardware resources, it is becoming increasingly difficult to maintain the software quality without requiring high development and test costs that could make the project impracticable. In this context, embedded software testing is an important research area, where test techniques that maximize the number of errors detected during design time at a satisfactory cost have been investigated. Many of the proposed solutions involve aspects not related only to the testing itself, but to the product design since its conception, hence the need of methodologies for the development and test of software. In this work, we present a methodology of development and test of embedded software that allows the execution of most of the task of development and test in an application software development environment, without the physical hardware. In the application software environment, the development is thought, since the first stages, aiming the execution of the test, hence this methodology can be seen as a DFT (design for testability) technique. In the proposed approach, the physical hardware is replaced by functional models, constructed using the same programming language of the embedded software under development. The use of such models allows the developer to construct and apply test cases capable of exercising the embedded software both in the application software environment and in the target platform environment, without any change. In this work, the presented methodology is applied to the embedded software of an electronic energy meter, where five hardware device models were constructed, which enabled the execution of both unit and integration tests in the application software environment. Finally, the coverage analysis, performed with a software tool that otherwise would not be compatible with the target platform, showed that the simultaneous execution of the software and the models make it possible to achieve an almost complete coverage of the developed embedded software, where the test cases were able to verify the software from the application layers to the hardware dependent layers.
|
220 |
Integrando injeção de falhas ao perfil UML 2.0 de testes / Integrating fault injection to the UML 2.0 testing profileGerchman, Júlio January 2008 (has links)
Mecanismos de tolerância a falhas são implementados em sistemas computacionais para atingir níveis de dependabilidade mais elevados. O teste desses mecanismos é essencial para validar seu funcionamento e demonstrar sua eficácia. Uma técnica de teste usada nesse caso é a injeção de falhas: uma simulação ou protótipo funcional é executado em um ambiente onde falhas são artificialmente emuladas e o sistema monitorado de forma a entender seu comportamento, bem como avaliar a eficiência da implementação dos mecanismos de tolerância. Descrever as atividades de teste usando modelos é útil para a documentação do sistema. O Perfil UML 2.0 de Testes (U2TP) é uma linguagem padronizada para a descrição de modelos de testes, possibilitando a representação de ambientes e atividades de verificação e validação. No entanto, U2TP não oferece elementos para suportar técnicas de injeção de falhas. Este trabalho apresenta U2TP-FI, uma extensão do Perfil UML 2.0 de Testes para a descrição de atividades de teste que usem técnicas de injeção de falhas. U2TP-FI é uma linguagem de modelagem que oferece elementos para representar as falhas a serem emuladas em um ambiente de teste, descrevendo os parâmetros que regem seu comportamento, suas condições de ativação e suas relações com os componentes do sistema. O estabelecimento dessa linguagem permite uma melhor visualização da atividade, um melhor projeto do teste e uma fácil documentação do projeto. Além disso, possibilita a criação de ferramentas para automação do processo de injeção de falhas. Como prova de conceito para demonstrar a viabilidade da proposta, foram desenvolvidos usando U2TP-FI modelos de teste para a injeção de falhas em aplicações usando injetores existentes. Ferramentas de transformação de modelos foram aplicadas para gerar de forma automatizada artefatos a serem usados na atividade, como cargas de falhas e relatórios. / Computer systems use fault tolerance mechanisms to reach higher dependability levels. Testing those mechanisms is essential for the validation of their proper operation and for the verification of their effectiveness. Fault injection is a technique for testing fault tolerance mechanisms: a simulation or a functional prototype of the system is executed in a testbed environment where faults are artificially emulated. Monitoring its behavior enables the validation of the implementation and the evaluation of the efficiency of the fault tolerance mechanisms. It is useful for documenting the system to describe the test activities using models. The UML 2.0 Testing Profile is a standard language to create test models, enabling the test engineer to describe the environment, data, components, validations and other elements of the activity. However, U2TP does not offer elements that support fault injection techniques. This work presents U2TP-FI, an extension of the UML 2.0 Testing Profile to model test activities that use fault injection techniques. U2TP-FI is a modeling language offering elements to represent the faults to be emulated on a test environment, describing the parameters which govern their behavior, the activation conditions and the relations between them and the system components. Using this language allows a better visualization of the test activity, a better test project and an easier project documentation. Besides, it enables the development of automation tools for the fault injection process. As a proof of concept to demonstrate the viability of the proposal, U2TP-FI was used to create test models for applications using existing fault injectors. Model transformation tools were applied to automatically generate test artifacts such as faultloads and reports.
|
Page generated in 0.1061 seconds