• 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.
111

Addressing high dimensionality and lack of feature models in testing of software product lines

SOUTO, Sabrina de Figueirêdo 31 March 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-03-15T15:21:11Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TESE_SABRINA.pdf: 1152470 bytes, checksum: a89ffc94cb3ee813cf52ca2c043171ba (MD5) / Made available in DSpace on 2016-03-15T15:21:11Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TESE_SABRINA.pdf: 1152470 bytes, checksum: a89ffc94cb3ee813cf52ca2c043171ba (MD5) Previous issue date: 2015-03-31 / Software Product Lines (SPLs) allow engineers to systematically build families of software products, defined by a unique combination of features—increments in functionality, improving both the efficiency of the software development process and the quality of the software developed. However, testing these kinds of systems is challenging, as it may require running each test against a combinatorial number of products. We call this problem the High Dimensionality Problem. Another obstacle to product line testing is the absence of Feature Models (FMs), making it difficult to discover the real causes for test failures. We call this problem the Lack of Feature Model Problem. The High Dimensionality Problem is associated to the large space of possible configurations that an SPL can reach. If an SPL has n boolean features, for example, there are 2n possible feature combinations. Therefore, systematically testing this kind of system may require running each test against all those combinations, in the worst case. The Lack of Feature Model Problem is related to the absence of feature models. The FM enables accurate categorization of failing tests as failures of programs or the tests themselves, not as failures due to inconsistent combinations of features. For this reason, the lack of FM presents a huge challenge to discover the true causes for test failures. Aiming to solve these problems, we propose two lightweight techniques: SPLat and SPLif. SPLat is a new approach to dynamically prune irrelevant configurations: the configurations to run for a test can be determined during test execution by monitoring accesses to configuration variables. As a result, SPLat reduces the number of configurations. Consequently, SPLat is lightweight compared to prior works that used static analysis and heavyweight dynamic execution. SPLif is a technique for testing SPLs that does not require a priori availability of feature models. Our insight is to use a profile of passing and failing test runs to quickly identify test failures that are indicative of a problem (in test or code) as opposed to a manifestation of execution against an inconsistent combination of features. Experimental results show that SPLat effectively identifies relevant configurations with a low overhead. We also apply SPLat on two large configurable systems (Groupon and GCC), and it scaled without much engineering effort. Experimental results demonstrate that SPLif is useful and effective to quickly find tests that fail on consistent configurations, regardless of how complete the FMs are. Furthermore, we evaluated SPLif on one large extensively tested configurable system, GCC, where it helped to reveal 5 new bugs, 3 of which have been fixed after our bug reports. / Software Product Lines (SPLs) allow engineers to systematically build families of software products, defined by a unique combination of features—increments in functionality, improving both the efficiency of the software development process and the quality of the software developed. However, testing these kinds of systems is challenging, as it may require running each test against a combinatorial number of products. We call this problem the High Dimensionality Problem. Another obstacle to product line testing is the absence of Feature Models (FMs), making it difficult to discover the real causes for test failures. We call this problem the Lack of Feature Model Problem. The High Dimensionality Problem is associated to the large space of possible configurations that an SPL can reach. If an SPL has n boolean features, for example, there are 2n possible feature combinations. Therefore, systematically testing this kind of system may require running each test against all those combinations, in the worst case. The Lack of Feature Model Problem is related to the absence of feature models. The FM enables accurate categorization of failing tests as failures of programs or the tests themselves, not as failures due to inconsistent combinations of features. For this reason, the lack of FM presents a huge challenge to discover the true causes for test failures. Aiming to solve these problems, we propose two lightweight techniques: SPLat and SPLif. SPLat is a new approach to dynamically prune irrelevant configurations: the configurations to run for a test can be determined during test execution by monitoring accesses to configuration variables. As a result, SPLat reduces the number of configurations. Consequently, SPLat is lightweight compared to prior works that used static analysis and heavyweight dynamic execution. SPLif is a technique for testing SPLs that does not require a priori availability of feature models. Our insight is to use a profile of passing and failing test runs to quickly identify test failures that are indicative of a problem (in test or code) as opposed to a manifestation of execution against an inconsistent combination of features. Experimental results show that SPLat effectively identifies relevant configurations with a low overhead. We also apply SPLat on two large configurable systems (Groupon and GCC), and it scaled without much engineering effort. Experimental results demonstrate that SPLif is useful and effective to quickly find tests that fail on consistent configurations, regardless of how complete the FMs are. Furthermore, we evaluated SPLif on one large extensively tested configurable system, GCC, where it helped to reveal 5 new bugs, 3 of which have been fixed after our bug reports.
112

Estudo e Definição de uma Metodologia de Teste de Software no Contexto de Sistemas Embarcados Críticos / Study and Definition of a Methodology for Software Testing in the Context of Critical Embedded Systems

BARBOSA, Jacson Rodrigues 28 July 2011 (has links)
Made available in DSpace on 2014-07-29T14:57:49Z (GMT). No. of bitstreams: 1 Jacson Rodrigues.pdf: 1414026 bytes, checksum: a4679b63023d053723ea70b3a0eac3f1 (MD5) Previous issue date: 2011-07-28 / Computing is becoming increasingly critical in the embedded applications space and depending on the software, its malfunction may result in a severe financial loss to the loss of human life. Considering this scenario, we presented a systematic literature review in order to investigate the evolution of work-related activity test critical embedded software in order to evaluate the level of compliance found in the work to the standard DO- 178B (Software Considerations in Airborne Systems and Equipment Certification). This research, in addition to conducting a systematic review of publications about this issue, has resulted in the composition of primary studies to define a process of quality testing and including the requirements of DO-178B at their different levels of criticality. / A computação ganha cada vez mais espaço em aplicações embarcadas críticas e, dependendo do software, seu mau funcionamento pode provocar desde um grave prejuízo financeiro até a perda de vidas humanas. Considerando este cenário, é apresentado uma revisão sistemática com o objetivo de investigar a evolução dos trabalhos relacionados a atividade de teste de software embarcado crítico visando avaliar o nível de aderência dos trabalhos encontrados em relação à norma DO-178B (Software Considerations in Airborne Systems and Equipment Certification). Esta pesquisa, além de realizar a revisão sistemática dos trabalhos relacionados ao tema, apresenta como resultado a composição de estudos primários para definição de um processo de teste de qualidade e que contemple as exigências da DO-178B em seus diferentes níveis de criticalidade.
113

Um arcabouço conceitual para diagnóstico organizacional a respeito da utilização da automação de testes de software

Rodrigues, Anderson Clayton Barreto, +55 92 988280034 27 February 2018 (has links)
Submitted by ANDERSON RODRIGUES (rodrigues.anderson@gmail.com) on 2018-06-26T16:44:32Z No. of bitstreams: 1 Tese Completa - ANDERSON RODRIGUES.pdf: 5422918 bytes, checksum: 1eaacb8bd2852d4ff7ea5c2c110d76a6 (MD5) / Approved for entry into archive by Secretaria PPGI (secretariappgi@icomp.ufam.edu.br) on 2018-06-26T18:32:13Z (GMT) No. of bitstreams: 1 Tese Completa - ANDERSON RODRIGUES.pdf: 5422918 bytes, checksum: 1eaacb8bd2852d4ff7ea5c2c110d76a6 (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2018-06-26T18:54:36Z (GMT) No. of bitstreams: 1 Tese Completa - ANDERSON RODRIGUES.pdf: 5422918 bytes, checksum: 1eaacb8bd2852d4ff7ea5c2c110d76a6 (MD5) / Made available in DSpace on 2018-06-26T18:54:36Z (GMT). No. of bitstreams: 1 Tese Completa - ANDERSON RODRIGUES.pdf: 5422918 bytes, checksum: 1eaacb8bd2852d4ff7ea5c2c110d76a6 (MD5) Previous issue date: 2018-02-27 / FAPEAM - Fundação de Amparo à Pesquisa do Estado do Amazonas / Software is present in all areas of contemporary life. From simple video games to complex air traffic monitoring systems, the risks involved in software failure have never been so serious. Testing is one of the most effective ways to increase the software quality. However, it is a laborious activity that may account for 20%-50% of the total cost of the software development project. The automation of software testing (AST) may represent a viable alternative for reducing this cost. The main benefits of AST are the decrease in test run time, increased quality, and decreased human error during the test process. However, just 20% of software organizations report having achieved the expected benefits from using AST. This dissertation presents a conceptual framework that aims to help organizations reach the objectives expected with the use of AST. The body of knowledge was constructed through two empirical studies: A systematic review of the literature, aiming to identify and characterize factors and practices that positively influence the use of AST and a survey with experts in software testing to assess relevance and impact identified. Finally, the viability of the proposed framework was evaluated through its application in two software organizations and from the perception of participants through interviews. From the studies conducted, 12 critical success factors (CSF) and 46 practices were identified and evaluated as relevant in the use of AST, among them are: the commitment and qualification of the automation team, the level of software testability and the feasibility of the automation project. Finally, a conceptual framework was developed using CSF assistance as a way to evaluate the knowledge of organizations about AST and therefore to suggest the adoption of practices to assist them in achieving the objectives expected with the use of AST. The results show that meeting critical success factors and adopting good practices contribute to the organizations achieving the expected benefits through the use of software testing automation and that the framework developed is feasible and can assist them in this purpose. / Software está presente em todas as áreas da vida contemporânea. De simples vídeo games a complexos sistemas de monitoramento de tráfego aéreo, os riscos envolvidos na falha de um software nunca foram tão sérios. Testar é uma das maneiras mais efetivas de aumentar a qualidade de um software. No entanto, teste é uma atividade laboriosa que pode ser responsável por 20%-50% do custo total do projeto de desenvolvimento de um software. A automação de testes de software (ATS) pode representar uma alternativa viável para a redução desse custo. Os principais benefícios da ATS são a diminuição no tempo de execução de testes, aumento da qualidade e diminuição de erros humanos durante o processo de teste. No entanto, apenas 20% das organizações relatam ter alcançado os benefícios esperados com a utilização da ATS. Este trabalho apresenta um arcabouço conceitual que visa auxiliar organizações a atingirem os objetivos esperados com a utilização da ATS. O corpo de conhecimento foi construído por meio de dois estudos experimentais: Uma revisão sistemática da literatura, com o objetivo de identificar e caracterizar fatores e práticas que influenciam positivamente na utilização da ATS e um survey com especialistas em testes de software visando avaliar a relevância e o impacto dos FCS identificados. Por fim, a viabilidade do arcabouço foi avaliada por meio da sua aplicação em 2 organizações produtoras de software e da coleta de percepção dos participantes por meio de entrevistas. A partir dos estudos conduzidos, 12 fatores críticos de sucesso (FCS) e 46 práticas foram identificados e avaliados como relevantes na utilização da ATS, entre eles estão: o comprometimento e qualificação da equipe de automação, o nível de testabilidade do software e a viabilidade do projeto de automação. Por fim, um arcabouço conceitual foi desenvolvido utilizando o atendimento de FSC como forma de avaliar o conhecimento de organizações a respeito da ATS e por conseguinte sugerir a adoção de práticas para auxilia-las no atingimento dos objetivos esperados com a utilização da ATS. Os resultados apontam que o atendimento de fatores críticos de sucesso e a adoção de boas práticas contribuem para que as organizações alcancem os benefícios esperados com a utilização da automação de teste de software e que o arcabouço desenvolvido é viável e pode auxilia-las nesse propósito.
114

FreeTest 2.0: uma evolução do método FreeTest para a melhoria no processo de teste de software em micro e pequenas empresas

Louzada, Jailton Alkimin 11 August 2017 (has links)
Submitted by Franciele Moreira (francielemoreyra@gmail.com) on 2017-09-11T13:42:06Z No. of bitstreams: 2 Dissertação - Jailton Alkimin Louzada - 2017.pdf: 5226619 bytes, checksum: bb291ad68acd8cf80fcb2c6c2392c596 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2017-09-15T15:43:54Z (GMT) No. of bitstreams: 2 Dissertação - Jailton Alkimin Louzada - 2017.pdf: 5226619 bytes, checksum: bb291ad68acd8cf80fcb2c6c2392c596 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2017-09-15T15:43:54Z (GMT). No. of bitstreams: 2 Dissertação - Jailton Alkimin Louzada - 2017.pdf: 5226619 bytes, checksum: bb291ad68acd8cf80fcb2c6c2392c596 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2017-08-11 / The Information Technology (I.T) market is growing. In the age of information, world economies have been investing more and more in the services market. Within this competitive scenario, software testing is an important component for raising the quality of software developed in Brazil and in the global competitiveness cenario. However, Small and medium-sized enterprises (SMEs) have limited resources for investments in software testing maturity processes, tools and models in their business. Faced with this, this work has as main proposal to produce an apparatus to improve the process of software testing for SMEs. Objective: As the main objectives, this study proposed a more update version of the FreeTest 1.0 process, as well as practical instructions on how to implement the activities suggested in the process, all this formatted in a new process and a wizard respectively. Methodology: In order to fulfill the objectives of this work, the FreeTest 2.0 process was created as an improvement of the FreeTest Method process, focused mainly on Agile techniques, DevOps and aligned with the SMEs ecosystem. And the FreeTest Wizard, which consists of a deployment guide that supports the implementation of the process in a didactic, dynamic and flexible way. Another contribution of this work was the creation of support tools to disseminate this knowledge and content management, in this case the creation of a web platform, distributed free of charge and in the format "as a Service". Finally, the results and conclusions can be seen in the final chapter of this work. / O mercado de Tecnologia da Informação (T.I.) é crescente. Na era da informação, as economias mundiais investem cada vez mais no mercado de Serviços. Dentro deste cenário competitivo, o teste de software é um importante componente para elevação da qualidade do software desenvolvido no Brasil e sua competitividade mundial. Contudo, as Micro e Pequenas Empresas (MPEs) possuem recursos limitados para investimentos em processos, ferramentas e modelos de maturidade de teste de software em seus negócios. Diante disto, este trabalho tem como proposta principal produzir um aparato para melhoria do processo de teste de software para MPEs. Objetivo: Como objetivos principais, este estudo propôs uma versão mais atualizada do processo FreeTest 1.0, bem como instruções práticas de como implantar as atividades sugeridas no processo, tudo isso formatado em um novo processo e um guia de implantação, respectivamente. Metodologia: Com o propósito de cumprir os objetivos almejados neste trabalho foram criados: 1) o processo FreeTest 2.0 como uma melhoria do processo do FreeTest 1.0, focado principalmente em técnicas Ágeis, DevOps e alinhado ao ecossistema das MPEs; e 2) o FreeTest Wizard, que consiste em um guia de implantação que apoia a implantação do processo de forma didática, dinâmica e flexível. Outra contribuição deste trabalho foi a criação de ferramentas de apoio para disseminação deste conhecimento e gestão dos conteúdos, neste caso, a criação de uma plataforma web distribuída de forma gratuita e no formato "as a Service". Por fim, os resultados e conclusões serão vistos no capítulo final deste trabalho.
115

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

André Takeshi Endo 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
116

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

Fabiano Cutigi Ferrari 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
117

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

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

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

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

Page generated in 0.3182 seconds