• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 247
  • 200
  • 36
  • 19
  • 8
  • 7
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 595
  • 595
  • 181
  • 163
  • 160
  • 145
  • 65
  • 64
  • 64
  • 62
  • 58
  • 58
  • 58
  • 54
  • 49
  • 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.
381

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.
382

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

Silvana Morita Melo 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.
383

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

Rodolfo Adamshuk Silva 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.
384

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

Maria Adelina Silva Brito 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
385

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

André Abe Vicente 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
386

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

Alinne Cristinne Corrêa Souza 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.
387

Investigating the applicability of execution tracing techniques for root causing randomness-related flaky tests in Python / En undersökning av exekveringsspårning och dess tillämplighet för att orsaksbestämma skakiga tester i Python relaterade till slumpmässighet

Erik, Norrestam Held January 2021 (has links)
Regression testing is an essential part of developing and maintaining software. It helps verify that changes to the software have not introduced any new bugs, and that the functionality still works as intended. However, for this verification to be valid, the executed tests must be assumed to be deterministic, i.e. produce the same output under the same circumstances. Unfortunately, this is not always the case. A test that exhibits non-deterministic behavior is said to be flaky. Flaky tests can severely inhibit the benefits of regression testing, as developers must figure out whether a failing test is due to a bug in the system under test (SUT) or test flakiness. Moreover, the non-deterministic nature of flaky tests poses several problems. Not only are the failures difficult to reproduce and debug, but developers are more likely to ignore the outcome of flaky tests, potentially leading to overlooked bugs in the SUT. The aim of this thesis was to investigate the applicability of execution tracing techniques as a means of providing root cause analysis for flaky tests in the randomness and network categories. This involved reproducing and studying flakiness, as well as implementing and evaluating a prototype with the ability to analyze runtime behavior in flaky tests. To gain a better understanding of reproducibility and common traits among flaky tests in the selected categories, a pre-study was conducted. Based on the outcome of the pre-study and findings in related literature, the network category was dropped entirely, and two techniques were chosen to be implemented. The implementation process resulted in the FlakyPy tool, a plugin for pytest that provides root cause analysis aimed at randomness flakiness. When run against a dataset of 22 flaky tests, the tool was able to identify potential root causes in 15 of these. This serves as an indication that execution tracing has the potential of detecting possible root causes in flaky randomness tests in Python. However, more research is needed to evaluate how developers perceive the usefulness of such tools.
388

Systém pro správu výsledků testů doplňující nástroj tmt / Test Results Management System Complementing the tmt Tool

Dubaj, Ondrej January 2021 (has links)
This diploma thesis deals with the area of software testing, more precisely with the topic of managing test results. The aim of this work is to find, set up and implement a system that complements the missing functionality of the TMT tool, which is going to replace the Nitrate tool in Red Hat as a test management system. The content of this work is a basic introduction to the tools Nitrate, TMT and other technologies used in Red Hat. Furthermore, the work presents the current state of the test infrastructure and collected user requirements for a new system for managing test results. Subsequently, the ReportPortal tool is introduced as a system for test results management and the missing functionality is defined. The rest of the work is devoted to setting up the system itself and implementing the missing functionality, along with implementing the infrastructure needed to import test results into ReportPortal. The work describes the method of deploying the system in use and feedback from users. The deployed system is evaluated and its further possible improvements are discussed.
389

Aplikace fuzzy logiky pro určení priority testů / The Application of Fuzzy Logic for Test Case Prioritization

Starostová, Andrea January 2014 (has links)
Diplomová práce je zaměřena na stanovení priority testovacích případů s využitím fuzzy logiky. Vhodným přístupem k získání výstupu na základě definovaného vstupu a stanovených pravidel byl zvolen fuzzy model přiřazující prioritu testovacím případům. K dosažení cíle práce byla nejprve stanovena kritéria, parametry a poté určena jejich váha pro jednotlivé testovací případy. Na závěr jsou vyhodnocena vstupní data s využitím řešení v programu MS Excel a MATLAB.
390

Förutsättningar för att bedriva testdriven utveckling

Eskesen, Sophie, Wixenius, Fredrik January 2015 (has links)
An increasing amount of companies have changed development methodology in favor of test-driven development over the last couple of years. Test-driven development means that the developer starts with producing test cases, which fails. Then the functionality, for making the test cases, true is developed and finally the code is refactored. In theory, this work method minimizes the code, which fulfills the demands. A lot of studies have been conducted in order to decide pros and cons with test-driven development and compare it with other methods. However, no study has been completed with the aim of determining the prerequisites that are needed to conduct test-driven development. The aim of this study is to determine these prerequisites by performing a case study, on a large company from Sweden, in which interviews is the essential part, and a literature study. After the completion of the case study, a list of prerequisites was created based on a comparison between the result from the case study and the literature study. The main point of the list is that the company considers the implementation of test-driven development as an investment. Another important point was to only implement TDD for new projects or for already existing TDD projects. / Fler och fler företag har de senaste åren gått över till testdriven utveckling. Testdriven utveckling går ut på att utvecklare först producerar testfall som misslyckas, för att därefter skriva kod som gör att testfallet lyckas och slutligen städa upp samt radera duplicerad funktionalitet. Detta innebär i teorin att den kod som produceras för att klara kraven är minimerad. Många studier har gjorts för att bestämma för- och nackdelar med testdriven utveckling, samt jämföra det med andra tillvägagångssätt. Däremot har ingen studie undersökt vilka förutsättningar som faktiskt krävs för att man ska kunna bedriva testdriven utveckling. Genom att utföra en fallstudie, på ett större företag från Sverige, innehållandes intervjuer samt en litteraturstudie ämnar uppsatsen bringa klarhet i vilka dessa förutsättningar är. Efter genomförande av intervjuerna och jämförelse av intervjuresultat med litteraturstudien utkristalliserade sig en lista över de förutsättningar som behöver vara uppfyllda för att en organisation, som helhet, ska kunna bedriva testdriven utveckling. Listan viktigaste punkt är att organisationen betraktar en implementering av testdriven utveckling som en investering. En annan viktig punkt var att endast bedriva TDD vid nyutveckling eller vid förvaltning av kod som tidigare utvecklats med TDD.

Page generated in 0.1229 seconds