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

Contribuições ao suporte cognitivo em teste de software unitário: um framework de tarefas e uma agenda de pesquisa / Contributions to cognitive support in software unit testing: a framework of tasks and a research agenda

Prado, Marllos Paiva 16 March 2018 (has links)
Submitted by Liliane Ferreira (ljuvencia30@gmail.com) on 2018-04-12T14:43:28Z No. of bitstreams: 2 Tese - Marllos Paiva Prado - 2018.pdf: 5172064 bytes, checksum: f0f497f5cd15e3d7e789fb5792aa6254 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2018-04-13T11:12:00Z (GMT) No. of bitstreams: 2 Tese - Marllos Paiva Prado - 2018.pdf: 5172064 bytes, checksum: f0f497f5cd15e3d7e789fb5792aa6254 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2018-04-13T11:12:00Z (GMT). No. of bitstreams: 2 Tese - Marllos Paiva Prado - 2018.pdf: 5172064 bytes, checksum: f0f497f5cd15e3d7e789fb5792aa6254 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2018-03-16 / Fundação de Amparo à Pesquisa do Estado de Goiás - FAPEG / Conselho Nacional de Pesquisa e Desenvolvimento Científico e Tecnológico - CNPq / Unit testing is an important activity for improving software quality. Over the years, numerous automated tools have been proposed by the testing research community to enhance this activity. However, this thesis' literature review revealed that several research efforts have not considered the human aspects in the proposal of such tools. Also, unit test practitioners are not having the support of the existing tools to solve some mental tasks associated with the activity. Motivated by this gap, this thesis describes a sequence of studies carried out with the purpose of understanding, characterizing and proposing improvements in the cognitive support provided by the test tools, considering a qualitative approach centered on the perspective of test professionals that work at the unit level. The results revealed some primary tasks that require cognitive support of the tools in unit test review practice, including monitoring of pending and executed unit test tasks and navigation between unit testing artifacts. A framework summarizes the results of this study. A research agenda is developed based on the framework and serves as an actionable instrument for the testing community. The contributions of this study include suggestions for practical improvements to current tools and describe new research opportunities in the topic. Also, the methods used in the research are explained in details. / O teste unitário é uma importante atividade para a melhoria da qualidade do software. Ao longo dos anos, inúmeras ferramentas automatizadas foram propostas pela comunidade de pesquisa de teste para melhorar esta atividade. Contudo, a revisão da literatura de testes atual permite observar que esses esforços de pesquisa não têm considerado os aspectos humanos na proposição dessas ferramentas. Observa-se ainda que os praticantes de teste unitário não têm suporte do ferramental existente para resolução de algumas tarefas mentais associadas à atividade. Considerando-se esta lacuna, esta tese descreve uma sequência de estudos realizados com o intuito de entender, caracterizar e propor melhorias no suporte cognitivo provido pelas ferramentas de teste unitário. Tendo em vista a falta de estudos sobre suporte cognitivo para teste de software, empregou-se uma abordagem qualitativa e centrada na perspectiva dos profissionais de teste que atuam no nível unitário. Os resultados revelaram algumas tarefas primárias que requerem suporte cognitivo das ferramentas na prática de revisão de testes unitário, incluindo o monitoramento de tarefas de teste unitário pendentes e executadas e a navegação entre os artefatos relacionados às unidades testadas. Os resultados são resumidos em um framework e, com base nisso, é desenvolvida uma agenda de pesquisa como instrumento acionável para a comunidade de teste. As contribuições desta tese incluem sugestões de melhorias práticas para as ferramentas atuais e descrevem novas oportunidades de pesquisa no tema. Além disso, são explicados em detalhes os métodos utilizados nesta pesquisa.
142

Uma estratégia para a avaliação e evolução de teste funcional de software / A Strategy for the evaluation and evolution of functional software testing

Arantes, Gilmar Ferreira January 2012 (has links)
Submitted by Luciana Ferreira (lucgeral@gmail.com) on 2014-08-01T14:00:30Z No. of bitstreams: 2 license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) DissertacaoFinalGilmarCC.pdf: 1781002 bytes, checksum: 864dc93f98977e9c6364e12bcc473c58 (MD5) / Made available in DSpace on 2014-08-01T14:00:30Z (GMT). No. of bitstreams: 2 license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) DissertacaoFinalGilmarCC.pdf: 1781002 bytes, checksum: 864dc93f98977e9c6364e12bcc473c58 (MD5) Previous issue date: 2012 / Fundação de Amparo à Pesquisa do Estado de Goiás - FAPEG / Software Testing is part of software quality assurance activities. It aims to uncover the presence of defects, that can be inserted in various stages of software develop- ment. Several techniques are used in the testing activity, highlighting the functional ones, which derive test requirements from the software specification. The research faces the problem of how to evolve the functional testing strategies with low costs, relative to the amount of test cases needed, without compromising the number of uncovered defects. A systematic review was planned and executed, based on formu- lated questions so as to answer the research problem. Such review supported the definition of a new criterion for functional testing, the Systematic Functional Test with Decision Table Application (TFS-DT), which is an extension of Systematic Software Testing (TFS) and provides joint application of criteria: Partitioning Equi- valence Classes, Boundary Value Analysis and Decision Table. The TFS-DT defines a strategy based on a set of requirements and has a process in order to apply the strategy in a systematic manner. Three empirical studies were applied with promi- sing results compared to TFS: all of them reduces at least half the adequated set without impact on the number of uncovered defects. / Teste de Software faz parte das atividades de garantia da qualidade do software. Destina-se a revelar a presen ̧ca de defeitos, que podem ser inseridos em v ́arios est ́agios do desenvolvimento do software. V ́arias t ́ecnicas s ̃ao usadas na atividade de teste, com destaque para as funcionais, que derivam requisitos de teste a partir da especifica ̧c ̃ao do software. A pesquisa enfrenta o problema de como evoluir as estrat ́egias de testes funcionais reduzindo o custo, em rela ̧c ̃ao `a quantidade de casos de teste necess ́arios, sem comprometer o n ́umero de defeitos revelados. Uma revis ̃ao sistem ́atica foi planejada e executada, com base em quest ̃oes formuladas de modo a responder ao problema da pesquisa. Esta revis ̃ao apoiou a defini ̧c ̃ao de um novo crit ́erio de teste funcional, o Teste Funcional Sistem ́atico com Aplica ̧c ̃ao da Tabela de Decis ̃ao (TFS-TD), que ́e uma extens ̃ao do Teste Funcional Sistem ́atico (TFS) e que prevˆe a aplica ̧c ̃ao conjunta dos crit ́erios: Particionamento em Classes de Equivalˆencia, An ́alise do Valor Limite e Tabela decis ̃ao. O TFS-TD define uma estrat ́egia baseada em um conjunto de diretrizes e possui um processo para aplicar esta estrat ́egia de forma sistem ́atica. Trˆes estudos emp ́ıricos foram aplicados com resultados promissores em rela ̧c ̃ao ao TFS: todos eles reduzem, pelo menos, pela metade o conjunto adequado, sem impacto na quantidade de defeitos revelados.
143

Uma abordagem evolucionária para o teste de instruções select SQL com o uso da análise de mutantes / An evolutionary approach to test SQL select statements using the mutation analysis

Monção, Ana Claudia Bastos Loureiro 02 August 2013 (has links)
Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2014-10-15T17:49:53Z No. of bitstreams: 2 Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5) license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Approved for entry into archive by Jaqueline Silva (jtas29@gmail.com) on 2014-10-16T17:59:00Z (GMT) No. of bitstreams: 2 Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5) license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Made available in DSpace on 2014-10-16T17:59:00Z (GMT). No. of bitstreams: 2 Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5) license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) Previous issue date: 2013-08-02 / Software Testing is an important area of Software Engineering to ensuring the software quality. It consists of activities that involve long time and high costs, but need to be made throughout the process of building software. As in other areas of software engineering, there are problems in the activities of Software Testing whose solution is not trivial. For these problems, several techniques of optimization and search have been explored trying to find an optimal solution or near optimal, giving rise to lines of research textit Search-Based Software Engineering (SBSE) and textit Search-Based Software Testing (SBST). This work is part of this context and aims to solve the problem of selecting test data for test execution in SQL statements. Given the number of potential solutions to this problem, the proposed approach combines techniques Mutation Analysis for SQL with Evolutionary Computation to find a reduced data set, that be able to detect a large number of defects in SQL statements of a particular application. Based on a heuristic perspective, the proposal uses Genetic Algorithms (GA) to select tuples from a existing database (from production environment) trying to reduce it to a set of data relevant and effective. During the evolutionary process, Mutation Analysis is used to evaluate each set of test data selected by the AG. The results obtained from the experiments showed a good performance using meta-heuristic of Genetic Algorithms, and its variations. / Teste de Software é uma área da Engenharia de Software de fundamental importância para a garantia da qualidade do software. São atividades que envolvem tempo e custos elevados, mas que precisam ser realizadas durante todo o processo de construção de um software. Assim como em outra áreas da Engenharia de Software, existem problemas nas atividades de Teste de Software cuja solução não é trivial. Para esses problemas, têm sido exploradas várias técnicas de busca e otimização tentando encontrar uma solução ótima ou perto da ótima, dando origem às linhas de pesquisa Search-Based Software Engineering (SBSE) e Search-Based Software Testing (SBST). O presente trabalho está inserido neste contexto e tem como objetivo solucionar o problema de seleção de dados de teste para execução de testes em instruções SQL. Dada a quantidade de soluções possíveis para este problema, a abordagem proposta combina técnicas de Análise de Mutantes SQL com Computação Evolucionária para encontrar um conjunto de dados reduzido que seja capaz de detectar uma grande quantidade de defeitos em instruções SQL de uma determinada aplicação. Baseada em uma perspectiva heurística, a proposta utiliza Algoritmos Genéticos (AG) para selecionar tuplas de um banco de dados existente (de produção) tentando reduzi-lo em um conjunto de dados relevante e efetivo. Durante o processo evolucionário, a Análise de Mutantes é utilizada para avaliação de cada conjunto de dados de teste selecionado pelo AG. Os resultados obtidos com a realização dos experimentos revelaram um bom desempenho utilizando a metaheurística dos Algoritmos Genéticos e suas variações.
144

Seleção entre estratégias de geração automática de dados de teste por meio de métricas estáticas de softwares orientados a objetos / Selection between whole test generation strategies by analysing object oriented software static metrics

Gustavo da Mota Ramos 09 October 2018 (has links)
Produtos de software com diferentes complexidades são criados diariamente através da elicitação de demandas complexas e variadas juntamente a prazos restritos. Enquanto estes surgem, altos níveis de qualidade são esperados para tais, ou seja, enquanto os produtos tornam-se mais complexos, o nível de qualidade pode não ser aceitável enquanto o tempo hábil para testes não acompanha a complexidade. Desta maneira, o teste de software e a geração automática de dados de testes surgem com o intuito de entregar produtos contendo altos níveis de qualidade mediante baixos custos e rápidas atividades de teste. Porém, neste contexto, os profissionais de desenvolvimento dependem das estratégias de geração automáticas de testes e principalmente da seleção da técnica mais adequada para conseguir maior cobertura de código possível, este é um fator importante dados que cada técnica de geração de dados de teste possui particularidades e problemas que fazem seu uso melhor em determinados tipos de software. A partir desde cenário, o presente trabalho propõe a seleção da técnica adequada para cada classe de um software com base em suas características, expressas por meio de métricas de softwares orientados a objetos a partir do algoritmo de classificação Naive Bayes. Foi realizada uma revisão bibliográfica de dois algoritmos de geração, algoritmo de busca aleatório e algoritmo de busca genético, compreendendo assim suas vantagens e desvantagens tanto de implementação como de execução. As métricas CK também foram estudadas com o intuito de compreender como estas podem descrever melhor as características de uma classe. O conhecimento adquirido possibilitou coletar os dados de geração de testes de cada classe como cobertura de código e tempo de geração a partir de cada técnica e também as métricas CK, permitindo assim a análise destes dados em conjunto e por fim execução do algoritmo de classificação. Os resultados desta análise demonstraram que um conjunto reduzido e selecionado das métricas CK é mais eficiente e descreve melhor as características de uma classe se comparado ao uso do conjunto por completo. Os resultados apontam também que as métricas CK não influenciam o tempo de geração dos dados de teste, entretanto, as métricas CK demonstraram correlação moderada e influência na seleção do algoritmo genético, participando assim na sua seleção pelo algoritmo Naive Bayes / Software products with different complexity are created daily through analysis of complex and varied demands together with tight deadlines. While these arise, high levels of quality are expected for such, as products become more complex, the quality level may not be acceptable while the timing for testing does not keep up with complexity. In this way, software testing and automatic generation of test data arise in order to deliver products containing high levels of quality through low cost and rapid test activities. However, in this context, software developers depend on the strategies of automatic generation of tests and especially on the selection of the most adequate technique to obtain greater code coverage possible, this is an important factor given that each technique of data generation of test have peculiarities and problems that make its use better in certain types of software. From this scenario, the present work proposes the selection of the appropriate technique for each class of software based on its characteristics, expressed through object oriented software metrics from the naive bayes classification algorithm. Initially, a literature review of the two generation algorithms was carried out, random search algorithm and genetic search algorithm, thus understanding its advantages and disadvantages in both implementation and execution. The CK metrics have also been studied in order to understand how they can better describe the characteristics of a class. The acquired knowledge allowed to collect the generation data of tests of each class as code coverage and generation time from each technique and also the CK metrics, thus allowing the analysis of these data together and finally execution of the classification algorithm. The results of this analysis demonstrated that a reduced and selected set of metrics is more efficient and better describes the characteristics of a class besides demonstrating that the CK metrics have little or no influence on the generation time of the test data and on the random search algorithm . However, the CK metrics showed a medium correlation and influence in the selection of the genetic algorithm, thus participating in its selection by the algorithm naive bayes
145

Teste de software na indústria: um estudo qualitativo / Software testing at industrial settings: A qualitative study

Sergio Luis Barbieri 12 April 2018 (has links)
Em projetos de desenvolvimento a qualidade do produto de software é fundamental para o seu sucesso. Uma das etapas que busca garantir a qualidade do produto final é a validação, verificação e teste (VV&T). O teste é uma das atividades chave de VV&T realizada para garantir a qualidade. Técnicas de teste foram desenvolvidas para verificar e validar tanto requisitos funcionais como não funcionais. Além disso, essas técnicas são aplicadas nas organizações por meio de estratégias que definem os tipos de teste que serão realizados, a ordem de realização, a sua automatização e a frequência de ocorrência. Uma questão importante é verificar como essa atividade é realizada na indústria de software, como essas técnicas são utilizadas e a sua adoção em organizações desenvolvedoras de software. Este trabalho apresenta uma pesquisa qualitativa da atividade de teste. Ela utilizou a técnica teoria fundamentada aplicada em cinco empresas desenvolvedoras de software para estabelecer uma teoria da atividade de teste. Foram realizadas entrevistas com gestores de teste das empresas e, a partir dessas entrevistas, foi desenvolvido uma teoria sobre a organização da atividade de teste. Nesta teoria, observou-se que a estrutura organizacional direciona a escolha das técnicas e ferramentas, bem como o tipo do sistema; o prazo e orçamento condicionam a utilização de técnicas de automatização / In development projects the quality of the software product is critical to its success. One of the steps that enforces the quality of the final product is validation, verification and testing (VV&T). Testing is one of the key VV&T activities to ensure quality. Testing techniques were developed to verify and validate both functional and non-functional requirements. In addition, these techniques are applied in organizations using strategies that define the testing techniques that will be performed, the order of application, their automation and the frequency of occurrence. An important issue is to verify how testing is carried out in the software industry, how these techniques are used and their adoption in industrial settings. This work presents a qualitative research of the testing activity. It used the grounded theory technique applied in five software development organizations to establish a model of the testing activity. Interviews were conducted with testing managers and, from these interviews, an organizational theory of the testing activity was developed. In this theory, it was observed that the organizational structure directs the choice of techniques and tools, as well as the type of the system; project schedule and budget limit the use of automation techniques
146

Análise empírica sobre a influência das métricas CK na testabilidade de software orientado a objetos / Empirical analysis on the influence of CK metrics on object-oriented software testability

Robinson Crusoé da Cruz 11 December 2017 (has links)
Teste de Software tem o objetivo de executar um programa sob teste com o objetivo de revelar suas falhas, portanto é uma das fases mais importante do ciclo de vida do desenvolvimento de um software. A testabilidade é um atributo de qualidade fundamental para o sucesso da atividade de teste, pois ela pode ser entendida como o esforço necessário para criar, executar e avaliar os casos de teste em um software. Este atributo não é uma qualidade intrínseca do software, portanto não pode ser medido diretamente como a quantidade de linhas de código, por exemplo. Entretanto, ela pode ser inferida por meio das características ou métricas internas e externas de um software. Entre as características comumente utilizadas na análise da testabilidade estão as métricas CK, que foram propostas por Chidamber e Kemerer com objetivo de analisar software orientado a objetos. A maioria dos trabalhos nesta linha, entretanto, relaciona o tamanho e a quantidade de casos testes com a testabilidade de um software. Entretanto, é fundamental analisar a qualidade dos testes para saber se eles atingem os objetivos para os quais foram propostos, independente de quantidade e tamanho. Portanto, este trabalho de mestrado apresenta um estudo empírico sobre a relação entre as métricas CK e a testabilidade de um software com base na análise da adequação de seus casos de teste unitários, critérios de teste estrutural e de mutação. Inicialmente foi realizada uma Revisão Sistemática cujo objetivo foi avaliar o estado da arte da testabilidade e as métricas CK. Os resultados mostraram que apesar de existirem várias pesquisas relacionadas ao tema, existem lacunas que motivam novas pesquisas no que concerne a análise da qualidade dos testes e identificação das características das métricas que podem ser inferidas para medir e analisar a testabilidade. Em seguida, foram realizadas duas análises empíricas. Na primeira análise, as métricas foram analisadas por meio da correlação das métricas CK com a cobertura de linha de código, cobertura de \\textit (arestas, ramos ou desvio de fluxo) e escore de mutação. Os resultados desta análise demonstraram a importância de cada métrica dentro do contexto da testabilidade. Na segunda análise, foi realizada uma proposta de clusterização das métricas para tentar identificar grupos de classes com características semelhantes relacionadas à testabilidade. Além das análises empíricas, foi desenvolvida e apresentada uma ferramenta de coleta e análise de métricas CK com objetivo de contribuir com novas pesquisas relacionados a proposta deste projeto. Apesar das limitações das análises, os resultados deste trabalho mostraram a importância de cada métrica CK dentro do contexto da testabilidade e fornece aos desenvolvedores e projetistas uma ferramenta de apoio e dados empíricos para melhor desenvolverem e projetarem seus sistemas com o objetivo de facilitar a atividade de teste de software / Software testing have aim to run a program under test with the aim of revealing its failures, so it is one of the most important phases of the software development lifecycle. Testability is a key quality attribute for the success of the test activity, because it can be understood as the effort required to create, execute and evaluate test cases in software. This attribute is not an intrinsic quality of the software, so it can not be measured directly as the number of lines code, for example. However, it can be inferred through the or internal and external metrics of a software. Among the features commonly used in testability analysis are CK metrics, which were proposed by Chidamber and Kemerer in order to analyze object-oriented software. Most of the works in this line, however, relate the size and quantity of test cases with software testability. However, it\'s critical to analyze the quality of the tests to see if they achieve the objectives for which they were proposed, independent of quantity and size. Therefore, this Master\'s degree work presents an empirical study on the relationship between CK metrics and software testability based on the analysis of the adequacy of its unit test cases, structural test criteria and mutation. Initially, a Systematic Review was carried out to evaluate the state of the art of testability and CK metrics. The results showed that although there are several researches related to the subject, there are gaps that motivate new research in what concerns the analysis of the quality of the tests and identification of the features of the metrics that can be inferred to measure and analyze the testability. Two empirical analyzes were performed. In the first analysis, the metrics were analyzed through the correlation of the CK metrics with the code line coverage, branch coverage or mutation score. The results of this analysis showed the importance of each metric within the context of testability. In the second analysis, a metric clustering proposal was made to try to identify groups of classes with similar features related to testability. In addition to the empirical analysis, a tool for the collection and analysis of CK metrics was developed and presented, with aim to contribute with new researches related to the proposal of this project. Despite the limitations of the analyzes, the results of this work showed the importance of each CK metric within the context of testability and provides developers and designers with a support tool and empirical data to better develop and design their systems with the aim of facilitate the activity of software testing
147

Desenvolvimento e avaliação de um registro de serviços de ferramentas de teste / Development and evaluation of a testing tools service registry

Rodrigo Pinto Gondim 16 June 2010 (has links)
Um importante mecanismo da arquitetura orientada a serviços é o componente de registro de serviços. Ele permite a interação entre provedores e clientes, oferecendo um meio de acesso aos serviços desenvolvidos e publicados no registro. Nesta dissertação é proposto o desenvolvimento de um registro de serviços para dar apoio à publicação, busca e classificação de serviços Web, em particular, àqueles relacionados a ferramentas de teste de software. Uma limitação comum dos serviços de registro refere-se às buscas realizadas, pois são basicamente sintáticas e podem trazer resultados pouco relacionados aos interesses do usuário. Para resolver este problema uma ontologia de teste foi adaptada e incorporada ao registro com o objetivo de oferecer facilidades de busca e agregar informação semântica nos serviços registrados. Uma arquitetura genérica baseada em serviços para o domínio de engenharia de software é apresentada e instanciada para o domínio de teste de software com o objetivo de auxiliar no entendimento e implementação do registro de serviços proposto. Também são apresentados exemplos de ferramentas de teste publicadas no registro e um exemplo de busca e interação com o serviço de teste JaBUTiWS, previamente publicado no registro, que tem por objetivo apoiar o teste estrutural de componentes e serviços / An important mechanism of Service Oriented Architecture is the service registry (or service broker). It allows interaction among providers and consumers, offering a point to access the services developed and published in the registry. In this dissertation we propose the development of a service broker to support the publication, search and categorization of Web services, particularly those related to software testing tools. A common limitation of service brokers refers to searching facilities since they are primarily syntactic and thus can bring results that are not well related with the user\'s interest. To tackle this problem a test ontology was adapted and incorporated into the broker with the aim of improving the likelihood of finding the correct service in searches and also to add semantic information to the registered services. A generic service oriented architecture for the software engineering domain is presented and instantiated to the software testing domain with the purpose of facilitating the understanding and implementation of the proposed service registry. We also present some examples of software testing tools published in the registry and an example of search and interaction with the JaBUTiWS testing service, previously published in the registry, which aims to support structural testing of components and services
148

Avaliação de custo e eficácia de métodos e critérios de teste baseado em Máquinas de Estados Finitos / Evaluate of cost and effectiveness of FSM based testing methods and criteria

Dusse, Flávio 16 December 2009 (has links)
MÉTODOS de geração de casos de teste visam a gerar um conjunto de casos de teste com uma boa relação custo/benefício. Critérios de cobertura de teste definem requisitos de teste, os quais um conjunto de teste adequado deve cobrir. Métodos e critérios visam a selecionar casos de teste baseados em especificações, que podem ser descritas por meio de modelos, tais como Máquinas de Estados Finitos (MEF). Existem diversos métodos de geração e critérios de cobertura, diferindo entre si em função das propriedades exigidas da MEF, do custo dos testes gerados e da eficácia na revelação de defeitos. Apesar de pesquisas intensas na definição desses métodos e critérios, são poucas as ferramentas de apoio disponíveis assim como são poucos os relatos de aplicação em termos de custo e eficácia para a definição de estratégias de teste efetivas. Dessa forma, é necessário obter dados reais das vantagens e desvantagens dos métodos e critérios para subsidiar a tomada de decisão no processo de desenvolvimento de software no que tange às atividades de teste e validação. Este trabalho apresenta resultados de experimentos para avaliar o custo e a eficácia de aplicação dos métodos e critérios mais relevantes para subsidiar a definição de estratégias de teste em diversos contextos, como por exemplo, no desenvolvimento de protocolos e de sistemas reativos. Utiliza-se um protótipo desenvolvido a partir de uma reengenharia da ferramenta Plavis/FSM para apoiar os experimentos / TEST case generation methods aim to generate a test suite that offers an acceptable trade-off between cost and avail. Test coverage criteria define testing requirements, which an adequate test suite must fulfill. Methods and criteria help to select test case from specifications, which can be describe as models, for example Finite State Machines (FSM). There are several generation methods and coverage criteria that differ depending on the required properties of the FSM, the cost of generated tests and the effectiveness in revealing faults. In spite of intense researches in the definition of those methods and criteria, there are few available tools to apply them as well as application reports about cost and effectiveness issues to define effective test strategies. Thus, it is necessary to obtain real data of the advantages and disadvantages of the methods and criteria to provide decision-making in the software development process as far in the validation and test activities. This work aimed to lead experiments to evaluate the cost and the effetiveness in applying the most relevant methods and criteria to subsidize test strategies definition in several contexts as the communication protocol development and the reactive systems development. A prototype was developed based on reengineering of the Plavis/FSM tool to support the experiments
149

Investigation of similarity-based test case selection for specification-based regression testing.

OLIVEIRA NETO, Francisco Gomes de. 10 April 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-04-10T20:00:05Z No. of bitstreams: 1 FRANCISCO GOMES DE OLIVEIRA NETO - TESE PPGCC 2014..pdf: 5163454 bytes, checksum: 228c1fc4f2dc9aad01698011238cfde1 (MD5) / Made available in DSpace on 2018-04-10T20:00:05Z (GMT). No. of bitstreams: 1 FRANCISCO GOMES DE OLIVEIRA NETO - TESE PPGCC 2014..pdf: 5163454 bytes, checksum: 228c1fc4f2dc9aad01698011238cfde1 (MD5) Previous issue date: 2014-07-30 / uring software maintenance, several modifications can be performed in a specification model in order to satisfy new requirements. Perform regression testing on modified software is known to be a costly and laborious task. Test case selection, test case prioritization, test suite minimisation,among other methods,aim to reduce these costs by selecting or prioritizing a subset of test cases so that less time, effort and thus money are involved in performing regression testing. In this doctorate research, we explore the general problem of automatically selecting test cases in a model-based testing (MBT) process where specification models were modified. Our technique, named Similarity Approach for Regression Testing (SART), selects subset of test cases traversing modified regions of a software system’s specification model. That strategy relies on similarity-based test case selection where similarities between test cases from different software versions are analysed to identify modified elements in a model. In addition, we propose an evaluation approach named Search Based Model Generation for Technology Evaluation (SBMTE) that is based on stochastic model generation and search-based techniques to generate large samples of realistic models to allow experiments with model-based techniques. Based on SBMTE,researchers are able to develop model generator tools to create a space of models based on statistics from real industrial models, and eventually generate samples from that space in order to perform experiments. Here we developed a generator to create instances of Annotated Labelled Transitions Systems (ALTS), to be used as input for our MBT process and then perform an experiment with SART.In this experiment, we were able to conclude that SART’s percentage of test suite size reduction is robust and able to select a sub set with an average of 92% less test cases, while ensuring coverage of all model modification and revealing defects linked to model modifications. Both SART and our experiment are executable through the LTS-BT tool, enabling researchers to use our selections trategy andr eproduce our experiment. / During software maintenance, several modifications can be performed in a specification model in order to satisfy new requirements. Perform regression testing on modified software is known to be a costly and laborious task. Test case selection, test case prioritization, test suite minimisation,among other methods,aim to reduce these costs by selecting or prioritizing a subset of test cases so that less time, effort and thus money are involved in performing regression testing. In this doctorate research, we explore the general problem of automatically selecting test cases in a model-based testing (MBT) process where specification models were modified. Our technique, named Similarity Approach for Regression Testing (SART), selects subset of test cases traversing modified regions of a software system’s specification model. That strategy relies on similarity-based test case selection where similarities between test cases from different software versions are analysed to identify modified elements in a model. In addition, we propose an evaluation approach named Search Based Model Generation for Technology Evaluation (SBMTE) that is based on stochastic model generation and search-based techniques to generate large samples of realistic models to allow experiments with model-based techniques. Based on SBMTE,researchers are able to develop model generator tools to create a space of models based on statistics from real industrial models, and eventually generate samples from that space in order to perform experiments. Here we developed a generator to create instances of Annotated Labelled Transitions Systems (ALTS), to be used as input for our MBT process and then perform an experiment with SART.In this experiment, we were able to conclude that SART’s percentage of test suite size reduction is robust and able to select a sub set with an average of 92% less test cases, while ensuring coverage of all model modification and revealing defects linked to model modifications. Both SART and our experiment are executable through the LTS-BT tool, enabling researchers to use our selections trategy andr eproduce our experiment.
150

POPT: uma abordagem de ensino de programa??o orientada a problema e testes

Lustosa Neto, Vicente Pires 05 August 2013 (has links)
Made available in DSpace on 2014-12-17T15:48:09Z (GMT). No. of bitstreams: 1 VicentePLN_DISSERT.pdf: 5303387 bytes, checksum: d5eb370b53d6220bf321369b13df3957 (MD5) Previous issue date: 2013-08-05 / There is a growing interest of the Computer Science education community for including testing concepts on introductory programming courses. Aiming at contributing to this issue, we introduce POPT, a Problem-Oriented Programming and Testing approach for Introductory Programming Courses. POPT main goal is to improve the traditional method of teaching introductory programming that concentrates mainly on implementation and neglects testing. POPT extends POP (Problem Oriented Programing) methodology proposed on the PhD Thesis of Andrea Mendon?a (UFCG). In both methodologies POPT and POP, students skills in dealing with ill-defined problems must be developed since the first programming courses. In POPT however, students are stimulated to clarify ill-defined problem specifications, guided by de definition of test cases (in a table-like manner). This paper presents POPT, and TestBoot a tool developed to support the methodology. In order to evaluate the approach a case study and a controlled experiment (which adopted the Latin Square design) were performed. In an Introductory Programming course of Computer Science and Software Engineering Graduation Programs at the Federal University of Rio Grande do Norte, Brazil. The study results have shown that, when compared to a Blind Testing approach, POPT stimulates the implementation of programs of better external quality the first program version submitted by POPT students passed in twice the number of test cases (professor-defined ones) when compared to non-POPT students. Moreover, POPT students submitted fewer program versions and spent more time to submit the first version to the automatic evaluation system, which lead us to think that POPT students are stimulated to think better about the solution they are implementing. The controlled experiment confirmed the influence of the proposed methodology on the quality of the code developed by POPT students / Podemos perceber um crescente interesse por parte da comunidade de educa??o de Ci?ncia da Computa??o na inclus?o de conceitos de testes em cursos introdut?rios de programa??o. Visando contribuir neste sentido, apresentamos POPT (do ingl?s: Problem Oriented Programing and Testing), uma abordagem de ensino de programa??o orientada para o problema e testes, com foco nos cursos introdut?rios. O principal objetivo de POPT ? o de melhorar o m?todo tradicional de ensino de introdu??o a programa??o que se concentra essencialmente na implementa??o (regras de sintaxe e sem?ntica da linguagem) negligenciando o teste do c?digo sendo implementado. A metodologia POPT, estende a metodologia POP (do ingl?s: Problem Oriented Programing) proposta na Tese de Doutorado de Andrea Mendon?a. Ambas as metodologias pregam que devemos desenvolver a habilidade dos alunos lidarem com especifica??es de problemas mal definidos. O diferencial de POPT ? que os alunos s?o estimulados a desenvolver casos de teste formatados em uma tabela com o objetivo de melhorar o entendimento sobre os requisitos dos problemas (mal definidos) e tamb?m, para melhorar a qualidade do c?digo gerado. Al?m de apresentar a metodologia POPT, este trabalho apresenta a ferramenta TestBoot desenvolvida no contexto deste trabalho para dar suporte a esta metodologia. Com o objetivo de avaliar a abordagem proposta em rela??o ? metodologia tradicional de ensino, foi realizado um caso de estudo e um experimento controlado (seguindo o design do Quadrado Latino). Tanto o estudo de caso quando o experimento controlado foram realizados em disciplinas de introdu??o a programa??o do curso de Ci?ncia da Computa??o e Engenharia de software da Universidade Federal do Rio Grande do Norte, Brasil. Os resultados destas avalia??es mostraram que, quando comparado com uma abordagem tradicional, POPT estimula a implementa??o de programas de melhor qualidade. No estudo de caso a primeira vers?o dos programas submetidos pelos alunos POPT passaram em duas vezes o n?mero de casos de teste (definidos pelo professor) quando comparados aos alunos n?o POPT; al?m disso, os alunos POPT submeteram menos vers?es do programa e passaram mais tempo para apresentar a primeira vers?o para o sistema de avalia??o autom?tica, o que nos leva a pensar que os alunos s?o estimulados a pensar melhor sobre a solu??o que eles est?o a programar. O experimento serviu para confirmar o impacto da metodologia proposta na qualidade do c?digo gerado pelos alunos quando comparado a metodologia tradicional

Page generated in 0.0919 seconds