99 research outputs found

    A GEOGRAFIA E A HISTÓRIA DA LUTA PELA TERRA EM MATO GROSSO DO SUL / The geography and history of the struggle for land in Mato Grosso do Sul: achievements and challenges to the peasantry / La geografía y la historia de la lucha por la tierra en Mato Grosso do Sul: logros y desafíos para el campesinado

    No full text
    Resumo: Este artigo tem o objetivo contribuir para uma reflexão acerca da questão agrária em Mato Grosso do Sul. Relatamos os processos históricos da grilagem de terra e expulsão das populações do campo pelo capital monopolista que teve como consequência, por um lado, a concentração da terra e o desenvolvimento do capitalismo no campo, mas por outro, fez com que os sujeitos excluídos se organizassem para lutar pela recriação camponesa por meio dos movimentos socioterritoriais. Esta luta levou a territorialização camponesa expressa na conquista dos assentamentos rurais no estado. A metodologia do artigo tem como base, em sua primeira parte, a discussão teórica a partir de livros, artigos de periódicos e teses de doutorado relacionada à luta pela terra no Brasil e no estado de Mato Grosso do Sul. Na segunda parte desenvolvemos pesquisa de campo junto aos órgãos federal, Instituto de Colonização e Reforma Agrária (INCRA) e estadual, Agência de Desenvolvimento Agrário e Extensão Rural do Mato Grosso do Sul (AGRAER). Como citar este artigo:ASSUNÇÃO, Adenilso dos Santos; CAMACHO, Rodrigo Simão. A geografia e a história da luta pela terra no Mato Grosso do Sul: conquistas e desafios para o campesinato. Revista NERA, v. 25, n. 62, p. 22-50, jan.-abr., 2022

    Using Coverage and Reachability Testing to Improve Concurrent Program Testing Quality

    No full text
    The testing of concurrent software is a challenging task. A number of different research approaches have investigated adaptation of the techniques and the criteria defined for sequential programs. A major problem with the testing of concurrent software that persists is the high application cost due to the large number of the synchronizations that are required and that must be executed during testing. In this paper we propose a complementary approach, using reachability testing, to guide the selection of the tests of all synchronization events according to a specific coverage criterion. The key concept is to take advantage of both coverage criteria, which are used to select test cases and also to guide the execution of new synchronizations, and reachability testing, which is used to select suitable synchronization events to be executed. An experimental study has been conducted and the results indicate that it is always advantageous to use this combined approach for the testing of concurrent software

    System for stress test in an FX option portfolio

    No full text
    Na gestão de recursos financeiros, visualizar e gerenciar em tempo real os riscos inerentes a uma carteira de investimentos é uma tarefa crucial para que o objetivo de gerar lucro possa ser atingido, ou que pelo menos as perdas possam ser minimizadas. Uma das formas de realizar esse gerenciamento é submeter essas carteiras a simulações onde são definidos cenários contendo variações de fatores que possam influenciar os ativos nelas contidos. Dependendo da classe dos ativos financeiros analisados, essas simulações requerem uma ferramenta mais sofisticada, capaz de lidar com modelos complexos de precificação. O objetivo deste trabalho consiste em resolver uma demanda real de uma gestora de recursos onde este autor atua: o desenvolvimento de uma ferramenta capaz de realizar testes de stress em uma carteira de investimentos contendo mais especificamente opções de moedas. Foi desenvolvido um sistema no formato de add-in de Excel em que os gestores podem definir cenários com as variações desejadas e, em conjunto com dados de mercado em tempo real, avaliar o impacto dessas variações em seu portfolio. O desenvolvimento foi realizado em etapas, e a versão atual da ferramenta trouxe ganhos no tempo de execução das simulações na ordem de dez vezes, quando comparado à versão anterior. Nesta dissertação serão mostrados detalhes da implementação do sistema, bem como o embasamento teórico utilizado no seu desenvolvimento. Será apresentada uma breve descrição sobre o mercado de câmbio e seus instrumentos, incluindo opções de moedas. Também será descrito um modelo para precificação e mensuração de risco desses instrumentos.In the financial resources management, visualizing and handling risks inherent in an investment portfolio in real time are key tasks to ensure that the objective of profit is accomplished, or at least that the losses are mitigated. One way to perform this kind of management is to submit the portfolio to scenario simulations, in which factors that might affect the assets held in the portfolio are stressed. Depending on the class of these assets, there is the need of a more sophisticated tool, capable of handling complex pricing models. The main purpose of this work is to solve a real demand for an investment management company for which this author works: the development of a tool capable to perform stress tests in an investment portfolio containing more specifically Foreign eXchange options. An Excel add-in has been developed and managers can use it to define scenarios with the desired bumps and, along with real time market data, analyze the impact of these bumps in the portfolio. The development has been made in phases and the tools current version has brought a reasonable improvement to the execution time of the simulations. In this thesis we will discuss systems implementation details, as well as the theoretical basis used in its development. An overview of the FX market and its instruments will be presented, including FX options. Also, there will be a description of a model for pricing and risk measurement of these instruments

    Evaluation of portability among testing as a service providers in cloud computing

    No full text
    O processo de automatização de teste de software possui alto custo envolvido em sistemas de larga escala, pois exigem cenários de teste complexos e tempos de execução extremamente longos. Além disso, cada etapa do processo de teste requer recursos computacionais e um tempo considerável para a execução de muitos casos de teste, tornando-se um gargalo para as empresas de Tecnologia da Informação (TI). Neste contexto, os benefícios e oportunidades oferecidos pela combinação da computação em nuvem com o Teste como Serviço (Testing as a Service, TaaS), que é considerado um novo modelo de negócio e de serviço atraente e promissor, podem proporcionar um impacto positivo na redução do tempo de execução dos testes de maneira custo-efetiva e aumentar o retorno sobre o investimento ou Return on investment (ROI). Todavia, existe o problema de vendor lock-in, que é o aprisionamento do usuário à plataforma de um fornecedor específico ou serviço de teste, ocasionado pela dificuldade de migrar de um fornecedor TaaS para outro, limitando a utilização dessas novas tecnologias de maneira efetiva e eficiente, impedindo assim, a ampla adoção do TaaS. Como os estudos existentes não são rigorosos ou conclusivos e, principalmente, devido à falta de evidência empírica na área de serviço de teste, muitas questões devem ser investigadas na perspectiva da migração entre os provedores de TaaS. O objetivo deste trabalho é reduzir o impacto ocasionado pelo problema de vendor lock-in no processo de automatização de testes na computação em nuvem, na escrita, configuração, execução e gerenciamento dos resultados de testes automatizados. Neste contexto, foi desenvolvido o protótipo da abordagem intitulada Multi-TaaS por meio de uma biblioteca Java como prova de conceito. A abordagem Multi-TaaS é uma camada de abstração e a sua arquitetura permite abstrair e flexibilizar a troca de fornecedores de TaaS de forma portável, pois permite encapsular toda a complexidade da implementação do engenheiro de software ao desacoplar o teste automatizado de qual plataforma TaaS ele será executado, bem como abstrair os aspectos da comunicação e integração entre as APIs REST proprietárias dos diferentes fornecedores de TaaS. Além disso, a abordagem Multi-TaaS possibilita também sumarizar os resultados dos testes automatizados de forma independente das tecnologias da plataforma TaaS subjacente. Foram realizadas avaliações comparativas da eficiência, efetividade, dificuldade e do esforço de migração entre as abordagens Multi-TaaS e abordagem convencional, por meio de experimentos controlados. Os resultados deste trabalho indicam que a nova abordagem permite facilitar a troca do serviço de teste, melhorar a eficiência e, principalmente, reduzir o esforço e os custos de manutenção na migração entre fornecedores de TaaS. Os estudos realizados no experimento controlado são promissores e podem auxiliar os engenheiros de software na tomada de decisão quanto aos riscos associados ao vendor lock-in no TaaS. Por fim, a abordagem Multi-TaaS contribui, principalmente, para a portabilidade dos testes automatizados na nuvem e da sumarização dos resultados dos testes e, consequentemente, possibilita que o modelo de serviço TaaS na computação em nuvem seja amplamente adotado, de forma consciente, no futuro.The automation of software testing involves high costs in large-scale systems, since it requires complex test scenarios and extremely long execution times. Moreover, each of its steps demands computational resources and considerable time for running many test cases, which makes it a bottleneck for Information Technology (IT) companies. The benefits and opportunities offered by the combination of cloud computing and Testing as a Service (TaaS), considered a new business and service model, can reduce the execution time of tests in a cost-effective way and improve Return on Investment (ROI). However, the lock-in problem, i.e., the imprisonment of the user in the platform of a specific vendor or test service caused by the difficult migration from one TaaS provider to another limits the effective use of such new technologies and prevents the widespread adoption of TaaS. As studies conducted are neither rigorous, nor conclusive, and mainly due to the lack of empirical evidence, many issues must be investigated from the perspective of migration among TaaS providers. This research aims at reductions in the impact of the vendor lock-in problem on the automation process of testing in cloud computing, writing, configuration, execution and management of automated test results. The prototype of the Multi- TaaS approach was developed through a Java library as a proof of concept. The Multi-TaaS approach is an abstraction layer and its architecture enables the abstraction and flexibilization of the exchange of TaaS providers in a portable way, once the complexity of the software engineers implementation can be encapsulated. The two main advantages of Multi-TaaS are the decoupling of the automated test from the TaaS platform on which it will be executed and the abstraction of the communication and integration aspects among the proprietary REST APIs of the different TaaS providers. The approach also enables the summarization of automated test results independently of the underlying TaaS platform technologies. A comparative evaluation between Multi-TaaS and conventional migration approaches regarding the difficulty, efficiency, effectiveness and effort of migration among TaaS providers was conducted through controlled experiments.The results show the approach facilitates the exchange of test service, improves efficiency and reduces the effort and maintenance costs of migration among TaaS providers. The studies conducted in the controlled experiment are promising and can assist software engineers in decision-making regarding the risks associated with vendor lock-in in TaaS. The Multi-TaaS approach contributes mainly to the portability of automated tests in the cloud and summarization of their results. Finally, this research enables also the widespread adoption of the TaaS service model in cloud computing, consciously, in the future

    Investigação do uso de redes de interação funcional e redes de interação funcional enriquecidas em métodos para identificar mutações significativas aplicadas à pesquisa do câncer

    No full text
    The cell is the basic unit of life and carries a copy of the genetic material (DNA). DNA determines various human characteristics, as well as biological phenomena within the organism. It consists of a vast amount of information, encoded in nucleotide sequences. Due to the large volume of data, numerous representation techniques can be employed, such as the use of complex networks, which enable not only the representation of DNA but also relationships among genes, proteins, genes that share the same biological activities (pathways), and other biological information. In the literature, numerous computational methods have been proposed that, by manipulating patient mutation data associated with functional interaction networks, can identify potential genes linked to a specific type of cancer under study. Various methods employ different network structures, incorporating distinct pathwayseither complete or partially generated through specific processes associated with the databases used to construct the network. This study investigates the impact of using enriched biological networks in the identification of driver genes. The analysis seeks to determine whether enriching the network with prioritized genes for each cancer type improves the accuracy of driver gene identification methods compared to using conventional biological networks. Furthermore, the study evaluates whether the inclusion of this prioritization process positively influences the detection of driver genes, highlighting functionally more relevant genes for the cancer type under investigation.A célula é a unidade básica da vida e carrega uma cópia do material genético (DNA). O DNA determina diversas características humanas, bem como fenômenos biológicos dentro do organismo. Ele consiste em uma vasta quantidade de informação, codificada em sequências de nucleotídeos. Devido ao grande volume de dados, diversas técnicas de representação podem ser empregadas, como o uso de redes complexas, que permitem não apenas a representação do DNA, mas também as relações entre genes, proteínas, genes que compartilham as mesmas atividades biológicas (vias metabólicas) e outras informações biológicas. Na literatura, diversos métodos computacionais foram propostos que, ao manipular dados de mutações de pacientes associados a redes de interação funcional, podem identificar genes potenciais ligados a um tipo específico de câncer em estudo. Vários métodos empregam diferentes estruturas de rede, incorporando vias distintascompletas ou parcialmente geradas por meio de processos específicos associados aos bancos de dados utilizados para construir a rede. Este estudo investiga o impacto do uso de redes biológicas enriquecidas na identificação de genes drivers. A análise busca determinar se o enriquecimento da rede com genes priorizados para cada tipo de câncer melhora a precisão dos métodos de identificação de genes drivers, em comparação com o uso de redes biológicas convencionais. Além disso, o estudo avalia se a inclusão desse processo de priorização influencia positivamente a detecção de genes drivers, destacando genes funcionalmente mais relevantes para o tipo de câncer em investigação

    A strategy for generating checking sequences for finite state machines

    No full text
    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 contextosModel-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 context

    Geração automática de conjuntos de teste configuráveis para linhas de produto de software

    No full text
    Software Product Line Engineering (SPLE) is an approach used in the development of similar products, which explores the systematic reuse of software artifacts. The SPLE process has several activities executed to ensure software quality. Quality assurance is of vital importance for achieving and maintaining a high quality of all kinds of artifacts, such as products and processes. Testing activities are widely used in the industry for quality management. However, the effort for applying testing is usually high, and increasing the testing efficiency is a major concern of all systems engineering activities. A common means of increasing efficiency is automation of the test execution and the test design. Automated test design can be performed using approaches such as Model-Based Testing (MBT) in which the real behavior of a software system is compared to an abstract test model. Several techniques, processes, and strategies were developed for SPLE testing, but still many problems are open in this area of research. The challenge in focus is the reduction of the overall test effort required to test SPLE products. Test effort can be reduced by maximizing test reuse using models that take advantage of the similarity between products. The thesis goal is to automate the generation of small test-suites with high fault detection and low test redundancy between products. To achieve the goal, equivalent tests are identified for a set of products using complete and configurable test-suites. Two research directions are explored, one is product-based centered, and the other is product line-centered. For test design, test-suites that have full fault coverage were generated from state machines with and without feature constraints. A prototype implementation tool was developed for test design automation. In addition, the proposed approach was evaluated using examples, experimental studies, and an industrial case study for the automotive domain. The results indicates test effort reduction of 36% in the first research direction for a product line with 24 products, and in the second research direction increasing test effort reduction based on the number of products that require testing. For 6 products 15% reduction (from case study), and for 20 random products 50% reduction (from experimental studies).Engenharia de Linha de Produto de Software (SPLE) é uma abordagem utilizada no desenvolvimento de produtos similares, que explora a reutilização sistemática de artefatos de software. O processo da SPLE executa várias atividades para garantir a qualidade do software. Atividades de garantia de qualidade são fundamentais para alcançar e manter altos níveis de qualidade em todos os tipos de artefatos de software, tais como produtos e processos. Atividades de teste são amplamente utilizadas na indústria para o gerenciamento de qualidade. No entanto, o esforço para a aplicação de testes geralmente é alto e melhorar a eficiência dos testes é um desafio relacionado a todas as atividades da engenharia de sistemas. Uma maneira de melhorar a eficiência da atividade de teste é automatizar a geração e execução dos testes. A geração automática de testes pode ser realizada por abordagens tais como o Teste Baseado em Modelos (TBM), em que o comportamento real do sistema de software é comparado a um modelo de teste abstrato. Várias técnicas, processos e estratégias foram desenvolvidas para o teste de SPLE, contudo, existem diversos desafios nessa área de pesquisa. O desafio em foco é a redução do esforço geral de teste necessário para testar produtos da SPLE. O esforço de teste pode ser reduzido maximizando o reuso de teste usando modelos que representam variabilidades entre os produtos. O objetivo da tese é automatizar a geração de compactos conjuntos de testes com alta capacidade de detecção de falhas e baixa redundância de teste entre produtos. Para alcançar tal objetivo, testes equivalentes são identificados para um conjunto de produtos usando conjuntos de teste completos e configuráveis. Duas direções de pesquisa são exploradas, uma centrada no produto e a outra centrada na linha de produto. Foram gerados conjuntos de teste que tenham cobertura de falhas completa a partir de máquinas de estado com e sem restrições de características. A implementação de uma ferramenta foi desenvolvida para automatizar a geração de teste. Além disso, a abordagem proposta foi avaliada usando exemplos, estudos experimentais e um estudo de caso industrial. Os resultados indicam uma redução de esforço de teste de 36% na primeira direção de pesquisa para uma linha com 24 produtos, e na segunda linha de pesquisa uma redução incremental com mais produtos a serem testados. Para 6 produtos uma redução de 15% (do estudo de caso), e para 20 produtos randomicos uma redução de 50% (dos estudos experimentais)

    Testability attributes assessment for decision support systems

    No full text
    As organizações públicas e privadas são constantemente expostas a fatores internos e externos, que podem comprometer sua estabilidade diante das oscilações da economia e dos concorrentes. Nestas empresas, os tomadores de decisão são essenciais para analisar e avaliar todas as variáveis que envolvem estes fatores, com o objetivo de identificar o melhor caminho para os negócios. Entretanto, conseguir gerenciar os dados internos e externos à organização não é uma atividade simples. Neste contexto, os Sistemas de Suporte à Decisão (SSD) tornaram-se fundamentais para auxiliar os tomadores de decisão na solução de problemas mal estruturados ou sem nenhuma estruturação. Porém, a complexidade que envolve os projetos de implantação ou desenvolvimento de um SSD, geralmente compromete a efetividade dos testes que garantem a conformidade do sistema em relação às especificações previamente definidas. Uma solução para esse problema é considerar os atributos ou fatores de testabilidade nestes projetos, pois podem elevar o grau de eficácia e eficiência da atividade de teste e consequentemente contribuírem para redução do tempo e custos do projeto. Portanto, conseguir identificar esses atributos ou fatores que tenham influência na testabilidade dos SSD e algum método que permita analisar e avaliar o quanto estão presentes neste sistema, é essencial para aumentar a qualidade do sistema. Diante desta necessidade, este trabalho investigou e selecionou os principais fatores que podem influenciar no grau de testabilidade de um software e propôs um método para analisar e avaliar o quanto o SSD está considerando esses fatores em sua arquitetura. Com o objetivo de avaliar e validar o método de análise e avaliação, foram realizados testes de aplicabilidade em empresas de pequeno, médio e grande porte, bem como no meio acadêmico. Com os resultados obtidos nos testes, foi possível concluir que o método é específico para SSD, que pode ser usado como um guia durante o processo de desenvolvimento e auxiliar na classificação de SSD quanto a sua testabilidade.Public and private organizations are constantly exposed to internal and external factors which could compromise their stability in the face of fluctuations in the economy and competitors. In these companies, decision makers are essential to analyze and evaluate all the variables regarding these factors, in order to identify the best way for business. However, managing internal and external data of the organization is not a simple activity. In this context, Decision Support Systems (DSS) have become essential to assist decision makers in solving unstructured problems or lock of structure. However, the complexity involved in the implementation of projects or development of a DSS usually compromises the effectiveness of tests that ensure compliance of the system in relation to previously defined specifications. One solution to this problem is to consider the attributes or testability factors in these projects, since they can raise the level of effectiveness and efficiency of testing activity and thus contribute to reducing the time and project costs. Therefore, the ability to identify these attributes or factors that influence testability of DSS and a process for analyzing and evaluating how much the present in this system, is essential to increase system quality. Given this need, this work investigated and selected the main factors that can influence the degree of testability of software and proposed a way to analyze and assess how the DSS is considering these factors in its architecture. In order to evaluate and validate the analysis and evaluation method, applicability tests were performed in small, medium and large companies, as well as in academy. As results obtained in the tests, it was concluded that the method is specific for DSS, which can be used as a guide during the development process and assist in the DSS classification regarding its testability

    Aprimorando a inferência de modelos por meio da seleção de sequências de separação a partir de exemplos do comportamento de sistemas

    No full text
    Models that can represent the behavior of systems, such as a Finite State Machine (FSM), are crucial for software development and maintenance as they serve as a base for several automated activities like testing, verification, validation, and refinement of systems. Contrasting their importance and value, models are usually complex and costly to obtain. One option to mitigate this problem is model inference which provides the possibility to automatically, or at least with little human interaction, learn a model that represents the behavior of a system. This process can be mainly classified into passive inference (builds models from examples of the behavior of a system) and active inference (builds models from interacting with the system). In this dissertation, we propose a method for learning separating sequences from traces (examples of a previously observed behavior of the system) and applying it to improve the process of model inference. A separating sequence is an input sequence capable of distinguishing a pair of distinct states of a machine by yielding different output sequences for each state. When a set of separating sequences distinguishes all pairs of distinct states in the FSM, it is called a characterization set, or W-set. Our proposed method receives a set of traces, processes them to extract all their k-length subsequences, and uses them to build a data structure called W-tree that summarizes the relevant observations of the systems behavior indicated in the traces. The methods output is a set of the n-best separating sequences that a model inference algorithm applies to improve its W-set and its inference process. We implemented our proposed method, integrated it with an active inference algorithm called hW -inference, and performed a case study in which we used 40 different traces. We observed that the proposed method could improve the learning process by 24%, on average, and up to 48% in the best-case setting.Modelos capazes de representar o comportamento de sistemas, como uma Máquina de Estado Finitos (MEF), são essenciais para o desenvolvimento e a manutenção de software, pois servem de base para várias atividades automatizadas, tais como teste, verificação, validação e refinamento de sistemas. Em contrapartida a sua importância, modelos geralmente são complexos e custosos para se obter. Uma opção para amenizar esse problema é a inferência de modelos, que permite inferir automaticamente, ou com pouca interação humana, um modelo que represente o comportamento do sistema. Esse processo pode ser classificado principalmente em inferência passiva (infere modelos a partir de exemplos do comportamento de um sistema) e inferência ativa (infere modelos a partir da interação com o sistema). Nesta dissertação, é proposto um método para inferir sequências de separação a partir de traces (exemplos observados previamente do comportamento do sistema) e aplicá-las para aprimorar o processo de inferência de modelos. Uma sequência de separação é uma sequência de símbolos de entrada capaz de distinguir um par de estados distintos de uma MEF ao produzir sequências de saída diferentes para cada estado. Quando um conjunto de sequências de separação distingue todos os pares de estados distintos em uma MEF, ele é chamado de conjunto de caracterização, ou W-set. O método proposto recebe um conjunto de traces e os processa para extrair todas as suas subsequências de comprimento k, criando uma estrutura de dados chamada W-tree que resume as observações relevantes do comportamento do sistema indicado nos traces. O resultado do método é um conjunto das n melhores sequências de separação que um algoritmo de inferência de modelo pode aplicar para aprimorar seu W-set e seu processo de inferência. O método proposto foi implementado, integrado a um algoritmo de inferencia ativa chamado hW -inference, e um estudo de caso foi conduzido, no qual foram empregados 40 traces diferentes. Como principal resultado do experimento, foi observado que o método proposto pode melhorar o processo de aprendizagem em 24%, em média, e em até 48% em seu melhor caso

    A strategy for reducing test suites from finite state machines

    No full text
    O teste baseado em modelos visa à derivação de casos de teste a partir de modelos produzidos ao longo do desenvolvimento de software. Nesse contexto, as Máquinas de Estados Finitos têm sido amplamente pesquisadas e utilizadas para derivação de seqüências de teste. Para isso, vários métodos de geração de seqüências de teste têm sido desenvolvidos há várias décadas. O objetivo desses métodos é a obtenção de um conjunto de teste que seja capaz de revelar os defeitos de uma implementação. Entretanto, muitas vezes os conjuntos gerados são muito grandes, o que torna sua aplicação inviável. Trabalhos recentes definiram condições que podem ser utilizadas para investigar mecanismos de redução de casos de teste. Este trabalho apresenta uma estratégia para a redução de conjuntos de seqüências de teste a partir de Máquinas de Estados Finitos com base em condições de suficiência. A estratégia baseia-se na combinação de seqüências de um conjunto de teste, de forma a reduzir o número de seqüências e o tamanho delas, mantendo a completude do conjunto. São apresentadas seis abordagens de redução baseadas na estratégia proposta, as quais foram implementadas em uma ferramenta. Para avaliar as abordagens foram conduzidos estudos experimentais, os quais também serviram para inferir sobre as características e propriedades de cada abordagem. Além disso, um estudo de caso com MEFs reais também foi realizadoModel-based testing aims at generating test cases from models produced along the software development process. In this context, Finite State Machines (FSM) have been largely investigated and used for generating test sequences. In the past decades, several test generation methods have been proposed to obtain test suites that are able to reveal implementation faults. Nevertheless, most of the generated test suites are huge, thus hindering their application in practice. Recent research has defined new sufficient conditions that can be employed in mechanisms for reducing the length of test sequences. This work presents a strategy based on sufficient conditions for reducing the length of test cases derived from FSMs. Our strategy is based on sequence combination of a test suite, aiming to reduce the number of sequences and their length, however still keeping full fault coverage. Six reduction approaches are presented based on the proposed strategy and implemented in a tool. In order to evaluate the strategy, we conducted experimental studies that identified characteristics and properties for each of the six proposed approaches. Moreover, a case study with real-world FSMs was performe
    corecore