• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 165
  • 14
  • 4
  • Tagged with
  • 183
  • 183
  • 144
  • 45
  • 36
  • 34
  • 32
  • 28
  • 27
  • 25
  • 25
  • 24
  • 23
  • 23
  • 22
  • 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.
51

KITest: Um arcabouço de conhecimento e melhoria de processo de teste / KITest: a fremework of knowledge and improvement of testing process

Erika Nina Höhn 21 September 2011 (has links)
Contexto: Apesar de existirem muitas informações sobre a área de teste de software, elas se encontram de forma dispersa e sem conexão, o que aumenta a já existente dificuldade por parte de usuários em compreender os conceitos e as tecnologias dessa área e, conseqüentemente, em tomar a decisão de onde e quando usálas. Objetivo: O objetivo deste trabalho foi criar o arcabouço KITest (Knowledge and Improvement on Test) capaz de agregar o conhecimento em teste e disponibilizá-lo para a comunidade com a intenção de facilitar a sua transferência, a definição e a melhoria de processos de teste, com mais qualidade. Metodologia: Para facilitar a transferência de conhecimento modelou-se o conhecimento em teste por meio de um processo genérico de teste organizado em um mapa mental (KITMap). Para contemplar a questão de qualidade estabeleceu-se como base as práticas do modelo TMMi, distribuídas no processo de teste genérico. Para permitir que a comunidade interaja com essa base de conhecimento em teste criou-se uma ferramenta (KITTool) que permita acesso a essas informações, faça diagnóstico do processo de teste vigente e sugira melhorias. Para gerenciar toda essa estrutura utilizou-se uma estratégia de melhoria para que essa estrutura esteja sempre em evolução com base na realimentação da comunidade que a utiliza. Resultados e Conclusões: os resultados e as conclusões sobre a aplicação do arcabouço KITest estão apresentados no relatório técnico anexo a esta tese / Background: Although there is much information about the software testing area, they are dispersed and disconnected, thus hardening the understanding of concepts and technologies within this area. Consequently, this increases the difficulty on making decisions on where and when to use such testing-related information. Objective: The objective of this work was to create the KITest framework (Knowledge and Improvement on Test) aiming at aggregating knowledge of software testing and making it available to the community. The purpose of KITest is facilitating the knowledge transfer and supporting the definition and improvement of testing processes with respect to its quality. Methodology: Aiming to facilitate the knowledge transfer, the testingrelated knowledge was modeled through a generic testing process organized as a mental map (KITMap). TMMi was chosen as the underlying model to address the intended quality issues. The TMMi practices were distributed into the general testing process. To allow the communitys interaction with the testing knowledge base, we created a tool named KITTool. The tool allows the access to the testing-related information, supports the diagnosis of the current testing process and the suggestion of improvements to it. To manage all this structure, an improvement strategy is used to maintain a continuous evolution based on the communitys feedback. Results and Conclusions: The results and conclusions on the implementation of the KITest framework are described in the technical report that is attached to this dissertation
52

Avaliação da qualidade de oráculos de teste utilizando mutação / Quality evaluation of test oracles using mutation

Ana Claudia Maciel 19 April 2017 (has links)
No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento. Diante disso, atividades de Verificação, Validação & Teste (VV&T) realizadas por meio de métodos, técnicas e ferramentas são de extrema necessidade para o aumento da produtividade, qualidade e diminuição de custos no desenvolvimento de software. Do mesmo modo, técnicas e critérios contribuem para a produtividade das atividades de teste. Um ponto crucial para o teste de software é sua automatização, tornando as atividades mais confiáveis e diminuindo significativamente os custos de desenvolvimento. Na automatização dos testes, os oráculos são essenciais, representando um mecanismo (programa, processo ou dados) que indica se a saída obtida para um caso de teste está correta. Este trabalho de mestrado utiliza a ideia de mutação para criar implementações alternativas de oráculos de teste e, assim, avaliar a sua qualidade. O teste de mutação se refere à criação de versões do sistema em desenvolvimento com pequenas alterações sintáticas de código. A mutação possui alta eficácia na detecção de defeitos e é bastante flexível na sua aplicação, podendo ser utilizada em diversos tipos de artefatos. Adicionalmente, este trabalho propõe operadores de mutação específicos para oráculos, implementa uma ferramenta de apoio à utilização desses operadores para oráculos e também descreve um estudo empírico dos operadores, destacando benefícios e desafios associados ao seu uso. / In software development, product quality is directly related to the quality of the development process. Therefore, activities of Verification, Validation & Testing (VV&T) performed by methods, techniques and tools are urgently required to increase productivity, quality and cost reduction in software development. Similarly, testing technique and criteria contribute to the productivity of test activities. A crucial point for the software testing automation is making the most reliable activities and significantly reducing development costs. Regarding software testing automation, test oracles are essential, representing an mechanism (program, process or data) to indicate whether the actual output for a given test case is correct. This masters thesis aims to explore concepts of mutation testing to create alternative implementations of the oracle procedure and thus assess their quality. Mutation testing refers to the creation of system development versions with minor syntactic code changes. It has high efficiency on defects detecting and it is very flexible in its application and it is being used in various types of artifacts. This work also proposes specific mutation operators for oracles, implements an useful support tool for using these oracle mutation operators and conducts an empirical study of operators, highlighting benefits and challenges associated with their use.
53

Estabelecimento de uma arquitetura de referência orientada a serviços para ferramentas de teste de software / Estabilishment of a service-oriented reference architecture for the software testing tools

Lucas Bueno Ruas de Oliveira 11 January 2011 (has links)
O teste de software é reconhecido como uma importante atividade na garantia da qualidade de sistemas de software. Com o objetivo de dar apoio a essa atividade, uma diversidade de ferramentas de teste têm sido desenvolvida. Entretanto, grande parte dessas ferramentas é construída de forma isolada, possuindo arquiteturas e estruturas próprias, o que tem impactado negativamente a capacidade de integração e o reúso dessas ferramentas. Nesse contexto, esforços têm sido dedicados à disponibilização de ferramentas de teste orientadas a serviço, ou seja, ferramentas que são baseadas na SOA (Service Oriented Architecture). Em uma outra perspectiva, arquiteturas de referência têm desempenhado um importante papel no desenvolvimento de sistemas de software, uma vez que contém informações sobre como desenvolver sistemas para um determinado domínio de aplicação, buscando contribuir para o sucesso de sistemas desse domínio. Assim, o principal objetivo deste trabalho é o estabelecimento de uma arquitetura de referência orientada a serviço, denominada RefTEST-SOA (Reference Architecture for Software Testing Tools based on SOA), que agrega o conhecimento e a experiência de como organizar ferramentas de teste orientadas a serviço, visando também à integração, à escalabilidade e o reúso providos pela SOA. Para o estabelecimento dessa arquitetura, foi utilizado o ProSA-RA, um processo que sistematiza o projeto, representação e avaliação de arquiteturas de referência. Resultados alcançados no estudo de caso conduzido evidenciam que a RefTEST-SOA é uma arquitetura viável e reusável para o desenvolvimento de ferramentas de teste orientadas a serviço / Software testing is considered as an important activity to ensure the quality of software systems. To support such activity, a diversity of testing tools have been developed. However, most of them have been separately built and have usually their particular structures and architectures, which has hindered the integration and reuse of these tools. In this context, efforts have been employed in order to provide service-oriented testing tools, i.e., tools that are based on SOA (Service Oriented Architecture). In another perspective, reference architectures have played an important role in the development of software systems, since they contain information about how to develop systems for a particular application domain, contributing to the success of systems in that domain. Thereby, our main objective is to establish a service-oriented reference architecture, named RefTEST-SOA (Reference Architecture for Software Testing Tools based on SOA), which aggregates the knowledge and experience about how to organize service-oriented testing tools, also aiming at integration, scalability and reuse provided by SOA. To establish this architecture, we have used ProSA-RA, a process that provides guidelines to the design, representation and evaluation of reference architectures. Results achieved by a conducted case study indicate that RefTEST-SOA is a viable and reusable architecture for developing service-oriented testing tools
54

Teste de mutação aplicado a programas concorrentes em MPI / Mutation testing applied to concurrent programs in MPI

Rodolfo Adamshuk Silva 13 March 2013 (has links)
A Programação Concorrente tornou-se uma forma popular de desenvolvimento de software. Este paradigma de desenvolvimento e essencial para construir aplicações com o intuito de reduzir o tempo computacional em muitos domínios como, por exemplo, previsão tempo, processamento de imagem, entre outros. Estes programas têm novas características como a comunicação, a sincronização e o não determinismo, que precisam ser considerados durante a atividade de teste. O teste de software e uma atividade que busca garantir a qualidade por meio da identificação de falhas no produto. O Teste de Mutação e um critério de teste que se baseia nos enganos que podem ser cometidos pelos desenvolvedores de software. Porém, o teste de mutação não pode ser aplicado em programas concorrentes da mesma maneira como e aplicado em programas sequenciais por causa das particularidades presentes nos programas concorrentes. Um problema de aplicar o teste de mutação nesse contexto e o comportamento não determinístico das aplicações. Este trabalho investiga a definição do teste de mutação para programas concorrentes implementados em MPI (Message Passing Interface), os quais realizam comunicação e sincronização por meio de troca de mensagens. Para isso, defeitos típicos nesse domínio foram considerados, buscando modelar operadores de mutação para tratar os aspectos de comunicação e sincronização dessas aplicações. Também foi proposto um procedimento para dar suporte a análise comportamental dos mutantes. As idéias foram implementadas em uma ferramenta de teste chamada ValiMPI Mut / Concurrent programming became a popular paradigm for software development. This paradigm is essential to build applications which aim to reduce the computational time in many areas, such as, weather forecast, image processing, among others. These programs present new features such as communication, synchronization, and nondeterminism, which must be considered during the testing activity. Software testing is an activity that looks to ensure quality by identifying faults in the product. Mutation Testing is a criterion based on the most common mistakes that might be made by software developers. However, the mutation testing cannot be applied in concurrent programs the same way as applied in sequential ones due to the peculiarities present in concurrent programs. One of the problems in applying mutation testing in this context is the non-deterministic behavior. This work investigates the definition of mutation testing for concurrent programs implemented in MPI (Message Passing Interface), which perform communication and synchronization using message passing. For this, typical faults in this area were considered in order to model mutation operators addressing the aspects of communication and synchronization of these applications. Also, we are proposing a new procedure to support the behavioral analysis of the mutants. The ideas were implemented in a testing tool called ValiMPI Mut
55

Um estratégia para geração de seqüências de verificação para máquinas de estados finitos / A strategy for generating checking sequences for finite state machines

Paulo Henrique Ribeiro 09 December 2010 (has links)
O teste baseado em modelos tem como objetivo auxiliar a atividade de testes, gerando conjuntos de casos de teste a partir de modelos, como Máquinas de Estados Finitos (MEFs). Diversos métodos de geração de conjuntos de caso de teste têm sido propostos ao longo das últimas décadas, com algumas contribuições recentes. Dentre esses trabalhos, há os que geram seqüências de verificação que são conjuntos de caso de teste formados por uma única seqüência e que são capazes de detectar os defeitos de uma implementação cujo comportamento pode ser modelado a partir de uma MEF. Neste trabalho é proposto um algoritmo de geração de seqüências de verificação que tem a finalidade de gerar seqüências menores que as seqüências geradas pelos métodos existentes. O algoritmo, que é baseado na técnica de algoritmos genéticos e nas condições de suficiência para a completude de casos de teste, consiste basicamente em criar novas seqüências a partir de seqüências menores. Por meio de mutações, novas seqüências são geradas pelo algoritmo. As condições de suficiência são utilizadas para determinar quais seqüências geradas são seqüências de verificação. Também são apresentados neste trabalho os estudos experimentais realizados para determinar o comportamento do algoritmo diante de diferentes contextos / Model-based testing aims at aiding the testing activity, generating test cases from models such as Finite State Machines (FSM). Several test cases generation methods have been proposed along the last decades, with some recent contributions. Among these works, there are those that generate checking sequences, which are test cases formed by a single sequence and which are capable of detecting faults in an implementation whose behavior can be modeled as an FSM. This work proposes a checking sequences generation algorithm which aims at generating sequences smaller than the sequences generated by existing methods. The algorithm, which is based on the genetic algorithms technique and sufficient conditions for completeness of test cases, basically consists of creating new sequences from small sequences. Through mutations, new sequences are generated by the algorithm. The suffcient conditions are used to determine which sequences are checking sequences. Experimental studies are presented in this work to determine the behavior of the algorithm on different contexts
56

Teste de mutação nos paradigmas procedimental e oo: uma avaliação no contexto de estrutura de dados / Mutation testing in procedural and object-oriented paradigms: an evaluation of data structure programs

Diogo Nascimento Campanha 06 December 2010 (has links)
Com o objetivo de auxiliar a definição e evolução de estratégias de testes, estudos experimentais vêm sendo realizados comparando diferentes técnicas e critérios de teste em relação ao custo, eficácia e dificuldade de satisfação (strength). Entretanto poucos estudos buscam avaliar os critérios em diferentes paradigmas. Esta avaliação é importante pois o paradigma de implementação influência significativamente no programa gerado e as características entre programas implementados em diferentes paradigmas pode influenciar em diversos aspectos da atividade de teste. Este estudo é complementar a um outro trabalho do grupo do laboratório de engenharia de software do ICMC em que foram comparados o custo da aplicação dos critérios da técnica Estrutural em relação aos paradigmas Procedimental e Orientado a Objetos. Este trabalho apresenta um estudo experimental comparando o custo e o strength do critério Análise de Mutantes nos dois paradigmas. Além da avaliação do critério Análise de Mutantes, o material gerado para este estudo será construído de forma que possa ser utilizado para o ensino e treinamento das principais técnicas e critérios de teste e espera-se que este possa contribuir de alguma forma para que o ensino de teste de software possa ser aplicado em paralelo com o ensino de algoritmos e estrutura de dados. Para a condução deste estudo, foi utilizado um conjunto de 32 programas do domínio de estrutura de dados com versões implementadas em C e em Java. O critério Análise de Mutantes foi aplicado com auxílio das ferramentas Proteum e MuClipse. Para a avaliação do strength, o conjunto de casos de teste adequado a um programa foi executado contra os mutantes gerados na mesma versão do programa implementado no outro paradigma de interesse e o escore de mutação avaliado (cross scoring). Resultados indicam que tanto o custo quanto o strength do teste de mutação é maior em programas implementados no paradigma Procedimental do que no paradigma OO. Resultados estes certamente influenciados pelo conjunto de operadores implementado nas duas ferramentas. No paradigma procedimental, também foi avaliado o escore de mutação obtido por um subconjunto dos operadores da Proteum, construído com o objetivo de reduzir o custo da aplicação do critério. O escore obtido foi satisfatório e as reduções no custo significativas. Também foi avaliado strength das técnicas Funcional e Estrutural em relação ao critério AM nos dois paradigmas. Os resultados mostram que os conjuntos de casos de teste adequados aos critérios das técnicas Funcional e Estrutural no paradigma OO obtiveram, em geral, um escore de mutação maior do que no paradigma Procedimental / AIming at to assist the definition and evolution of testing strategies, empirical studies have been conducted comparing the test criteria in terms of cost effectiveness and strength. However few studies were conducted comparing the criteria in different paradigms. This assessment is important because program paradigm can cause a big influence in the result program and the characteristics of this programs can cause influences in testing activities. This study complements another work in this group that compared the cost of Structural test technique considering the Procedural and Object Oriented paradigms. This paper presents an experimental study comparing the cost and strength of Mutation Test in Procedural and OO paradigms. Besides the evaluation of mutation test, the results of this study can be used to help teaching and training many test criteria and it may somehow contribute to teach software testing n parallel with algorithms and data structures programs. It was used a set of 32 programs of data structure programs with versions in C and Java. For this study it were used Proteum and MuClipse to execute the mutation tests. It was also evaluated the strength of a set of test cases (TC) appropriate to a program in a paradigm in the same version of the program implemented in the other paradigm of interest (cross scoring). Results indicate that both cost and strength is higher in Procedural programs than in OO. This results are certainly influenced by the set of operators built in each tool studied. It was also measured the mutation score of a subset of Proteums operators built to reduce the cost of Mutation Testing in Procedural programs. The mutation score obtained was satisfactory and there was a significant reduction in cost. It was also evaluated the strength of Functional and Structural techniques in Mutation Test for both paradigms. The results show that the mutation score of the set of test cases adequate to Functional and Structural techniques were in general, higher in OO paradigm than in Procedural paradigm
57

Teste estrutural de programas concorrentes como uma composição de serviços na Web / Structural testing of concurrent programs as a Web service composition

Rafael Regis do Prado 24 March 2016 (has links)
O teste de programas concorrentes é essencial para assegurar a qualidade das atuais aplicações distribuídas/paralelas em desenvolvimento. Apesar de ser essencial, essa atividade de teste é dificilmente empregada adequadamente, devido a fatores como: alto custo de execução, grande lacuna entre desenvolvedores e resultados de pesquisas em testes para programas concorrentes e acesso às ferramentas de teste de programas concorrentes que automatizem/viabilizem o emprego do teste. Este projeto visa definir os parâmetros da atividade de teste estrutural de programas concorrentes que nortearão a composição de diferentes serviços na Web. Tais serviços dão suporte à atividade de teste estrutural de programas concorrentes, estabelecendo fronteiras claras em ferramentas de teste para os módulos relativos ao modelo de teste, aos critérios de teste, à linguagem de programação e aos paradigmas de sincronização. Desse modo, novas ferramentas de teste poderão ser construídas de maneira mais flexível, com menos custo de desenvolvimento e com mais eficácia. Tal abordagem traz como benefícios diretos: (1) facilitar a interação entre os setores da indústria, ensino e pesquisa que estejam interessados no desenvolvimento de programas concorrentes com qualidade; (2) diminuir os custos de instalação e manutenção de ferramentas de teste estrutural pelos desenvolvedores; (3) facilitar a incorporação da atividade de teste de programas concorrentes no ciclo de desenvolvimento das aplicações distribuídas e paralelas; (4) aumentar a abrangência do projeto TestPar, permitindo que novos usuários (desenvolvedores, professores e outros grupos de pesquisa) possam utilizar facilmente os conhecimentos gerados no projeto; e (5) realimentar o projeto TestPar com novas demandas qualificadas, estas advindas de novos programas concorrentes submetidos para teste. / Testing of concurrent programs is essential to ensure the quality of todays distributed/parallel applications in development. Although it is essential that testing activity is hardly properly employed, due to factors such as high cost of implementation, big gap between developers and research results in tests for competing programs and access to competing software testing tools to automate / enable the test job. This project aims to define the parameters of structural testing activity of concurrent programs that will guide the composition of different Web services. These services support the structural testing activity of concurrent programs, establishing clear boundaries in test tools for the modules related to the test model, the test criteria, the programming and synchronization paradigms language. Thus, new test tools can be built in a more flexible way, with less development cost and more effectively. Such an approach has as direct benefits: (1) facilitate interaction between industry sectors, education and research who are interested in the development of concurrent programs with quality; (2) reduce the costs of installation and maintenance of structural testing tools for developers; (3) facilitate the incorporation of testing activity of concurrent programs in the development cycle of distributed and parallel applications; (4) increase the scope of TestPar design, allowing new users (developers, teachers and other research groups) can easily use the knowledge generated in the project; and (5) feed back into the project TestPar with new demands qualified, those arising from new concurrent programs submitted for testing.
58

Uma contribuição para determinação de um conjunto essencial de operadores de mutação no teste de programas C. / A contribution for the determination of a sufficient mutant operators set for C-program testing.

Barbosa, Ellen Francine 06 November 1998 (has links)
Estudos empíricos têm mostrado que a Análise de Mutantes – um dos critérios de teste baseado em erros – é bastante eficaz em revelar a presença de erros. Entretanto, seu alto custo, decorrente principalmente do grande número de mutantes gerados, tem motivado a proposição de diversas abordagens alternativas para a sua aplicação. Um estudo relevante nesse sentido resultou na determinação de um conjunto essencial de operadores de mutação para a linguagem Fortran, mostrando-se que é possível reduzir o custo de aplicação do critério, preservando um alto grau de adequação em relação à Análise de Mutantes. Alguns estudos também têm demonstrado que a redução da eficácia não é significativa. Este trabalho tem como objetivo investigar alternativas pragmáticas para a aplicação do critério Análise de Mutantes e, nesse contexto, é proposto um procedimento para a determinação de um conjunto essencial de operadores de mutação para a linguagem C, a partir dos operadores implementados na ferramenta Proteum. Procurando aplicar e validar o procedimento proposto, dois grupos distintos de programas são utilizados. Para ambos os grupos, o conjunto essencial obtido apresenta resultados bastante significativos quanto à redução de custo, com um decréscimo muito pequeno no grau de adequação em relação à Análise de Mutantes. Estratégias para evoluir e refinar um conjunto essencial para diferentes domínios de aplicação também são investigadas. / Mutation Analysis – one of the error based criteria – has been found to be effective on revealing faults. However, its high cost, due to the high number of mutants created, has motivated the proposition of many alternative approaches for its application. In this perspective, a relevant study resulted on the determination of a sufficient mutant operator set for Fortran, indicating that it is possible to have a large cost reduction of mutation testing, preserving a high mutation score. Some studies have also shown that the reduction on the effectiveness is not significant. This work aims to investigate pragmatic alternatives for mutation analysis application and, in this context, a procedure for the determination of a sufficient mutant operators set for C is proposed, using Proteum testing tool. Aiming to apply and validate the proposed procedure, two different groups of programs are used. For both of them, the sufficient mutant operator set presents very significant results in terms of cost reduction, with a very small reduction on the mutation score. Strategies to evolve and refine an essential mutant operator set to different application domains are also investigated.
59

Teste de mutação nos paradigmas procedimental e oo: uma avaliação no contexto de estrutura de dados / Mutation testing in procedural and object-oriented paradigms: an evaluation of data structure programs

Campanha, Diogo Nascimento 06 December 2010 (has links)
Com o objetivo de auxiliar a definição e evolução de estratégias de testes, estudos experimentais vêm sendo realizados comparando diferentes técnicas e critérios de teste em relação ao custo, eficácia e dificuldade de satisfação (strength). Entretanto poucos estudos buscam avaliar os critérios em diferentes paradigmas. Esta avaliação é importante pois o paradigma de implementação influência significativamente no programa gerado e as características entre programas implementados em diferentes paradigmas pode influenciar em diversos aspectos da atividade de teste. Este estudo é complementar a um outro trabalho do grupo do laboratório de engenharia de software do ICMC em que foram comparados o custo da aplicação dos critérios da técnica Estrutural em relação aos paradigmas Procedimental e Orientado a Objetos. Este trabalho apresenta um estudo experimental comparando o custo e o strength do critério Análise de Mutantes nos dois paradigmas. Além da avaliação do critério Análise de Mutantes, o material gerado para este estudo será construído de forma que possa ser utilizado para o ensino e treinamento das principais técnicas e critérios de teste e espera-se que este possa contribuir de alguma forma para que o ensino de teste de software possa ser aplicado em paralelo com o ensino de algoritmos e estrutura de dados. Para a condução deste estudo, foi utilizado um conjunto de 32 programas do domínio de estrutura de dados com versões implementadas em C e em Java. O critério Análise de Mutantes foi aplicado com auxílio das ferramentas Proteum e MuClipse. Para a avaliação do strength, o conjunto de casos de teste adequado a um programa foi executado contra os mutantes gerados na mesma versão do programa implementado no outro paradigma de interesse e o escore de mutação avaliado (cross scoring). Resultados indicam que tanto o custo quanto o strength do teste de mutação é maior em programas implementados no paradigma Procedimental do que no paradigma OO. Resultados estes certamente influenciados pelo conjunto de operadores implementado nas duas ferramentas. No paradigma procedimental, também foi avaliado o escore de mutação obtido por um subconjunto dos operadores da Proteum, construído com o objetivo de reduzir o custo da aplicação do critério. O escore obtido foi satisfatório e as reduções no custo significativas. Também foi avaliado strength das técnicas Funcional e Estrutural em relação ao critério AM nos dois paradigmas. Os resultados mostram que os conjuntos de casos de teste adequados aos critérios das técnicas Funcional e Estrutural no paradigma OO obtiveram, em geral, um escore de mutação maior do que no paradigma Procedimental / AIming at to assist the definition and evolution of testing strategies, empirical studies have been conducted comparing the test criteria in terms of cost effectiveness and strength. However few studies were conducted comparing the criteria in different paradigms. This assessment is important because program paradigm can cause a big influence in the result program and the characteristics of this programs can cause influences in testing activities. This study complements another work in this group that compared the cost of Structural test technique considering the Procedural and Object Oriented paradigms. This paper presents an experimental study comparing the cost and strength of Mutation Test in Procedural and OO paradigms. Besides the evaluation of mutation test, the results of this study can be used to help teaching and training many test criteria and it may somehow contribute to teach software testing n parallel with algorithms and data structures programs. It was used a set of 32 programs of data structure programs with versions in C and Java. For this study it were used Proteum and MuClipse to execute the mutation tests. It was also evaluated the strength of a set of test cases (TC) appropriate to a program in a paradigm in the same version of the program implemented in the other paradigm of interest (cross scoring). Results indicate that both cost and strength is higher in Procedural programs than in OO. This results are certainly influenced by the set of operators built in each tool studied. It was also measured the mutation score of a subset of Proteums operators built to reduce the cost of Mutation Testing in Procedural programs. The mutation score obtained was satisfactory and there was a significant reduction in cost. It was also evaluated the strength of Functional and Structural techniques in Mutation Test for both paradigms. The results show that the mutation score of the set of test cases adequate to Functional and Structural techniques were in general, higher in OO paradigm than in Procedural paradigm
60

Teste estrutural de programas concorrentes como uma composição de serviços na Web / Structural testing of concurrent programs as a Web service composition

Prado, Rafael Regis do 24 March 2016 (has links)
O teste de programas concorrentes é essencial para assegurar a qualidade das atuais aplicações distribuídas/paralelas em desenvolvimento. Apesar de ser essencial, essa atividade de teste é dificilmente empregada adequadamente, devido a fatores como: alto custo de execução, grande lacuna entre desenvolvedores e resultados de pesquisas em testes para programas concorrentes e acesso às ferramentas de teste de programas concorrentes que automatizem/viabilizem o emprego do teste. Este projeto visa definir os parâmetros da atividade de teste estrutural de programas concorrentes que nortearão a composição de diferentes serviços na Web. Tais serviços dão suporte à atividade de teste estrutural de programas concorrentes, estabelecendo fronteiras claras em ferramentas de teste para os módulos relativos ao modelo de teste, aos critérios de teste, à linguagem de programação e aos paradigmas de sincronização. Desse modo, novas ferramentas de teste poderão ser construídas de maneira mais flexível, com menos custo de desenvolvimento e com mais eficácia. Tal abordagem traz como benefícios diretos: (1) facilitar a interação entre os setores da indústria, ensino e pesquisa que estejam interessados no desenvolvimento de programas concorrentes com qualidade; (2) diminuir os custos de instalação e manutenção de ferramentas de teste estrutural pelos desenvolvedores; (3) facilitar a incorporação da atividade de teste de programas concorrentes no ciclo de desenvolvimento das aplicações distribuídas e paralelas; (4) aumentar a abrangência do projeto TestPar, permitindo que novos usuários (desenvolvedores, professores e outros grupos de pesquisa) possam utilizar facilmente os conhecimentos gerados no projeto; e (5) realimentar o projeto TestPar com novas demandas qualificadas, estas advindas de novos programas concorrentes submetidos para teste. / Testing of concurrent programs is essential to ensure the quality of todays distributed/parallel applications in development. Although it is essential that testing activity is hardly properly employed, due to factors such as high cost of implementation, big gap between developers and research results in tests for competing programs and access to competing software testing tools to automate / enable the test job. This project aims to define the parameters of structural testing activity of concurrent programs that will guide the composition of different Web services. These services support the structural testing activity of concurrent programs, establishing clear boundaries in test tools for the modules related to the test model, the test criteria, the programming and synchronization paradigms language. Thus, new test tools can be built in a more flexible way, with less development cost and more effectively. Such an approach has as direct benefits: (1) facilitate interaction between industry sectors, education and research who are interested in the development of concurrent programs with quality; (2) reduce the costs of installation and maintenance of structural testing tools for developers; (3) facilitate the incorporation of testing activity of concurrent programs in the development cycle of distributed and parallel applications; (4) increase the scope of TestPar design, allowing new users (developers, teachers and other research groups) can easily use the knowledge generated in the project; and (5) feed back into the project TestPar with new demands qualified, those arising from new concurrent programs submitted for testing.

Page generated in 0.118 seconds