• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 183
  • 15
  • 4
  • Tagged with
  • 202
  • 202
  • 163
  • 49
  • 44
  • 35
  • 34
  • 30
  • 29
  • 28
  • 26
  • 25
  • 25
  • 24
  • 23
  • 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.
81

Teste de composição de web services: uma estratégia baseada em um modelo de teste de programas paralelos / Web services composition testing: a strategy based on a test model of parallel programs

Endo, André Takeshi 17 April 2008 (has links)
WEb Services constituem uma tecnologia emergente utilizada para disponibilização de serviços na Web. Devido aos complexos processos de negócio existentes, esses serviços são combinados para que operem seguindo um fluxo de trabalho. Esse processo é chamado de composição de Web Services. Como no processo de desenvolvimento de um software tradicional, a atividade de teste é fundamental no processo de desenvolvimento da composição de Web Services. Neste trabalho é proposta uma estratégia de teste para a composição de Web Services, em que especificações de composições são transformadas para um modelo de teste de programas paralelos baseados em passagem de mensagens. É proposto o conceito de grupos de elementos requeridos para melhorar a cobertura dos critérios. Uma ferramenta de apoio à estratégia de teste foi desenvolvida. Alguns estudos experimentais para avaliar a aplicabilidade da estratégia proposta também são apresentados. Além disso, é proposto um método que utiliza redes de Petri para eliminar sincronizações não-executáveis no envio e recebimento de mensagens / WEb Services constitute an emerging technology for deploying services in the Web. Due to the complex business processes, these services are combined to operate, following a workflow. This process is named Web Services Composition. As in the development process of a traditional software, the testing activity is fundamental in the development process of Web Services Composition. This work proposes a test strategy for Web Services Composition, in that composition specifications are transformed into a test model of message-passing parallel programs. The concept of required elements groups is proposed to improve the criteria coverage. A tool that supports the test strategy was developed. Some experimental studies for evaluating the applicability of proposed strategy are also presented. Furthermore, it presents a method that uses Petri Nets to eliminate non-executable synchronizations in the sending and receiving of messages
82

Uma contribuição ao processo de desenvolvimento e modelagem de módulos educacionais / A Contribution for the Development and Modeling Process of Educational Modules

Barbosa, Ellen Francine 03 May 2004 (has links)
Várias pesquisas têm sido conduzidas no contexto de ensino e treinamento, sendo o desenvolvimento de módulos educacionais uma das atividades relevantes investigada. Neste trabalho são discutidos e estabelecidos mecanismos de apoio à atividade de modelagem de conteúdos e ao processo de desenvolvimento de tais módulos. Requisitos e perspectivas para a modelagem conceitual, instrucional e didática são identificadas. Uma abordagem integrada (AIM-CID) envolvendo diferentes aspectos associados à modelagem de conteúdos também é proposta. No nível conceitual, mapas conceituais estendidos são utilizados. No nível instrucional, é estabelecido o modelo HMBS/Instrucional. No nível didático, propõe-se o modelo HMBS/Didático. Quanto ao processo de desenvolvimento, atividades e tarefas sistemáticas são estabelecidas no contexto de um processo padrão para a elaboração de módulos educacionais. Investigam-se ainda aspectos associados às atividades de especialização e instanciação do processo padrão definido. Um modelo de maturidade de processos - CMM/Educacional - é proposto. Além disso, uma instância do processo padrão definido é aplicada no desenvolvimento de um módulo educacional no domínio de Teste de Software / Many research have been conducted regarding to education and learning. In this context, one of the relevant activities is the development of educational modules. In this work, we have discussed and investigated mechanisms to support the content modelling activity and the development process of such modules. Requirements and perspectives for conceptual, instructional and didactic modelling are identified. An integrated approach (IMA-CID) dealing with different perspectives related to the modelling content activity is also proposed. In the conceptual level, extended conceptual maps are applied. In the instructional level, the HMBS/Instructional model is established. In the didactic level, the HMBS/Didactic model is proposed. Regarding to the development process, systematic activities and tasks are established in the context of a standard process for the development of educational modules. Specialization and instantiation activities are also investigated. A maturity model - CMM/Educational - is proposed. Also, an instance of the defined standard process is applied on the development of an educational module for Software Testing knowledge domain
83

Uma contribuição à automatização da atividade de teste para sistemas de realidade virtual / A contribution to the automation of testing activity for virtual reality systems

Souza, Alinne Cristinne Corrêa 06 June 2017 (has links)
O teste de software é considerado uma atividade importante para a revelação de falhas. Apesar desta vantagem, tem sido pouco explorado no âmbito de aplicações de Realidade Virtual (RV). Dentre as lacunas existentes, a definição e automatização de critérios de teste de software para esse domínio foi identificada, uma vez que esses sistemas possuem características próprias que requerem definição ou adaptação de técnicas de teste, fazendo com que aplicações nesse domínio constituam sistemas de alta complexidade. Diante disso, o objetivo desta tese é apresentar uma abordagem denominada Virtual Reality-Requirements Specification and Testing (VR-ReST) que visa apoiar a especificação de requisitos de aplicações de RV com base na descrição de casos de uso e conceitos do domínio de RV e Grafo de Cena (GC), derivar requisitos de teste e gerar dados de teste a partir dos requisitos especificados. Além disso, é apresentado um apoio ferramental chamado de Virtual Requirements Specification and Testing (ViReST), que permite automatizá-las. A abordagem é composta por três módulos: (i) especificação dos requisitos por meio do auxílio de um modelo denominado Virtual Requirements Specification (ViReS); (ii) mapeamento dos requisitos por meio de uma linguagem semi-formal chamada Behavior Language Requirement Specification (BeLaRS) para garantir uma especificação padronizada; e (iii) geração automática dos requisitos de teste e dos dados de teste. Foi realizado um estudo de caso para avaliar a conformidade e a usabilidade da BeLaRS em auxiliar a especificação de requisitos de uma aplicação de RV. Além disso, também foi realizado um experimento para avaliar a eficácia da abordagem VR-ReST por meio da ferramenta ViReST. Usando teste de mutação neste último experimento, a abordagem VR-ReST alcançou um escore de mutação médio de 15,49% maior que o teste aleatório. Portanto, os resultados mostraram que a abordagem, bem como o apoio ferramental, podem auxiliar o projetista durante a atividade de especificação de requisitos e o testador na geração dos testes para aplicações de RV. / Software testing is considered an important activity towards fault revealing. Despite this advantage, it has been few explored within the scope of Virtual Reality (VR) applications. Among the existing gaps, the definition and automation of software testing criteria for this domain were identified, since these systems have their own characteristics that require definition or adaptation of testing techniques, making applications in this domain constitute highly complex systems. Therefore, a Virtual Reality-Requirements Specification and Testing (VR-ReST) approach is presented to perform the functional test of VR applications using Scene Graph (SG) concepts and a support tool called Virtual Requirements Specification And Testing (ViReST), which allows you to automate them. The approach is composed of three modules: (i) the first consists in specifying the requirements by means of a model called Virtual Requirements Specification (ViReS); (ii) the second involves mapping the requirements through a semi-formal language called Behavior Language Requirement Specification (BeLaRS) to ensure a standardized specification; and (iii) the third is the automatic generation of test requirements and test data. A case study was conducted to evaluate the compliance and usability of BeLaRS in assisting the requirements specification of an RV application. Also, an experiment was also carried out to evaluate the effectiveness of the VR-ReST approach using the ViReST tool. Using mutation testing in this latter experiment, the VR-ResT approach achieved a mean mutation score of 15.49% higher than the random testing. Therefore, the results showed that the approach, as well as tooling support, can assist the designer during the requirement specification activity and the tester in generating the tests for RV applications.
84

Uma contribuição para o teste baseado em defeitos de software orientado a aspectos / A contribution to the fault-based testing of aspect-orientd software

Ferrari, Fabiano Cutigi 16 December 2010 (has links)
A Programação Orientada a Aspectos (POA) é uma técnica contemporânea de desenvolvimento de software fortemente baseada no princípio da separação de interesses. Ela tem como objetivo tratar de problemas de modularização de software por meio da introdução do aspecto como uma nova unidade de implementação que encapsula comportamento relacionado aos interesses transversais do software. A despeito dos benefícios que podem ser alcançados com o uso da POA, seus mecanismos de implementação representam novas potenciais fontes de defeitos que devem ser tratados durante a fase de teste de software. Nesse contexto, o teste de mutação consiste em um critério de seleção de testes baseado em defeitos que tem sido bastante investigado para demonstrar a ausência de defeitos pré-especifiados no software. Acredita-se que o teste de mutação seja uma ferramenta adequada para lidar com as particularidades de técnicas de programação contemporâneas como a POA. Entretanto, até o presente momento, as poucas iniciativas para adaptar o teste de mutação para o contexto de programas orientados a aspectos (OA) apresentam cobertura limitada em relação aos tipos de defeitos simulados, ou ainda requerem adequado apoio automatizado e avaliações. Esta tese visa a mitigar essas limitações por meio da definição de uma abordagem abrangente de teste de mutação para programas OA escritos na linguagem AspectJ. A tese inicia como uma investigação da propensão a defeitos de programas OA e define uma taxonomia de defeitos para tais programas. A taxonomia inclui uma variedade de tipos de defeitos e serviu como base para a definição de um conjunto de operadores de mutação para programas OA. Suporte automatizado para a aplicação dos operadores também foi disponibilizado. Uma série de estudos quantitativos mostra que a taxonomia de defeitos proposta é suficiente para classificar defeitos encontrados em vários sistemas OA. Os estudos também mostram que os operadores de mutação propostos são capazes de simular defeitos que podem não ser relevados por conjuntos de teste pré-existentes, não derivados para cobrir mutantes. Além disso, observou-se que o esforço requerido para evoluir tais conjuntos de teste de forma a torná-los adequados para os requisitos gerados pelos operadores / Aspect-Oriented Programming (AOP) is a contemporary software development technique that strongly relies on the Separation of Concerns principle. It aims to tackle software modularisation problems by introducing the aspect as a new implementation unit to encapsulate behaviour required to realise the so-called crosscutting concerns. Despite the benefits that may be achieved with AOP, its implementation mechanisms represent new potential sources of faults that should be handled during the testing phase. In this context, mutation testing is a widely investigated fault-based test selection criterion that can help to demonstrate the absence of prespecified faults in the software. It is believed to be an adequate tool to deal with testing-related specificities of contemporary programming techniques such as AOP. However, to date, the few initiatives for customising the mutation testing for aspect-oriented (AO) programs show either limited coverage with respect to the types of simulated faults, or a need for both adequate tool support and proper evaluation. This thesis tackles these limitations by defining a comprehensive mutation-based testing approach for AO programs written in the AspectJ language. It starts with a fault-proneness investigation in order to define a fault taxonomy for AO software. Such taxonomy encompasses a range of fault types and underlay the definition of a set of mutation operators for AO programs. Automated tool support is also provided. A series of quantitative studies show that the proposed fault taxonomy is able to categorise faults identified from several available AO systems. Moreover, the studies show that the mutation operators are able to simulate faults that may not be revealed by pre-existing, non-mutation-based test suites. Furthermore, the effort required to augment the test suites to provide adequate coverage of mutants does not tend to overwhelm the testers. This provides evidence of the feasibility of the proposed approach and represents a step towards the practical fault-based testing of AO programs
85

Definição e gerenciamento de métricas de teste no contexto de métodos ágeis / Definition and management of testing metrics in agile methods context

Vicente, André Abe 22 April 2010 (has links)
Métodos ágeis são técnicas adequadas para o desenvolvimento de software sujeito a mudanças constantes. Essas mudanças não devem afetar o cronograma, orçamento do projeto e devem assegurar o atendimento às necessidades do cliente. Diversos valores, princípios e boas práticas de desenvolvimento e de condução de projeto são aplicados em projetos ágeis com esse objetivo. Algumas dessas práticas são relacionadas a atividade de teste de software. Este trabalho teve como objetivo caracterizar a atividade de teste de software aplicada dentro de métodos de desenvolvimento ágil, buscando eliminar aspectos de teste não produtivos, identificando boas práticas e, principalmente, criando formas de acompanhar e melhorar continuamente a condução da atividade de teste. A partir da caracterização da atividade foi proposta a adoção de um conjunto de métricas para facilitar o seu acompanhamento e melhoria constante da mesma. Algumas dessas métricas de acompanhamento de testes foram implementadas na ferramenta Agile Testing Metrics Management (ATMM). O objetivo principal da ferramenta é gerenciar as iterações de desenvolvimento do projeto ágil e, também, exibir a evolução das métricas relacionadas ao código que está sendo testado e aos casos de teste desenvolvidos utilizando a ferramenta JUnit. Para validar a ferramenta e as métricas foram conduzidos estudos de casos com dois projetos de software de domínios diferentes que utilizaram métodos ágeis e testes de unidade / Agile methods are appropriate techniques for software development subject to constant changes. These changes should not affect the project schedule, budget and must ensure meeting the clients needs. Several values, principles and practices of project development and driving are applied in agile projects with this goal. Some of these practices are related to software testing activity. This study aimed at characterizing the software testing activity applied to agile development methods, trying to eliminate unproductive testing aspects, identifying good practices and especially creating ways of tracking and continuously improve the test activity. From this activity characterization, it was proposed an adoption of metrics set to facilitate the monitoring and constant improvement of the activity. Some of these testing tracking metrics were implemented in the Agile Testing Metrics Management Tool (ATMM). The main goal of this tool is to manage the iterations of agile project development and, also show the metrics evolutions regarding the code that have been tested and the test cases developed using JUnit. The tool and metrics were validated by case studies that were conducted with two software projects of different domains which used agile methods and unit testing
86

Automatização de oráculos de teste para imagens médicas de modelos tridimensionais / Test oracle automation for medical images of three-dimensional models

Costa Junior, Misael 19 February 2018 (has links)
As atividades de teste automatizado contribuem significativamente para a redução de custos e a produtividade do projeto durante o processo de desenvolvimento de software. O teste automatizado reduz o esforço humano e aumenta a qualidade do produto final. No entanto, a alta complexidade da saída produzida pelos SUT (do inglês, System Under Test) contemporâneos limita, em alguns casos, a aplicação de estratégias de teste automatizadas. Sistemas com saídas gráficas/áudio, imagens tridimensionais, interfaces gráficas com o usuário e alguns aplicativos da Web são exemplos de sistemas com saídas complexas. A falta de oráculos automatizados de teste leva à aplicação de testes executados manualmente pelo próprio testador (oráculo humano), de modo informal, ad-hoc e improdutivo. Uma possível contribuição para aliviar esforços do testador é a implementação de oráculos de teste baseados na extração de características das saídas do SUT. Resultados de trabalhos anteriores mostram que tal abordagem contribui para o aumento da produtividade do teste, mitigando e complementando os esforços manuais. Este trabalho de mestrado propõe e avalia oráculos de teste automatizados para sistemas cujas saídas consistem em imagens médicas tridimensionais. Para tanto, é explorado o framework O-FIm/CO (do inglês, Oracle for Images and Complex Outputs) que utiliza conceitos de Recuperação de Imagens Baseada em Conteúdo (do inglês, Content-Based Image Retrieval CBIR) como uma forma de automatizar oráculos de teste. Além de adaptações e extensões do framework, desenvolveram-se plug-ins que representam extratores de características de imagens médicas tridimensionais de vasos sanguíneos. Para evidenciar a eficácia da abordagem, foram conduzidos dois estudos experimentais objetivando avaliar a eficácia e a precisão dos oráculos de teste baseados em características na avaliação desse tipo de imagem. Além disso, realizou-se um estudo experimental comparando os oráculos de teste baseados em características e oráculos humanos. Os resultados evidenciam a eficácia da abordagem como uma estratégia promissora para automatizar atividades de teste, contribuindo para a redução de tempo e esforços gerados por abordagens manuais durante a avaliação da qualidade de sistemas geradores de imagens médicas tridimensionais. / Automated testing activities significantly contribute to cost reduction and project productivity during the software development process. Automated testing reduces human effort and increases the quality of the final product. However, the high complexity of contemporary SUT outputs limits, in some cases, the application of automated test strategies. Systems with graphical/audio outputs, three-dimensional imaging, graphical user interfaces and some web applications are examples of systems with complex outputs. The lack of automated test oracles leads to the application of manual tests performed by the tester (human oracle) in an informal, ad-hoc and unproductive manner. One possible contribution to alleviate the testers efforts is to implement test oracles based on the extraction of characteristics from the SUT outputs. Results from previous work show that such an approach contributes to increase test productivity, mitigating and complementing manual efforts. This dissertation proposes and evaluates automated test oracles for systems whose outputs consist of three-dimensional medical images. To do so, the framework O-FIm/CO (Oracle for Images and Complex Outputs) that uses CBIR (Content-Based Image Retrieval) concepts is explored as a strategy to automate test oracles. In addition to adaptations and extensions of the framework, plug-ins were developed which represent extractors of three-dimensional medical image characteristics of blood vessels. To demonstrate the efficacy of the approach, two experimental studies were conducted to evaluate the efficacy and accuracy of feature-based test oracles in the evaluation of such images. Moreover, an experimental study was conducted to compare feature-based test oracles with human oracles. The results show the efficacy of the approach as a promising strategy to automate testing activities, contributing to the reduction of time and effort generated by manual approaches during the quality assessment of three-dimensional medical imaging systems.
87

Avaliação da efetividade dos critérios de teste estruturais no contexto de programas concorrentes / Investigating of the structural testing effectiveness in context of concurrent programs

Brito, Maria Adelina Silva 24 November 2011 (has links)
A Engenharia de Software tem desenvolvido t[écnicas e métodos para apoiar o desenvolvimento de software confiável, flexível, com baixo custo de desenvolvimento e fácil manutenção. Técnicas e critérios de teste contribuem nessa direção, fornecendo mecanismos para produzir software com alta qualidade. Este trabalho apresenta um estudo experimental para avaliar o custo, eficácia e a dificuldade de satisfação (strength) dos critérios estruturais propostos para programas concorrentes. Esta avaliação foi conduzida usando oito programas implementados em MPI e utilizando a ferramenta de teste ValiMPI. Com base em taxonomias, defeitos foram injetados nos programas de modo a avaliar a eficácia dos critérios de teste em revelar os defeitos inseridos. Os resultados obtidos demonstraram o aspecto complementar dos critérios e informações sobre o custo e eficácia, que contribuíram para o estabelecimento de uma estratégia de teste incremental para aplicar os critérios de teste em uma boa relação custo-eficácia. Para concluir, os resultados indicam que os critérios de teste estrutural propostos para programas concorrentes em MPI são promissores e podem auxiliar a detectar defeitos nessas aplicações, melhorando a qualidade das mesmas / The software engineering has developed techniques and methods to help the software development reliable, exible and with lower development costs and easy maintenance. Testing techniques and criteria contribute in this sense, providing mechanisms to produce high quality software. This work presents an experimental study to evaluate the cost, effectiveness and strength of the structural testing criteria for concurrent programs. This evaluation has been conducted using eight programs implemented in MPI and the ValiMPI testing tool. Based on a fault taxonomy for concurrent programs, defects have been injected in these programs in order to evaluate the effectiveness of the testing criteria. The results indicate the complementary aspect of the criteria and the information about cost and effectiveness have contributed to the establishment of an incremental testing strategy to apply the testing criteria in good relation cost-effectiveness. To conclude, the results indicate that the structural testing criteria, proposed for MPI concurrent programs, are promising and they can help to find defects in these applications, improving their quality
88

Análise de cobertura de critérios de teste estruturais a partir de conjuntos derivados de especificações formais: um estudo comparativo no contexto de aplicações espaciais / Structural coverage analysis of test sets derived from formal specifications: a comparative study in the space applications context

Herculano, Paula Fernanda Ramos 24 April 2007 (has links)
As técnicas de teste podem ser divididas, num primeiro nível, naquelas baseadas no código (caixa branca) e naquelas baseadas na especificação (caixa preta ou funcionais). Nenhuma delas é completa pois visam a identificar tipos diferentes de defeitos e a sua utilização em conjunto pode elevar o nível de confiabilidade das aplicações. Assim, tornam-se importantes estudos que contribuam para um melhor entendimento da relação existente entre técnicas funcionais e estruturais, como elas se complementam e como podem ser utilizadas em conjunto. Este trabalho está inserido no contexto do projeto PLAVIS (Plataforma para Validação e Integração de Software em Aplicações Espaciais), e tem como objetivo realizar um estudo comparativo entre as técnicas de geração de casos de teste funcionais (baseadas nas especificações formais) e os critérios estruturais baseados em fluxo de controle e fluxo de dados, aplicados nas implementações. Num contexto específico, esse estudo deve fornecer dados de como se relacionam essas duas técnicas (funcional e estrutural) gerando subsídios para sua utilização em conjunto. Num contexto mais amplo - o do projeto PLAVIS - visa a estabelecer uma estratégia de teste baseada em critérios funcionais e estruturais e que possam, juntamente com as ferramentas que dão suporte a eles, compor um ambiente de teste disponível à utilização em aplicações espaciais dentro do INPE / Testing techniques can be divided, in high level, in code-based ones (white box) and specification based ones (black box). None of them are complete as they intend to identify different kinds of faults. The use of them together can increase the application confidence level. Thus, it is important to investigate the relationship between structural testing techniques and functional testing techniques, how they complete themselves and how they can be used together. This paper was developed in the context of the Plavis (PLAtform of software Validation & Integration on Space systems) project. This project provides comparative studies between functional generation testing techniques (based on formal specifications) and structural generation testing techniques, such as control-flow and data-flow criteria, applied in the implementation. In a specific context, this study provides data about the relationship between these techniques and how they can be used together. In the context of the Plavis project, the goal is to provide a testing strategy, based on functional and structural criteria, and a set of tools, composing a testing environment to be used in Space Applications projects, at INPE
89

Um framework para avaliação sistemática de técnicas de teste no contexto de programação concorrente / A Framework for systematic testing techniques evaluation applied to concurrent programming

Melo, Silvana Morita 04 April 2018 (has links)
Contexto: Embora diversas técnicas de teste de software tenham sido propostas para o contexto da programação concorrente, as informações sobre elas encontram-se de dispersas na literatura, não oferecendo uma caracterização apropriada e dados relevantes que possam auxiliar a compreensão e consequente aplicação efetiva dessas técnicas, dificultando o processo de transferência de conhecimento entre a academia e a comunidade interessada. Objetivo: Nesse contexto, o principal objetivo deste trabalho é oferecer subsídios, na forma de um framework, que seja capaz de apoiar a caracterização e seleção sistemática de técnicas de teste de software concorrente. Metodologia: Para atender esse objetivo, foi construído um corpo de conhecimento que reúne de maneira integrada informações relevantes ao processo de tomada de decisão sobre qual técnica de teste aplicar a um determinado projeto de software. Um design de experimentos é definido, funcionando como guia para condução de estudos empíricos que podem ser usados para a realimentação, atualização e evolução do corpo de conhecimento. Buscando sistematizar o processo de seleção de técnicas de teste, é definido um esquema de caracterização que considera as principais características da programação concorrente que influenciam a atividade de teste de software e calcula a adequação desses atributos aos atributos do projeto em desenvolvimento. Resultados e Conclusões: A fim de permitir que a comunidade interaja com o framework proposto, foi disponibilizada uma infraestrutura computacional que permite o acesso ao corpo de conhecimento e automatiza o processo de seleção de técnicas de teste de software concorrente. O estudo experimental conduzido para avaliação da proposta, mostrou que a abordagem contribui de maneira efetiva para caracterizar, comparar e quantificar a adequabilidade baseada em atributos, melhorando consideravelmente o processo de seleção de técnicas de teste para software concorrente segundo as expectativas dos usuários. / Background: Although a variety of concurrent software testing techniques have been proposed for the concurrent programming context, the information about them are scattered in the literature, not offering an appropriate characterization and relevant data that can aid the understanding and consequently the effective application of these techniques, hindering the process of knowledge transfer between the academia and the interested community. Objective: In this context, the main objective of this work is to provide subsidies in form of a framework which will be able to support the characterization and systematic selection of concurrent software testing techniques. Methodology: In order to meet this objective, a body of knowledge has been built that brings together, in an integrated way, information relevant for the decision-making process about what testing technique should be applied in a specific software project. A design of experiments is defined as a guide for conducting empirical studies that can be used for feedback, updating, and evolution of the body of knowledge. With the objective of systematizing the process of testing techniques selection is defined a characterization scheme that considers the main characteristics of the concurrent programming that influence the testing activity and calculates the adequacy for these attributes in comparison with the software project in development. Results and Conclusions: In order to allow the community interaction with the proposed framework was provided a computational infrastructure that allows access to the body of knowledge and the automation of the selection process. The empirical study conducted to evaluate the proposal showed that the approach effectively contributes to characterize, compare and quantify the adequacy based on the attributes, improving the selection process of concurrent software testing techniques according to the users expectations.
90

Search based software testing for the generation of synchronization sequences for mutation testing of concurrent programs / Teste baseado em busca para geração de sequencias de sincronização para o teste de mutação de programas concorrentes

Silva, Rodolfo Adamshuk 30 May 2018 (has links)
Concurrent programming has become an essential paradigm for reductions in the computational time in many application domains. However, the validation and testing activity is more complex than the testing for sequential programs due to the non-determinism, synchronization and inter-process communication. Mutation testing is based on mistakes produced by software developers and presents a high effectiveness to reveal faults. However, high computational costs limit its applicability even for sequential code, becoming higher for concurrent programs in which each test has to be executed with different (ideally all) thread schedules. To date, only selective mutation have been applied to reduce the number of mutants in concurrent programs, however, the problem of state explosion of thread schedules still remains. This Ph.D. thesis presents the SBBMuT approach that applies deterministic execution and genetic algorithm for the generation and execution of a set of synchronization sequences during the mutation testing of Java multithreaded programs. An experimental study was conducted, and the results showed that the set of synchronization sequences generated by SBBMuT achieved a higher mutation score in comparison with the use of the Java PathFinder model checking tool. / A programação concorrente tornou-se um paradigma essencial para a redução no tempo computacional em muitos domínios de aplicação. No entanto, as atividades de verificação, validação e teste são mais complexas do que o teste para programas sequenciais devido ao não determinismo, sincronização e comunicação entre processos ou threads. O teste de mutação é baseado em enganos cometidos por desenvolvedores de software e apresenta uma alta eficácia para revelar defeitos. No entanto, o alto custo computacional limita a sua aplicação mesmo para programas sequenciais, e tornando-se maior para programas concorrentes no qual cada teste deve ser executado com diferentes (idealmente todas) sequências de sincronizações. Na literatura, apenas mutação seletiva foi aplicada para reduzir o número de mutantes em programas concorrentes, no entanto, o problema de explosão no número de sequências de sincronização ainda permanece. Esta tese de doutorado apresenta a abordagem SBBMuT que aplica execução determinística e algoritmo genético para a geração e execução de um conjunto de sequências de sincronização durante o teste de mutação para programas Java multithread. Um estudo experimental foi conduzido e os resultados mostram que o conjunto de sequências de sincronização gerada pela SBBMuT conseguiu alcançar um escore de mutação maior em comparação com a utilização da ferramenta de validação de modelos Java PathFinder.

Page generated in 0.479 seconds