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

[en] GRAMMAR MODEL-BASED FUNCTIONAL TEST / [pt] TESTE FUNCIONAL BASEADO EM MODELOS GRAMATICAIS

RICARDO AUGUSTO BOITEUX MENDES LEAL 08 October 2008 (has links)
[pt] O teste funcional de software é um desafio enfrentado há muito tempo por desenvolvedores. A complexidade crescente de sistemas computacionais torna esse desafio ainda maior. Uma tendência apontada como possível solução deste problema é o uso de teste baseado em modelos. Inspirada neste paradigma, esta dissertação retrata uma pesquisa sobre o uso de gramáticas como modelos de teste funcional. Modelos gramaticais podem capturar conceitos e comportamentos de um sistema e de seu ambiente usando um nível de abstração de acordo com o objetivo de teste. Eles também podem ser aplicados para descrever casos de teste funcional e guiar a execução de casos de teste gerados num sistema em teste. O resultado desta execução, representado na forma de um veredicto, revela a conformidade do sistema com seus requisitos e especificações. Para explorar o potencial dos modelos gramaticais, este trabalho definiu uma maneira sistemática de gerar e executar massas de teste. Esta solução permitiu a programação de diferentes estratégias de teste. Ela também facilitou a adaptação dos testes a mudanças de requisitos e promoveu o reuso dos testes existentes. Como efeito colateral deste estudo, um processo de teste funcional foi desenvolvido e a arquitetura de apoio aqui introduzida pode ser reutilizada ou estendida por futuras soluções de teste funcional. / [en] Software functional test is a challenge faced by developers for a long time. The growing complexity of computing systems turns this challenge even greater. Model-based testing is a trend pointed out by the academia and the industry as a possible solution to this matter. Inspired by this paradigm, this dissertation depicts a research made on the use of grammars as functional test models. Grammar models can capture concepts and behaviors of a system and its environment at a level of abstraction according to the test goal. They also can be applied to describe functional test cases and guide the execution of the generated test cases against a system under test. The result of this execution, represented as a verdict, reveals the system conformity with its requirements and specifications. In order to explore grammar models potential, this work defined a systematic way to generate and execute a mass of tests. This solution allowed the implementation of different test strategies. It also assisted test adjustment to requirements change and promoted existing tests reuse. As a side-effect of this study, a functional test process was developed and the supporting architecture introduced here may be reused or extended by future functional test solutions.
52

Avaliação de sistemas de informações geográficas na internet através de teste de software. / Evaluation of geographic information systems on the internet through software testing.

Patricia Oliveira Venezia 26 August 2010 (has links)
Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro / A utilização de sistemas de informações geográficas via Web (Sigweb) tem crescido nos últimos anos pela facilidade na manipulação e visualização de informações de diferentes lugares através da Internet. O objetivo deste estudo é realizar testes de sistemas de informações geográficas na Internet com ênfase na técnica funcional para avaliar a funcionalidade, usabilidade, a navegabilidade dos programas conhecidos como Sigweb prontos para usar. Para tanto, foi necessária a identificação dos casos de uso dos programas propostos para o estudo. Como resultado se pode conferir o comportamento dos sistemas durante os testes, além de distinguir as características de cada SigWeb e as dificuldades encontradas. / The use of Geographic Information System by Web (SIGWeb) has grown in the last years by the facility in manipulation and visualization of informations of different places through of Internet. The purpose of this work is accomplish test methods with emphasis in the functional technique where is valuated the functionality, usability, navigability among other types of test programs that are known as Ready Sigweb to use. Therefore, it was necessary to identify cases of use of each proposed for the study. As a result it can check the behavior of systems during the tests, and distinguish the characteristics of each Sigweb and the difficulties.
53

Geração automática de casos de teste para sistemas baseados em agentes móveis. / Automatic test case generation for mobile agent-based systems.

FIGUEIREDO, André Luiz Lima de. 18 September 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-09-18T16:07:15Z No. of bitstreams: 1 ANDRÉ LUIZ LIMA DE FIGUEIREDO - DISSERTAÇÃO PPGCC 2005..pdf: 9317771 bytes, checksum: ca97057cbb4f85db739568ea619fd2c4 (MD5) / Made available in DSpace on 2018-09-18T16:07:15Z (GMT). No. of bitstreams: 1 ANDRÉ LUIZ LIMA DE FIGUEIREDO - DISSERTAÇÃO PPGCC 2005..pdf: 9317771 bytes, checksum: ca97057cbb4f85db739568ea619fd2c4 (MD5) Previous issue date: 2005-06-06 / Na busca por mais confiança a respeito da correção de seus sistemas, desenvolvedores têm, cada vez mais,utilizado teste de software, onde este pode ser definido como um conjunto de experimentos realizados sobre uma implementação, cujos resultados são observados e analisados. Dentre os diversos tipos de teste, este trabalho se concentra em um tipo especial deteste funcional chamado deTeste Formal. A partir de uma especificação formal e por meio de procedimentos formais, um método de teste formal é capaz de gerar, automaticamente, casos de teste que visam verificar a conformidade entre a especificação e a implementação. Um tipo de sistema em que este tipo de teste é útil é o baseado em Agentes Móveis. Um Agente Móvel pode ser definido como um programa autônomo capaz de migrar pelos diferentes pontos do sistema durante sua execução preservando seu estado. Este tipo de sistema distribuído ainda possui alto grau de complexidade inerente ao seu desenvolvimento devido, principalmente, à imaturidade dos processos de desenvolvimento em relação ao tratamento do conceito de mobilidade. Visando amenizar tal problema, este trabalho apresenta uma proposta de geração automática de casos de teste para sistemas baseados em Agentes Móveis. Tal proposta consiste em apresentar um formalismo de especificação de sistemas a ser usado com Agentes Móveis e uma estratégia de geração de casos de teste através de ferramentas. Além disto, visando tomar proveito dos modelos UML existentes para este tipo de sistema, uma proposta de transformação informal de modelos escritos em tal linguagem para modelos escritos no formalismo utilizado pelo método é apresentada. Após o método ter sido proposto, um estudo de caso foi realizado visando mostrar a aplicabilidade do método. Os casos de teste gerados foram analisados em relação ao seu potencial em serem implementados e em revelarem faltas nos sistemas. Motivados pelos estudos realizados sobre os casos deteste, bem como pelo crescente interesse no uso de padrões de projetos, uma metodologia para a identificação de padrões de teste a partir de especificações de padrões de projeto é proposta, em conjunto com um formato de definição para tais padrões e com um conjunto de padrões de teste para sistemas baseados em Agentes Móveis. / Looking for reliability regarding to their systems correction, developers have, increasingly, used software testing. This activity can be defined as a set of experiments performed over an implementation, which the results are observed and analyzed. Among the existing kinds of test, this work takes special attention to a specific kind of functional test, called Formal Test. From a formal specification and through formal procedures, aformaltest method isable to,automatically, generate test cases that aim to verify conformance between specification and implementation. Mobile Agent-based systems can benefit from formal testing. Mobile Agent can be defined as an autonomous program that can migrateamongdifferent points ofadistributed systemduring itsexecution preserving its state. Develop this kind of system is still a complex activity, due to, mainly, development processes immaturity regarding to mobility issues handling. Aiming to soften this problem, this work presents an automatic test case generation proposal to Mobile Agent-based systems. This proposal comprises presenting a system specification formalism to be used with Mobile Agents and a strategy for test case generation via tools. Moreover, aiming to take advantage of the existing UMLmodelos to this kind of system, a informal transformation from models written such language, to the formalism language used by the presented method is proposed. After the method has been proposed, a case study was carried out addressing to show the method’s applicability. The generated test cases were analyzed with relation to its potential to be implemented and to reveal system faults. Motivated by the test cases study, and by the increasing interest atthe use of design patterns as well, a methodology foridentification oftest patterns from Mobile Agent design patterns is proposed, in addition to a test pattern template for this kind of pattern, and a set of test patterns to Mobile Agent-based systems.
54

Padrões de testes automatizados / Automated Test Patterns

Paulo Cheque Bernardo 04 July 2011 (has links)
A qualidade dos sistemas de software é uma preocupação de todo bom projeto e muito tem se estudado para melhorar tanto a qualidade do produto final quanto do processo de desenvolvimento. Teste de Software é uma área de estudo que tem crescido significativamente nos últimos tempos, em especial a automação de testes que está cada vez mais em evidência devido à agilidade e qualidade que pode trazer para o desenvolvimento de sistemas de software. Os testes automatizados podem ser eficazes e de baixo custo de implementação e manutenção e funcionam como um bom mecanismo para controlar a qualidade de sistemas. No entanto, pouco conhecimento sobre a área e erros comuns na escrita e manutenção dos testes podem trazer dificuldades adicionais aos projetos de software. Testes automatizados de baixa qualidade não contribuem efetivamente com o controle de qualidade dos sistemas e ainda demandam muito tempo do desenvolvimento. Para evitar esses problemas, esta dissertação apresenta de forma crítica e sistemática as principais práticas, padrões e técnicas para guiar o processo da criação, manutenção e gerenciamento dos casos de testes automatizados. Inicialmente, são feitas comparações entre a automação de testes e outras práticas de controle e garantia de qualidade. Em seguida, são apresentados os problemas e soluções mais comuns durante a automação de testes, tais como questões relacionadas a tipos específicos de algoritmos, sistemas com persistência de dados, testes de interfaces de usuário e técnicas de desenvolvimento de software com testes automatizados. Para finalizar, a dissertação traz uma reflexão sobre o gerenciamento e a abordagem da automação de testes para tornar o processo mais produtivo e eficaz. / The quality of software systems is a concern of every good project and much has been studied to improve the quality of the final product and process development. Software Testing is an increasing area, especially test automation, which is in evidence due to the speed and quality that it may bring to the development of software systems. Automated tests can be effective and can have a low cost of implementation and maintenance to ensure and control the quality of the systems. However, little knowledge about the area and common errors in writing and maintaining tests may bring additional difficulties to the software projects. Low quality automated tests do not contribute effectively to quality control systems and still take a long time of development. To avoid these problems, we present critically and systematically the core practices, standards and techniques to guide the process of creation, maintenance and management of automated test cases. Initially, comparisons are made between the test automation, other control practices, and quality assurance. Next, we present the most common problems and solutions for the automation of tests, such as issues related to specific types of algorithms, systems with data persistence, testing user interfaces and techniques for software development with automated tests. Finally, this essay reflects on the management and approach to test automation to make the process more productive and effective.
55

Um framework para testes de software na nuvem

Oliveira, Gustavo Sávio de 29 August 2012 (has links)
Submitted by Viviane Lima da Cunha (viviane@biblioteca.ufpb.br) on 2016-02-05T13:53:20Z No. of bitstreams: 1 arquivototal.pdf: 3017391 bytes, checksum: 2d9df98f6995f20b319fb2801efa114d (MD5) / Made available in DSpace on 2016-02-05T13:53:20Z (GMT). No. of bitstreams: 1 arquivototal.pdf: 3017391 bytes, checksum: 2d9df98f6995f20b319fb2801efa114d (MD5) Previous issue date: 2012-08-29 / Conselho Nacional de Pesquisa e Desenvolvimento Científico e Tecnológico - CNPq / Cloud Computing infrastructures can be used to make the testing process more efficient and effective, resulting from lower costs of acquisition of infrastructure to the flexibility of using only the resources actually required to perform the tests. However, exploiting such infrastructures to assist in the testing process requires automation and setup procedures not always available. In this context, we identified the lack of tools that effectively automate the entire process and make a cloud computing infrastructure part of the development and testing environment. This work presents a solution that distributes and coordinates the parallel execution of automated software testing in distributed and heterogeneous environments. This solution, called CloudTesting, provides the necessary support to developers to perform unit tests in the cloud. Experiments performed with CloudTesting in a cloud computing infrastructure showed reductions of more than 20 hours of execution time spent of a condensed set of unit tests. / Infraestruturas de computação em nuvens podem ser utilizadas para tornar o processo de testes mais eficiente e eficaz, obtendo desde redução dos custos de aquisição de infraestrutura à flexibilidade em se utilizar apenas os recursos realmente necessários para efetuar os testes. Entretanto, explorar tais infraestruturas para auxiliar no processo de testes requer procedimentos de configuração e automatização nem sempre disponíveis. Neste contexto, identificamos a ausência de ferramental que efetivamente automatizasse todo o processo e tornasse uma infraestrutura de computação em nuvem parte integrante do ambiente de desenvolvimento e testes. Este trabalho objetiva apresentar uma solução que distribui e coordena a execução paralela de testes automáticos de software em ambientes distribuídos e heterogêneos. Tal solução, denominada CloudTesting fornece ao desenvolvedor o suporte necessário para executar testes de unidade de software na nuvem. Experimentos realizados com o CloudTesting em uma infraestrutura de computação na nuvem demonstraram reduções de mais de 20 horas no tempo gasto de execução de um conjunto sintético de testes de unidade.
56

Estudo explorat?rio da atividade de testes num sistema de acompanhamento de obras / Exploratory study of tests in a construction monitoring system

Sousa, Luciano Ant?nio Cordeiro de 04 August 2016 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2017-01-13T14:42:33Z No. of bitstreams: 1 LucianoAntonioCordeiroDeSousa_DISSERT.pdf: 1884724 bytes, checksum: e34f83b990877c022d8fcc8f2c800f88 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2017-01-26T16:02:39Z (GMT) No. of bitstreams: 1 LucianoAntonioCordeiroDeSousa_DISSERT.pdf: 1884724 bytes, checksum: e34f83b990877c022d8fcc8f2c800f88 (MD5) / Made available in DSpace on 2017-01-26T16:02:39Z (GMT). No. of bitstreams: 1 LucianoAntonioCordeiroDeSousa_DISSERT.pdf: 1884724 bytes, checksum: e34f83b990877c022d8fcc8f2c800f88 (MD5) Previous issue date: 2016-08-04 / Apesar da ?rea de testes de software estar bem estabelecida na academia, algumas equipes de desenvolvimento de software no mercado acabam n?o dando aten??o necess?ria a esta atividade. Este trabalho apresenta um estudo de caso sobre chamados e testes ao longo de 3 anos de um sistema de controle de obras de uma empresa de energia. Buscou-se identificar rela??es entre chamados dos usu?rios, funcionalidades, testes automatizados e modifica??es no c?digo-fonte, para compreender algumas consequ?ncias de decis?es tomadas e identificar oportunidades de melhorias no processo de desenvolvimento do sistema analisado. / Although testing area has been established in academy, some software development teams in industry do not take proper care of this activity. This work presents a case study about bug reports and tests of the construction monitoring system of an energy company during 3 years. The aim is to identify relationships between bug reports, features, automated testing and modifications to the source code, to understand some consequences of decisions and to identify opportunities for improvement in the analyzed development process.
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

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
59

Um ambiente para geraÃÃo de cenÃrios de testes para linhas de produtos de software sensÃveis ao contexto / An environment for the generation of test scenarios for software product lines context sensitive

Ismayle de Sousa Santos 04 March 2013 (has links)
CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior / Uma Linha de Produto de Software SensÃvel ao Contexto (LPSSC) à uma linha de produto para o desenvolvimento de aplicaÃÃes sensÃveis ao contexto, que alteram dinamicamente o comportamento ou que proveem serviÃos com base em informaÃÃes de contexto. Nesse cenÃrio, a atividade de testes precisa lidar ao mesmo tempo com as peculiaridades das aplicaÃÃes finais, que sÃo sensÃveis ao contexto, e com o paradigma de desenvolvimento em linha de produto. Mediante a complexidade envolvida nos testes de uma LPSSC, à fundamental a existÃncia de mÃtodos ou ferramentas de suporte a essa atividade, especialmente com a intenÃÃo de criar testes a partir dos requisitos da linha. O objetivo dessa geraÃÃo precoce dos testes à permitir a identificaÃÃo e correÃÃo dos defeitos nos estÃgios iniciais de desenvolvimento. Dessa forma, esta dissertaÃÃo tem por objetivo propor um ambiente de geraÃÃo de cenÃrios de testes para uma LPSSC que utiliza especificaÃÃes textuais de casos de uso com informaÃÃes de contexto e que possibilita a reutilizaÃÃo dos testes. Este ambiente à constituÃdo pela proposta de um mÃtodo de geraÃÃo de cenÃrios de testes, de um template para especificaÃÃo textual de casos de uso de uma LPSSC e de uma ferramenta de apoio. O mÃtodo utiliza como base especificaÃÃes textuais de casos de uso com informaÃÃes sobre: funcionalidade, variabilidade da linha, e como o contexto afeta os produtos finais. O ambiente tambÃm contÃm o template para caso de uso que fornece suporte ao uso do mÃtodo e a ferramenta de apoio, que permite a modelagem de casos de uso segundo esse template e implementa o mÃtodo proposto. Com a intenÃÃo de verificar os benefÃcios do ambiente, proposto nesta dissertaÃÃo, quanto a geraÃÃo de cenÃrios de testes para uma LPSSC, conduziu-se uma avaliaÃÃo preliminar na forma de experimento controlado. Baseado nos resultados coletados nessa avaliaÃÃo percebeu-se que: o template favorece o entendimento de um caso de uso de uma LPSSC; o mÃtodo favorece a criaÃÃo de um conjunto de testes com uma maior cobertura para uma LPSSC, se comparado a criaÃÃo de testes de forma nÃo sistemÃtica; e a ferramenta representa um suporte necessÃrio. / A Context-Aware Software Product Line (CASPL) is a product line for developing context-aware applications, which dynamically change their behavior or provide services based on context information. With this kind of line, the productivity can be increased and the development costs of the context-aware application can be cut down. In this scenario, the testing activity needs to deal with the peculiarities of both context-aware applications and the product line development paradigm. Through the complexity involved in testing a CASPL is essential to have methods or tools for supporting this activity, especially with the goal of creating tests from requirements. The aim of this early testing generation is to identify and fix the defects in the early stages of development. Therefore, this work aims to propose an environment for generating test scenarios for a CASPL that takes into account the presence of context information and seeks to maximize the testing reuse. This environment consists of a testing scenario generation method, a template for textual use case specification and a support tool. The method uses as input textual use cases especifications with information about: funcionality, variability, and how the context afect the final products. The environment also has a use case template that supports the use of the method and a tool support, which allows the modeling of use cases according to this template and implements the proposed method. In order to verify the benefits of the environment as a way to testing generation for a Context-Aware Software Product Line, an assessment in the form of controlled experiment is conducted. Based on the collected results, it is observed that: the use of the template makes easy the understanding of a Context-Aware Software Product Line use case; the method favors the creation of a set of tests with higher coverage than a non-systematic testing generation; and the tool is the necessary support for the method
60

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

Page generated in 0.4541 seconds