• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 11
  • 1
  • Tagged with
  • 12
  • 12
  • 12
  • 12
  • 7
  • 5
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Orientação a objeto: definição, implementação e análise de recursos de teste e validação / Object-oriented: definition, implementation and analysis of validation and testing resources

Vincenzi, Auri Marcelo Rizzo 05 May 2004 (has links)
O desenvolvimento de software baseado no paradigma Orientado a Objetos (OO) e baseado em componentes é uma realidade. Este trabalho trata de teste e validação dentro desse contexto. Observa-se que diversos trabalhos relacionados ao teste de programas OO vêm sendo desenvolvidos. Apesar de ser um ponto controverso, alguns pesquisadores consideram que critérios de teste desenvolvidos para o teste de programas procedimentais podem ser facilmente estendidos para o teste de programas OO, pelo menos para o teste de métodos. Ainda são poucas as iniciativas de estender critérios de fluxo de dados e critérios baseados em mutação, tradicionalmente utilizados no teste de programas procedimentais, para o teste de programas OO. O presente trabalho visa a contribuir na identificação e definição de recursos de teste e validação que possam ser utilizados no teste de programas OO, com ênfase nos critérios de teste baseados em fluxo de dados e em mutação, cobrindo as fases do teste de unidade e de integração. Além disso, para apoiar a aplicação desses critérios, é de fundamental importância o desenvolvimento de ferramentas automatizadas que permitam a realização de estudos comparativos e a transferência tecnológica para a indústria. Em suma, o presente trabalho traz contribuições teóricas, com a definição de critérios de teste; empírica, com a realização de estudos empíricos; e de automatização, com a definição e implementação de um ambiente integrado de teste e validação para programas OO. Exemplos são utilizados para ilustrar as idéias e ferramentas apresentadas neste trabalho. / The development of Object-Oriented (OO) and component-based software is a reality. This work investigates software testing and validation in this context. Several studies related with OO testing have been carried out. In spite of being a controversial point, some researchers state that the procedural testing criteria can be easily extended to OO program testing, for instance to the testing of methods. There are few initiatives aiming at applying data-flow and mutation-based criteria, traditionally used for procedural testing, to the test of OO programs. The present work aims at contributing to identify and define resources for OO program testing and validation, considering data-flow and mutation based testing criteria, involving the unit and integration testing phases. An integrated environment for testing and validation has been developed to support the application of these criteria. This environment provides means to comparative studies amongst the criteria and to technology transfer processes. This work provides contributions to the following testing perspectives: theoretical -- with the definition of testing criteria; empirical -- with the conduction of empirical studies; and to testing automation -- with the specification and implementation of an integrated environment for testing and validation of OO programs. Examples are provided to illustrate the ideas and tools presented in this work.
2

Orientação a objeto: definição, implementação e análise de recursos de teste e validação / Object-oriented: definition, implementation and analysis of validation and testing resources

Auri Marcelo Rizzo Vincenzi 05 May 2004 (has links)
O desenvolvimento de software baseado no paradigma Orientado a Objetos (OO) e baseado em componentes é uma realidade. Este trabalho trata de teste e validação dentro desse contexto. Observa-se que diversos trabalhos relacionados ao teste de programas OO vêm sendo desenvolvidos. Apesar de ser um ponto controverso, alguns pesquisadores consideram que critérios de teste desenvolvidos para o teste de programas procedimentais podem ser facilmente estendidos para o teste de programas OO, pelo menos para o teste de métodos. Ainda são poucas as iniciativas de estender critérios de fluxo de dados e critérios baseados em mutação, tradicionalmente utilizados no teste de programas procedimentais, para o teste de programas OO. O presente trabalho visa a contribuir na identificação e definição de recursos de teste e validação que possam ser utilizados no teste de programas OO, com ênfase nos critérios de teste baseados em fluxo de dados e em mutação, cobrindo as fases do teste de unidade e de integração. Além disso, para apoiar a aplicação desses critérios, é de fundamental importância o desenvolvimento de ferramentas automatizadas que permitam a realização de estudos comparativos e a transferência tecnológica para a indústria. Em suma, o presente trabalho traz contribuições teóricas, com a definição de critérios de teste; empírica, com a realização de estudos empíricos; e de automatização, com a definição e implementação de um ambiente integrado de teste e validação para programas OO. Exemplos são utilizados para ilustrar as idéias e ferramentas apresentadas neste trabalho. / The development of Object-Oriented (OO) and component-based software is a reality. This work investigates software testing and validation in this context. Several studies related with OO testing have been carried out. In spite of being a controversial point, some researchers state that the procedural testing criteria can be easily extended to OO program testing, for instance to the testing of methods. There are few initiatives aiming at applying data-flow and mutation-based criteria, traditionally used for procedural testing, to the test of OO programs. The present work aims at contributing to identify and define resources for OO program testing and validation, considering data-flow and mutation based testing criteria, involving the unit and integration testing phases. An integrated environment for testing and validation has been developed to support the application of these criteria. This environment provides means to comparative studies amongst the criteria and to technology transfer processes. This work provides contributions to the following testing perspectives: theoretical -- with the definition of testing criteria; empirical -- with the conduction of empirical studies; and to testing automation -- with the specification and implementation of an integrated environment for testing and validation of OO programs. Examples are provided to illustrate the ideas and tools presented in this work.
3

Structural testing criteria for concurrent programs considering loop execution / Critérios de teste estrutural para programas concorrentes considerando a execução de loops

Diaz, Silvia Margarita Diaz 24 May 2019 (has links)
Parallel programs are imperative for improving performance and problem solving, having an increasing demand on implementing efficient parallel programming techniques. This entails new challenges on software testing to ensure their quality and reliability. Structural testing is a technique that allows the identification of concurrency defects by analyzing the internal structure of the program. However, the non-determinism of concurrent programs has implications in the testing activity, requiring the use of structured methods to reveal defects. Testing criteria support the selection of test cases in a systematical form by statically analysing elements of concurrent programs. We found that there are currently gaps in the definition of testing criteria contemplating scenarios with elements that are dynamically evaluated, such as the execution of communication primitives inside loops. The objective of this project is to define structural testing criteria to guide the selection of test cases, improving the reliability of concurrent programs by revealing non-determinism related errors present in repetition structures. We developed a Concurrent Defects Taxonomy, identifying and classifying concurrency types of defects found in related literature. The analysis of such defects, paths inside loops, number of loop iterations, and nested loops allow us to model the proposed structural testing criteria. We define new sets and associations related to communication and synchronization flows for message-passing programs, establishing a model for testing criteria. We implemented the proposed test model in ValiMPI, a testing tool prototype, considering the new concepts defined in our test model, generating required elements and evaluating coverage after constructing loop paths. For the application evaluation of criteria we perform an empirical study with statistical validation, indicating the results for cost, effectiveness and strength. Our experimental evaluation demonstrated that the proposed testing criteria generates required elements that support the identification of concurrency defects occurring in different loop iterations, when having communicational events with non-deterministic behavior. / A programação paralela é imperativa para melhorar o desempenho e a resolução eficiente de problemas, tendo uma demanda crescente na implementação de técnicas de programação paralela. Isso implica novos desafios no teste de software para garantir a qualidade e confiabilidade. O teste estrutural é uma técnica que permite a identificação de defeitos de concorrência, analisando a estrutura interna do programa. No entanto, os programas concorrentes são não-determinísticos, com desafios na atividade de teste, exigindo o uso de métodos estruturados para revelar defeitos. Os critérios de teste suportam a seleção de casos de teste de forma sistemática, analisando estaticamente elementos de programas concorrentes. Foi descoberto que atualmente existem lacunas na definição de critérios de teste contemplando cenários com elementos dinâmicos, como a execução de primitivas de comunicação dentro de loops. O objetivo deste projeto é definir critérios estruturais para orientar a seleção de casos de teste, revelando erros relacionados ao não-determinismo e melhorando a confiabilidade de programas concorrentes. Foi desenvolvida uma Taxonomia de Defeitos Concorrentes, identificando e classificando os tipos de defeitos de concorrência encontrados na literatura relacionada. A análise de tais defeitos, a seleção de caminhos de loop, o número de iterações de loop e loops aninhados permitem modelar os critérios de testes estruturais propostos. Foram definidos novos conjuntos e associações relacionadas aos fluxos de comunicação e sincronização de programas de passagem de mensagens, estabelecendo um modelo para os critérios de teste. O modelo de teste proposto foi implementado no protótipo de ferramenta de teste chamada ValiMPI, considerando as associações definidas para os critérios propostos, gerando elementos necessários e cobertura de avaliação após a identificação dos nós de loop. Para a avaliação da aplicação dos critérios, foi realizado um estudo empírico com validação estatística, indicando os resultados para custo, efetividade e strength. A avaliação experimental demonstrou que os critérios de teste propostos geram elementos necessários que suportam a identificação de defeitos presentes em diferentes iterações dos loops, quando existem eventos de comunicação com comportamento não-determinístico.
4

Estudo sobre adaptação de critérios de teste de programas concorrentes para o teste de integração de sistemas robóticos móveis / Study about adaptation of the concurrent programs testing criteria for integration testing of mobile robotic systems

Santos, Marcos Pereira dos 23 March 2016 (has links)
A definição de abordagens de teste de software no contexto de sistemas embarcados críticos é de fundamental importância para a melhoria de qualidade desses sistemas. Este projeto de mestrado concentra-se essencialmente na área de robôs móveis que são sistemas críticos. O mapeamento das técnicas de teste dos programas tradicionais para sistemas robóticos móveis não é trivial, pois é necessário considerar as características inerentes a esses sistemas, as quais incluem comunicação, sincronização, não determinismo e paralelismo. Esses sistemas são formados por diferentes componentes, como sensores, atuadores e softwares de controle, os quais se comunicam, em geral, por meio de troca de mensagens. Nesse sentido, este projeto visa aproveitar a experiência adquirida pelo grupo de pesquisa do ICMC/USP com a proposição de critérios e ferramentas de teste para programas concorrentes, para o contexto de teste de integração de sistemas robóticos móveis. Assim, neste estudo é apresentado um comparativo sobre as similaridades e diferenças presentes em programas concorrentes e sistemas robóticos móveis com objetivo de auxiliar na adaptação dos critérios de teste. Dois estudos de caso foram conduzidos nos quais os critérios propostos para programas concorrentes foram aplicados a sistemas robóticos desenvolvidos em ROS. Como resultados, observou-se os critérios de teste são capazes de testar adequadamente aspectos de comunicação e sincronização de sistemas robóticos, contribuindo com a qualidade desses sistemas. / The definition of software testing approaches for the context of critical embedded systems is of fundamental importance for the quality improvement of these systems. This masters project focuses primarily in mobile robot area that are critical systems. The mapping of traditional testing techniques for robotic mobile systems is not trivial, because it is necessary to consider the characteristics of these systems, which include communication, synchronization, non-determinism and parallelism. These systems present different components such as sensors, actuators and control software, which communicate, usually by exchanging messages. In this sense, this project aims to use on the experience gained by the research group of the ICMC/USP with the of the concurrent program testing criteria for the integration testing of the mobile robotic systems. In this study we present a comparison of the similarities and differences present in concurrent programs and mobile robotic systems in order to assist in adapting the testing criteria. Two case studies were conducted in which the proposed concurrent program testing criteri were applied to robotic systems developed in ROS. As a result, there was the testing criteria are able to properly testing aspects of communication and synchronization of robotic systems, contributing to the quality of these systems.
5

Estudo sobre adaptação de critérios de teste de programas concorrentes para o teste de integração de sistemas robóticos móveis / Study about adaptation of the concurrent programs testing criteria for integration testing of mobile robotic systems

Marcos Pereira dos Santos 23 March 2016 (has links)
A definição de abordagens de teste de software no contexto de sistemas embarcados críticos é de fundamental importância para a melhoria de qualidade desses sistemas. Este projeto de mestrado concentra-se essencialmente na área de robôs móveis que são sistemas críticos. O mapeamento das técnicas de teste dos programas tradicionais para sistemas robóticos móveis não é trivial, pois é necessário considerar as características inerentes a esses sistemas, as quais incluem comunicação, sincronização, não determinismo e paralelismo. Esses sistemas são formados por diferentes componentes, como sensores, atuadores e softwares de controle, os quais se comunicam, em geral, por meio de troca de mensagens. Nesse sentido, este projeto visa aproveitar a experiência adquirida pelo grupo de pesquisa do ICMC/USP com a proposição de critérios e ferramentas de teste para programas concorrentes, para o contexto de teste de integração de sistemas robóticos móveis. Assim, neste estudo é apresentado um comparativo sobre as similaridades e diferenças presentes em programas concorrentes e sistemas robóticos móveis com objetivo de auxiliar na adaptação dos critérios de teste. Dois estudos de caso foram conduzidos nos quais os critérios propostos para programas concorrentes foram aplicados a sistemas robóticos desenvolvidos em ROS. Como resultados, observou-se os critérios de teste são capazes de testar adequadamente aspectos de comunicação e sincronização de sistemas robóticos, contribuindo com a qualidade desses sistemas. / The definition of software testing approaches for the context of critical embedded systems is of fundamental importance for the quality improvement of these systems. This masters project focuses primarily in mobile robot area that are critical systems. The mapping of traditional testing techniques for robotic mobile systems is not trivial, because it is necessary to consider the characteristics of these systems, which include communication, synchronization, non-determinism and parallelism. These systems present different components such as sensors, actuators and control software, which communicate, usually by exchanging messages. In this sense, this project aims to use on the experience gained by the research group of the ICMC/USP with the of the concurrent program testing criteria for the integration testing of the mobile robotic systems. In this study we present a comparison of the similarities and differences present in concurrent programs and mobile robotic systems in order to assist in adapting the testing criteria. Two case studies were conducted in which the proposed concurrent program testing criteri were applied to robotic systems developed in ROS. As a result, there was the testing criteria are able to properly testing aspects of communication and synchronization of robotic systems, contributing to the quality of these systems.
6

Estudo e definição do teste de integração de software para o contexto de sistemas robóticos móveis / Study and definition of the software integration test for robotic mobile systems

Brito, Maria Adelina Silva 11 April 2017 (has links)
Durante o processo de desenvolvimento de software a atividade de teste pode contribuir com a melhoria de qualidade, produtividade e redução de custos, por meio da aplicação de técnicas e critérios de teste. Esses instrumentos viabilizam a detecção de defeitos, minimizando a quantidade de falhas no produto final. Durante o desenvolvimento de sistemas robóticos móveis, técnicas VST (Virtual Simulation Tools/Technology) são enormemente utilizadas. Apesar dos testes usando simulação serem eficientes em alguns casos, eles não permitem uma sistematização da atividade de teste com relação à cobertura de código. Este projeto de doutorado contribui nessa direção, explorando essa lacuna e propondo uma abordagem de teste de integração híbrida, composta por teste funcional e estrutural, a qual explora defeitos relacionados à comunicação entre os processos do sistema robótico. Este estudo foi conduzido com base em conceitos explorados no teste de programas concorrentes, dado que os sistemas robóticos podem apresentar problemas similares aos encontrados nos programas concorrentes, como não determinismo, diferentes possibilidades de comunicação, entre outros. Durante o trabalho foi definida uma abordagem de teste de integração e critérios de cobertura aplicados a sistemas robóticos. Os estudos exploratórios conduzidos indicaram que a abordagem proposta é aplicável e pode contribuir para revelar defeitos não explorados pela simulação e técnicas de teste utilizadas anteriormente. / During the software development process the test activity contributes in terms of increased software quality, team productivity and cost reduction by application of techniques and test criteria. These mechanisms allow the defects detection, reducing the failures in the final product. In a robotic systems development context, VST techniques (Virtual Simulation Tools/Technology) are widely used. Although these approaches be efficient, in some cases they not allow great systematization of the test activity including code coverage analysis. This project explores this gap and proposes an approach for integration testing applied to robotic embedded systems, composed of functional and structural testing, looking for defects mainly related to the communication among processes of these systems. This study was initially conducted by mapping coverage criteria, defined for concurrent programs testing and exploring problems related to non-determinism, communication, and other undesired situations. During the project we defined an approach of integration testing and coverage criteria for mobile robotic systems. The exploratory case studies indicate that the proposed approach is applicable and can contributes to reveal defects not found using simulations or traditional testing of mobile robotic systems.
7

Validação de especificações de sistemas reativos: Definição e análise de critérios de teste. / Validation of the reactive systems specifications: definition and analysis of the testing criteria.

Simone do Rocio Senger de Souza 14 December 2000 (has links)
Este trabalho investiga a aplicação de critérios de teste para o teste de especificações do aspecto comportamental de Sistemas Reativos, descritos em Estelle e em Statecharts. A utilização de Sistemas Reativos em várias atividades humanas, requer uma maior qualidade tanto do produto como do processo de desenvolvimento, pois falhas nesses sistemas podem ocasionar riscos para vidas humanas e perdas econômicas. Os critérios de teste propostos nesta tese visam a fornecer uma medida de cobertura dos testes, permitindo que a qualidade da atividade de teste possa ser mensurada e avaliada. Esta tese apresenta contribuições para as três atividades fundamentais no contexto de teste de software, que são: definição de critérios de teste, desenvolvimento de estudos teóricos/empíricos e desenvolvimento de ferramentas. Com relação à definição de critérios de teste, é proposta a aplicação do Teste de Mutação para Estelle e a aplicação de critérios de Fluxo de Controle para Estelle e Statecharts. Para o Teste de Mutação, são identificados os tipos de erros em especificações Estelle, definidos os operadores de mutação, estratégias de teste incrementais e critérios de mutação alternativa que visam a diminuir o custo de aplicação desse critério. Para os critérios de Fluxo de Controle, foram definidas duas famílias de critérios: FCCS - Família de Critérios de Cobertura para Statecharts e FCCE - Família de Critérios de Cobertura para Estelle. Estudos teóricos são realizados visando a analisar a complexidade do Teste de Mutação para Estelle e a relação de inclusão dos critérios FCCS e FCCE. Estudos empíricos são realizados visando a comparar os critérios de teste definidos e a analisar a sua aplicação durante a simulação de especificações Estelle e Statecharts. Com relação ao desenvolvimento de ferramentas, a família de ferramentas Proteum, que apóia a aplicação do teste de Mutação, e os ambientes para simulação de especificações Estelle (EDT) e Statecharts (StaSim) fornecem uma base essencial para o desenvolvimento das ferramentas. São apresentadas algumas ponderações que devem ser consideradas para a definição de ferramentas de apoio à aplicação dos critérios propostos. / Reactive Systems are applied to several human activities and as failures in these systems may cause human or economical losses, it is required the use of high-quality software development processes that would lead to the production of high-quality products. This thesis investigates criteria for testing of Reactive Systems\' behavior specifications, specified either in Estelle or in Statecharts. These criteria systematize the testing activity and provide mechanisms for the software tests quality assessment. This thesis presents contributions to the three fundamental activities in the context of software testing, which are: definition of testing criteria, theoretical studies and tool development. In relation to the definition of testing criteria, it is proposed the use of Mutation Testing for Estelle specifications and the use of Control Flow Testing for Estelle and Statecharts specifications. For Mutation Testing, the errors types in Estelle specifications are identified; mutation operators are defined and incremental testing strategies are established. In this context, it is explored the alternative mutation criteria, which aim at reducing the cost of application of the Mutation Testing. For Control Flow Testing, two families of criteria are defined: SCCF - Statechart Coverage Criteria Family and ECCF - Estelle Coverage Criteria Family. Theoretical studies are accomplished to analyze the complexity of the Mutation Testing to Estelle and the inclusion relation for the FCCS and FCCE criteria. Case studies are conducted to evaluate the testing criteria defined in this thesis. The application of these criteria during the simulation of Estelle and Statecharts specifications is analyzed. The Proteum family tools, that support the application of Mutation Testing, and the simulation environments to Estelle (EDT) and Statecharts (StatSim) supply an essential base for tools development. Considerations about the definition of supporting tools to the application of the proposed criteria are realized.
8

Validação de especificações de sistemas reativos: Definição e análise de critérios de teste. / Validation of the reactive systems specifications: definition and analysis of the testing criteria.

Souza, Simone do Rocio Senger de 14 December 2000 (has links)
Este trabalho investiga a aplicação de critérios de teste para o teste de especificações do aspecto comportamental de Sistemas Reativos, descritos em Estelle e em Statecharts. A utilização de Sistemas Reativos em várias atividades humanas, requer uma maior qualidade tanto do produto como do processo de desenvolvimento, pois falhas nesses sistemas podem ocasionar riscos para vidas humanas e perdas econômicas. Os critérios de teste propostos nesta tese visam a fornecer uma medida de cobertura dos testes, permitindo que a qualidade da atividade de teste possa ser mensurada e avaliada. Esta tese apresenta contribuições para as três atividades fundamentais no contexto de teste de software, que são: definição de critérios de teste, desenvolvimento de estudos teóricos/empíricos e desenvolvimento de ferramentas. Com relação à definição de critérios de teste, é proposta a aplicação do Teste de Mutação para Estelle e a aplicação de critérios de Fluxo de Controle para Estelle e Statecharts. Para o Teste de Mutação, são identificados os tipos de erros em especificações Estelle, definidos os operadores de mutação, estratégias de teste incrementais e critérios de mutação alternativa que visam a diminuir o custo de aplicação desse critério. Para os critérios de Fluxo de Controle, foram definidas duas famílias de critérios: FCCS - Família de Critérios de Cobertura para Statecharts e FCCE - Família de Critérios de Cobertura para Estelle. Estudos teóricos são realizados visando a analisar a complexidade do Teste de Mutação para Estelle e a relação de inclusão dos critérios FCCS e FCCE. Estudos empíricos são realizados visando a comparar os critérios de teste definidos e a analisar a sua aplicação durante a simulação de especificações Estelle e Statecharts. Com relação ao desenvolvimento de ferramentas, a família de ferramentas Proteum, que apóia a aplicação do teste de Mutação, e os ambientes para simulação de especificações Estelle (EDT) e Statecharts (StaSim) fornecem uma base essencial para o desenvolvimento das ferramentas. São apresentadas algumas ponderações que devem ser consideradas para a definição de ferramentas de apoio à aplicação dos critérios propostos. / Reactive Systems are applied to several human activities and as failures in these systems may cause human or economical losses, it is required the use of high-quality software development processes that would lead to the production of high-quality products. This thesis investigates criteria for testing of Reactive Systems\' behavior specifications, specified either in Estelle or in Statecharts. These criteria systematize the testing activity and provide mechanisms for the software tests quality assessment. This thesis presents contributions to the three fundamental activities in the context of software testing, which are: definition of testing criteria, theoretical studies and tool development. In relation to the definition of testing criteria, it is proposed the use of Mutation Testing for Estelle specifications and the use of Control Flow Testing for Estelle and Statecharts specifications. For Mutation Testing, the errors types in Estelle specifications are identified; mutation operators are defined and incremental testing strategies are established. In this context, it is explored the alternative mutation criteria, which aim at reducing the cost of application of the Mutation Testing. For Control Flow Testing, two families of criteria are defined: SCCF - Statechart Coverage Criteria Family and ECCF - Estelle Coverage Criteria Family. Theoretical studies are accomplished to analyze the complexity of the Mutation Testing to Estelle and the inclusion relation for the FCCS and FCCE criteria. Case studies are conducted to evaluate the testing criteria defined in this thesis. The application of these criteria during the simulation of Estelle and Statecharts specifications is analyzed. The Proteum family tools, that support the application of Mutation Testing, and the simulation environments to Estelle (EDT) and Statecharts (StatSim) supply an essential base for tools development. Considerations about the definition of supporting tools to the application of the proposed criteria are realized.
9

Estudo e definição do teste de integração de software para o contexto de sistemas robóticos móveis / Study and definition of the software integration test for robotic mobile systems

Maria Adelina Silva Brito 11 April 2017 (has links)
Durante o processo de desenvolvimento de software a atividade de teste pode contribuir com a melhoria de qualidade, produtividade e redução de custos, por meio da aplicação de técnicas e critérios de teste. Esses instrumentos viabilizam a detecção de defeitos, minimizando a quantidade de falhas no produto final. Durante o desenvolvimento de sistemas robóticos móveis, técnicas VST (Virtual Simulation Tools/Technology) são enormemente utilizadas. Apesar dos testes usando simulação serem eficientes em alguns casos, eles não permitem uma sistematização da atividade de teste com relação à cobertura de código. Este projeto de doutorado contribui nessa direção, explorando essa lacuna e propondo uma abordagem de teste de integração híbrida, composta por teste funcional e estrutural, a qual explora defeitos relacionados à comunicação entre os processos do sistema robótico. Este estudo foi conduzido com base em conceitos explorados no teste de programas concorrentes, dado que os sistemas robóticos podem apresentar problemas similares aos encontrados nos programas concorrentes, como não determinismo, diferentes possibilidades de comunicação, entre outros. Durante o trabalho foi definida uma abordagem de teste de integração e critérios de cobertura aplicados a sistemas robóticos. Os estudos exploratórios conduzidos indicaram que a abordagem proposta é aplicável e pode contribuir para revelar defeitos não explorados pela simulação e técnicas de teste utilizadas anteriormente. / During the software development process the test activity contributes in terms of increased software quality, team productivity and cost reduction by application of techniques and test criteria. These mechanisms allow the defects detection, reducing the failures in the final product. In a robotic systems development context, VST techniques (Virtual Simulation Tools/Technology) are widely used. Although these approaches be efficient, in some cases they not allow great systematization of the test activity including code coverage analysis. This project explores this gap and proposes an approach for integration testing applied to robotic embedded systems, composed of functional and structural testing, looking for defects mainly related to the communication among processes of these systems. This study was initially conducted by mapping coverage criteria, defined for concurrent programs testing and exploring problems related to non-determinism, communication, and other undesired situations. During the project we defined an approach of integration testing and coverage criteria for mobile robotic systems. The exploratory case studies indicate that the proposed approach is applicable and can contributes to reveal defects not found using simulations or traditional testing of mobile robotic systems.
10

Teste estrutural para aplicações concorrentes em Erlang / Structural testing for Concurrent Applications in Erlang

Oliveira, Alexandre Ponce de 27 June 2017 (has links)
As atividades de validação, verificação e teste contribuem para melhorar a qualidade dos programas, independentemente do paradigma de programação utilizado. Erlang é um exemplo de linguagem funcional, e aspectos como: dados imutáveis, higher-order functions, lazy evaluation e pattern matching impõem restrições à atividade de teste estrutural de software, as quais requerem uma atenção especial do testador. A linguagem Erlang foi criada para o desenvolvimento de aplicações concorrentes, em tempo real e com tolerância a falhas. A aplicação da atividade de teste de software torna-se necessária para aplicações desenvolvidas em Erlang. Um mapeamento sistemático realizado identificou os trabalhos relacionados e também a identificação de falhas típicas encontradas em programas Erlang. O resultado do mapeamento evidenciou a falta de propostas que considerem as principais características de Erlang, incluindo uma ferramenta de teste que dê suporte à aplicação prática da atividade de teste. Esta lacuna foi considerada significativa. Foi proposto um conjunto de critérios de teste estruturais para verificar a cobertura de códigos em aplicações sequenciais e distribuídas de programas Erlang. Os critérios de teste exploram as possíveis falhas relacionadas à comunicação entre funções, comunicação entre processos, sincronização, concorrência, recursividade e tolerância a falhas. A definição dos critérios contou com o suporte de um modelo de teste para a obtenção das informações sobre o fluxo de controle, fluxo de dados e fluxo de comunicação de programas Erlang. O modelo estabeleceu 15 tipos de nós, 9 tipos de arestas e 5 tipos de usos de variáveis. Para apoiar a aplicação dos critérios, uma ferramenta de teste, chamada Valierlang, também foi implementada. A ValiErlang é composta por 5 módulos que realizam as seguintes etapas: análise estática, instrumentação do código fonte, geração do GFC, definição dos elementos requeridos, execução do código instrumentado, geração do rastro de execução e avaliação dos elementos cobertos e elementos não executáveis. Foi realizado um estudo experimental para verificar a aplicabilidade dos critérios de teste por meio da ValiErlang. Neste estudo foram utilizados seis programas com diferentes características, todas essenciais aos programas em Erlang. Com base nos resultados obtidos, foi possível comprovar que a abordagem contribui com o testador devido ao sucesso na aplicação dos critérios e também a eficácia dos critérios em revelar defeitos. E as etapas para o testador de software realizar a aplicação do teste estrutural, tem o apoio ferramental da ValiErlang. / The validation, verification and test activities contribute to improve the quality of the programs, independently of the used programing paradigm. Erlang is an example of functional language and aspects such as: immutable data, higher-order functions, lazy evaluation e pattern matching impose restrictions to the software structural testing activity, which require a special attention by the tester. The Erlang language was created for the development of concurrent applications, in real time and with fault tolerance. The application of the software testing activity becomes necessary for applications developed in Erlang. An executed systematic mapping identified the related works and the identification of typical failures found in Erlang programs. The result of the mapping highlighted the lack of proposals that consider the main features of Erlang, including a testing tool that supports the practical application of the testing activity. This gap was considered significant. A set of structural testing criteria was proposed to verify the coverage of codes in sequential and distributed applications in Erlang programs. The test criteria explore the possible failure related to the communication between functions, communication between processes, synchronization, concurrence, recursion and fault tolerance. The definition of the criteria had the support of a test model to obtain information about control flux, data flux, and communication flux of Erlang programs. The model established 15 types of nodes, 9 types of edges and 5 types of variable uses. To support the application of criteria, a testing tool called ValiErlang was also implemented. ValiErlang is composed of 5 modules that execute the following stages: static analysis, source code instrumentation, CFG generation, definition of the required elements, instrumented code execution, execution trace generation and evaluation of the covered and non-executable elements. An experimental study was executed to verify the applicability of the testing criteria by ValiErlang. In this study six programs with different characteristics were used. All characteristics were essential to the Erlang programs. Based on the obtained results, it was possible to prove that the approach contributes with the tester because of the success in the criteria application and the efficiency of the criteria in revealing defects. The stages for the testes to execute the structural test application have the support of the Erlang tool.

Page generated in 0.5098 seconds