• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 165
  • 14
  • 4
  • Tagged with
  • 183
  • 183
  • 144
  • 45
  • 36
  • 34
  • 32
  • 28
  • 27
  • 25
  • 25
  • 24
  • 23
  • 23
  • 22
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
41

Linha de processo de software para apoiar testes em aplicações móveis

Oliveira, Kariny Marques de, 92-98180-9122 25 September 2017 (has links)
Submitted by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2017-12-22T19:36:14Z No. of bitstreams: 2 Dissertação_Kariny Oliveira.pdf: 3484399 bytes, checksum: 461fcb482a3367d9b068b8c433b45766 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2017-12-22T19:37:40Z (GMT) No. of bitstreams: 2 Dissertação_Kariny Oliveira.pdf: 3484399 bytes, checksum: 461fcb482a3367d9b068b8c433b45766 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2017-12-22T19:37:40Z (GMT). No. of bitstreams: 2 Dissertação_Kariny Oliveira.pdf: 3484399 bytes, checksum: 461fcb482a3367d9b068b8c433b45766 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2017-09-25 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / The evolution of mobile applications in recent years has resulted in a constant challenge for the Software Engineering area. The exponential growth of this market and the criticality of the developed systems impose a greater attention to quality aspects of these applications, such as which test technique to apply to certain types of applications. Software testing consumes a significant amount of project resources and development cycle time. Normal test costs range from 40% to 85%, according to the application's criticality. Therefore, any inititive to reduce the effort, time, or cost of the development cycle should include the testing process, and this should be tailored according to the characteristics of the application under test. As an alternative to support this scenario, this work proposes the development of a Software Process Line (SPrL) in order to simplify the control of variabilities and enable the derivation of new mobile application testing processes, assisting the test manager/leader in the selection of test elements (i.e. activities, test types, test level, responsible for activities, phases and tools), taking into account the specificities of each application. The tool called MTPLT (Mobile Testing Process Line Tool) was developed with the aim of providing the necessary tooling support to the manager/test leader, facilitating the manipulation of data related to the application and aid in decision making regarding the process to be adopted. The MTPLT was evaluated by experts in software testing in order to verify its feasibility in industry environments. As a result, it was observed a tendency to acceptance when observed the requirements perceived utility and ease of use. In the perceived utility, 46 positive responses were obtained against 4 negative responses. When analyzing ease of use, 30 positive and only 3 negative responses were obtained. Analyses were carried out evaluating profiles, experience times and roles performed. Most of the participants with previous experience on the industry and researchers presented considerations regarding the presentation of content and the addition of features. / A evolução das aplicações móveis nos últimos anos tem resultado em um desafio constante para a área de Engenharia de Software. O exponencial crescimento desse mercado e da criticidade dos sistemas desenvolvidos impõem uma maior atenção a aspectos de qualidade dessas aplicações, como por exemplo qual técnica de teste aplicar a certos tipos de aplicações. O teste de software consome uma quantidade significativa de recursos do projeto e tempo do ciclo de desenvolvimento. Custos normais de teste variam de 40% a 85%, de acordo com a criticidade da aplicação. Sendo assim, qualquer iniciativa para reduzir o esforço, tempo ou custo do ciclo de desenvolvimento deve incluir o processo de testes, e este deve ser adaptado de acordo com as características da aplicação a ser testada. Como alternativa de apoio a este cenário, este trabalho propõe o desenvolvimento de uma Linha de Processo de Software (LPrS) de modo a simplificar o controle de variabilidades e possibilitar a derivação de novos processos de testes de aplicações móveis, auxiliando o gerente/líder de testes na seleção de elementos de teste (i.e. atividades, tipos de teste, nível de teste, responsáveis pelas atividades, fases e ferramentas) mais adequados, levando em consideração as especificidades de cada aplicação. Uma ferramenta intitulada MTPLT (Mobile Testing Process Line Tool) foi desenvolvida com o objetivo de oferecer o apoio ferramental necessário ao gerente/líder de teste, facilitando a manipulação de dados referentes à aplicação e auxílio na tomada de decisão a respeito do processo a ser adotado. A ferramenta MTPLT foi submetida à avaliação por especialistas da área de teste de software com o objetivo de verificar sua viabilidade de uso. Como resultado, foi observada uma tendência à aceitação quando observados os quesitos utilidade percebida e facilidade de uso. Em utilidade percebida foram obtidas 46 respostas positivas contra 4 respostas negativas. Ao analisar a facilidade de uso, foram obtidas 30 respostas positivas e apenas 3 negativas. Também foram realizadas análises avaliando perfis, tempos de experiência e papéis desempenhados. Participantes com experiência em atuação na indústria e em pesquisas científicas apresentaram considerações a respeito da ferramenta quanto a apresentação de conteúdo e adição de funcionalidades.
42

Verificação de sistemas de software baseada em transformações de código usando Bounded Model Checking

Rocha, Herbert Oliveira 03 July 2015 (has links)
Submitted by Lúcia Brandão (lucia.elaine@live.com) on 2015-12-11T18:49:43Z No. of bitstreams: 1 Tese - Herbert Oliveira Rocha.pdf: 2090300 bytes, checksum: 94ec40933733aec0a76afd0916b0f8cb (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-01-19T14:41:05Z (GMT) No. of bitstreams: 1 Tese - Herbert Oliveira Rocha.pdf: 2090300 bytes, checksum: 94ec40933733aec0a76afd0916b0f8cb (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-01-19T14:54:32Z (GMT) No. of bitstreams: 1 Tese - Herbert Oliveira Rocha.pdf: 2090300 bytes, checksum: 94ec40933733aec0a76afd0916b0f8cb (MD5) / Made available in DSpace on 2016-01-19T14:54:32Z (GMT). No. of bitstreams: 1 Tese - Herbert Oliveira Rocha.pdf: 2090300 bytes, checksum: 94ec40933733aec0a76afd0916b0f8cb (MD5) Previous issue date: 2015-07-03 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Oneofthemainchallenges insoftwaredevelopment istoensurethesafetyofthesoftwaresystems, especially in critical embedded systems, such as aircraft or healthcare, where several constraints (e.g., response time and data accuracy) must be met and measured in accordance with the user requirements, otherwise a failure can lead to catastrophic situations. Thus, software verification and testing techniques are essential items for the software development with quality, where such techniques aim to confirm the user requirements, as well as, the predetermined behaviors for the software. In the software verification context, aiming the product quality, the formal verification technique called model checking has been used to find subtle errors in actual projects of the software systems. However, the use of the model checking technique presents some challenges such as dealing with the model’s state explosion problem, integration with software testing environments more familiar to designers, and handling counter-examples to reproduce the identified errors. In order to deal with these problems, a possible solution is to explore the characteristics already provided by the model checkers, e.g., verification of the safety properties and generation of counter-examples. Exploring this set of characteristics, coupled with the use of program invariants inference and a special kind of model checking, called Bounded Model Checking (BMC), this thesis presents a set of methods to complement and enhance the scalability and accuracy of the verification performed by Bounded Model Checkers. These methods adopted code transformation techniques to explore the characteristics of Bounded Model Checkers to analyze the safety properties and demonstrate errors in programs written inthe C programming language. The methods presented in this thesis are: (1) The automatic generation and verification of the test cases based on safety properties generated by a Bounded Model Checker for unit tests; (2) Automating thecollection andmanipulation of thedatafrom thecounter-examples, todemonstrate the main cause of the identified error; and (3) Adopting program invariants dynamically/statically inferred from the analyzed program, to restrict the exploration of the states sets while performing the verification by the BMC. This way, helping to improve the verification performed by a BMC, related to assist in the verification and accuracy of results, by adoption of the program invariants. The proposed approaches when used separately, provide additional options to the verification, and interconnected, improving the code verification. Theexperimental results of theproposed methods show to be efficient over public available benchmarks of C programs, finding errors not previously found byother methods that are state-of-the-art. / Um dos principais desafios no desenvolvimento de software é garantir a funcionalidade dos sistemas de software, especialmente em sistemas embarcados críticos, tais como aeronáutico ou hospitalar, onde diversas restrições (por exemplo, tempo de resposta e precisão dos dados) devem ser atendidas e mensuradas de acordo com os requisitos do usuário, caso contrário uma falha pode conduzir a situações catastróficas. Logo, técnicas de verificação e teste de software são itens indispensáveis para um desenvolvimento com qualidade, onde tais técnicas visam confirmar os requisitos do usuário, bem como os comportamentos pré-estabelecidos para osoftware. No contexto de verificação de software, visando à qualidade geral do produto, a técnica de verificação formal model checking tem sido utilizada para descobrir erros sutis em projetos de sistemas de software atuais. Contudo, a utilização da técnica model checking apresenta alguns desafios, tais como, lidar com a explosão do espaço de estados do modelo, integração com outros ambientes de testes mais familiares aos projetistas e tratamento e análise de contra-exemplos para reprodução de erros. De modo a lidar com estes problemas, uma possível solução é explorar as características já providas pelos model checkers, por exemplo, a verificação de propriedades de segurança e geração de contra-exemplos. Explorando este conjunto de características, juntamente com autilização dainferência deinvariantes eumtipo especial demodelchecking, denominado de BoundedModelChecking (BMC),esta tese apresenta um conjunto de métodos para complementar e aprimorar a escalabilidade e acurácia da verificação efetuada por Bounded Model Checkers. Estes métodos utilizam técnicas de transformações de código para explorar as características de Bounded Model Checkers, a fim de analisar propriedades de segurança e demonstrar erros em códigos escritos na linguagem de programação C. Os métodos apresentados nesta tese são: (1) A geração e verificação automática de casos de teste baseado em propriedades de segurança geradas por um Bounded Model Checker para testes de unidade; (2) Automatizar acoleta emanipulação das informações dos contra-exemplos, de modo a demonstrar a causa principal do erro identificado; e (3) Utilização de invariantes dinamicamente/estaticamente inferidas, a partir do programa analisado, para restringir a exploração dos conjuntos de estados durante a execução da verificação pelo BMC. Desta forma, ajudando no aprimoramento da verificação efetuada por um BMC, no que concerne em auxiliar a sua verificação e na precisão dos resultados, pela utilização de invariantes de programas. As abordagens propostas, quando utilizadas isoladamente, fornecem alternativas complementares a verificação e, interligadas, aprimoram a verificação de código. Os resultados experimentais dos métodos propostos demonstram ser eficientes sobre benchmarks públicos de programas em C, encontrando defeitos não anteriormente encontrados por outros métodos que são estado-da-arte.
43

MTCONTEXT: apoio à geração de casos de teste para aplicações móveis sensíveis ao contexto

Reis, Rodrigo dos Anjos Cruz 14 March 2016 (has links)
Submitted by bruna ortiz (brunaortiz.f@gmail.com) on 2016-07-18T13:35:01Z No. of bitstreams: 1 Dissertacao-Rodrigo dos Anjos C. Reis.pdf: 2208200 bytes, checksum: f7aa5497dd6ebb439dea02d6e500808f (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-07-28T13:51:31Z (GMT) No. of bitstreams: 1 Dissertacao-Rodrigo dos Anjos C. Reis.pdf: 2208200 bytes, checksum: f7aa5497dd6ebb439dea02d6e500808f (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2016-07-28T13:57:04Z (GMT) No. of bitstreams: 1 Dissertacao-Rodrigo dos Anjos C. Reis.pdf: 2208200 bytes, checksum: f7aa5497dd6ebb439dea02d6e500808f (MD5) / Made available in DSpace on 2016-07-28T13:57:04Z (GMT). No. of bitstreams: 1 Dissertacao-Rodrigo dos Anjos C. Reis.pdf: 2208200 bytes, checksum: f7aa5497dd6ebb439dea02d6e500808f (MD5) Previous issue date: 2016-03-14 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Mobile computing is currently everywhere. Applications running on mobile devices (e.g. smartphones and tablets) are becoming increasingly popular and they represent a revolution in the information technology sector. The exponential growth of this market and the criticality of the developed systems impose greater attention to reliability aspects of these applications. Mobile applications are not free of defects, and new software engineering approaches are needed to test them. In addition to the considerable increase in the use of mobile devices in recent years, allowing users to perform more tasks in a mobile environment, technological advances in mobile devices and communication networks, has made it possible the context awareness, characteristic of ubiquitous computing. One of the ways to evaluate the quality of these applications is through testing. This paper proposes the definition of a testing technique to support the generation of test cases for Context Aware mobile applications in order to decrease the amount of test cases generated for this type of application, decrease the generation time of these test cases increase the contexts coverage achieved with these test cases and facilitate the management of the tests generated by a tool support. The results obtained in controlled experiment conducted with two scenarios of context aware mobile applications provided evidence regarding the feasibility of this work. MTContext approach contributed to the generation of test cases with significant statistical difference when compared to Ad Hoc approach concerned with the higher contexts coverage during test cases generation. However, the results of this experiment showed limitations and possible upgrades to MTContext approach that will be addressed in future work. / A computação móvel está atualmente em todos os lugares. Aplicações executando em dispositivos móveis (ex: smartphones e tablets) estão se tornando cada vez mais populares e elas representam uma revolução no setor de tecnologia da informação. O exponencial crescimento deste mercado e da criticidade dos sistemas desenvolvidos impõem uma maior atenção a aspectos de confiabilidade destas aplicações. As aplicações móveis não são livres de defeitos, e novas abordagens de engenharia de software são necessárias para testar as aplicações. Além do aumento considerável da utilidade de dispositivos móveis nos últimos anos, permitindo aos usuários executar mais tarefas em um contexto móvel, os avanços tecnológicos nas áreas de dispositivos móveis e redes de comunicação tem tornado possível a sensibilidade ao contexto, característica da computação ubíqua. Umas das formas de avaliar a qualidade dessas aplicações é por meio de testes. Este trabalho propõe a definição de uma técnica de teste para apoiar a geração de casos de teste para aplicações móveis sensíveis ao contexto visando diminuir a quantidade de casos de testes gerados para este tipo de aplicação, diminuir o tempo de geração desses casos de teste, aumentar a cobertura de contextos alcançados com esses casos de teste e facilitar o gerenciamento dos testes gerados por meio de um apoio ferramental. Os resultados obtidos no experimento controlado realizado com dois cenários de aplicações móveis sensíveis ao contexto forneceram indícios de viabilidade deste trabalho visto que a abordagem MTContext contribuiu para a geração de casos de teste com diferença estatisticamente significante em relação a abordagem de comparação Ad Hoc no que se diz respeito a maior cobertura de contextos. Porém, os resultados deste experimento evidenciaram limitações e possíveis evoluções para abordagem MTContext que serão tratados em trabalhos futuros.
44

Geração automática de dados de teste para programas concorrrentes com meta-heurística / Automatic test data generation for concurrent programs with metaheuristic

José Dario Pintor da Silva 22 September 2014 (has links)
A programação concorrente é cada vez mais utilizada nos sistemas atuais com o objetivo de reduzir custos e obter maior eficiência no processamento. Com a importância da programação concorrente é imprescindível que programas que implementam esse paradigma apresentem boa qualidade e estejam livres de defeitos. Assim,diferentes técnicas e critérios de teste vêm sendo definidos para apoiar a validação de aplicações desenvolvidas nesse paradigma. Nesse contexto, a geração automática de dados de teste é importante, pois permite reduzir o custo na geração e seleção de dados relevantes. O uso de técnicas meta-heurísticas tem sido uma área de grande interesse entre os pesquisadores para geração de dados, pois essas técnicas apresentam abordagens aplicáveis a problemas complexos e de difícil solução. Considerando esse aspecto, este trabalho apresenta uma abordagem de geração automática de dados para o teste estrutural de programas concorrentes em MPI (Message Passing Interface). A meta-heurística usada foi Algoritmo Genético em que a busca é guiada por critérios de teste que consideram características implícitas de programas concorrentes. O desempenho da abordagem foi avaliado por meio da cobertura dos dados detestes, da eficácia em revelar defeitos e do custo de execução. Para comparação, a geração aleatória foi considerada. Os resultados indicaram que é promissor usar geração de dados de teste no contexto de programas concorrentes, com resultados interessantes em relação à eficácia e cobertura dos requisitos de teste. / Concurrent programming has been increasingly used in current systems in order to reduce costs and obtain higher processing efficiency and, consequently, it is expected that these systems have high quallity. Therefore, different techniques and testing criteria have been proposed aiming to support the verification and validation of the concurrent applications. In this context, the automated data test generation allows to reduce the testing costs during the generation and selection of data tests. Metaheuristic technique has been widely investigated to support the data test generation because this technique has presented good results to complex and costly problems. In this work, we present an approach to the automated data test generation for message passing concurrent programs in MPI (Message Passing Interface). The generation of data test is performed using the genetic algorithm metaheuristic technique, guiding by structural testing criteria. An experimental study was conducted to evaluate the proposed approach, analyzing the effectiveness and application cost. The results indicate that the genetic algorithm is a promising approach to automated test data generation for concurrent programs, presenting good results in relation to effectiveness and data test coverage.
45

Test orales for systems with complex outputs: the case of TTS systems / Oracles de teste para sistemas com saídas complexas - o caso dos sistemas TTS

Rafael Alves Paes de Oliveira 18 April 2017 (has links)
Software testing is one of the most important Software Engineering processes, being the primary activity to check the conformance between the software requirements and its actual behavior. The automation of software testing activities is essential to certify productivity and effectiveness in such activities. Test automation leads testing activities to be conducted under systematic and accurate criteria, raising the chance of testers to reveal faults or inconsistencies. Test oracles are elementary members in software testing automation, being the mechanism responsible for indicating the correctness of software outputs. In testing environments, test oracles can be effectively implemented based on several sources of information about the Software Under Testing (SUT): software specifications, assertions, formal methods (Finite State Machines (FSM), formal specifications, etc, machine-learning methods, and metamorphic relations. Regardless of the implementation strategy, test oracles are vulnerable to false positive/negative verdicts, configuring what the literature describes as the oracle problem. Therefore, test oracles are a non-trivial and challenging object of studies of the software engineering research area. SUTs outputs in unusual formats make it harder the oracle problem. Audio, images, three-dimensional objects, virtual reality environments, complex statistical compositions, etc, are examples of non-trivial output formats. In the software testing context, SUTs with unusual outputs can be called complex-output systems. In this doctorate dissertation, we propose and evaluate a novel test oracle approach for complex-output systems called feature-based test oracles. The purpose of feature-based test oracles is the appropriation of a processing image technique called Content-Based Image Retrieval (CBIR) to collect information from features extracted from the SUTs outputs to compose test oracles. Given a query image, CBIR combines feature extraction and similarity functions to alleviate the problem of searching for digital images in large databases. In previous research, we have integrated CBIR concepts in a testing framework to support the automation of testing activities in processing image systems and systems with Graphical User Interfaces (GUI). In this doctorate dissertation, we extended that framework and its concepts to general complex-output systems, addressing the feature-based test oracle approach. We use Text-To-Speech (TTS) systems to validate empirically our test oracle technique. Through the results of five empirical analyses, three of them conducted in line with problems of a real-world industry TTS system, show the proposed technique is a valuable instrument to automate testing activities and alleviate practitioners efforts on testing complex output systems. We conclude the proposed test oracles are effective because they systematically evaluate the SUTs sensorial output rather than produce verdicts based on subjective specifications. As future work, we plan to conduct investigations towards the reduction of false positives/negatives and the association of the test oracles with machine learning techniques and metamorphic relations. / Teste de Software é um dos processos mais importantes da Engenharia de Software, sendo a principal atividade para averiguar a conformidade de requisitos de software e suas saídas. A automatização das atividades de teste é essencial para conferir produtividade e efetividade em tais atividades. A automatização faz com que atividades de teste sejam conduzidas sob critérios sistemáticos e precisos, aumentando a chance dos testadores de revelarem falhas ou inconcistências. Oráculos de teste são membros elementares na automatização do teste de software, sendo o mecanismo responsável por indicar a corretude das saídas do softwre. Em ambientes de teste, oráculos de teste podem ser efetivamente implementados com base em diversos fontes de informação sobre o sistema em teste: especificações de software, assertivas, métodos formais (máquinas de estados finitas, especificações formais, etc), métodos de aprendizagem de máquina e relações metamórficas. Independente da estratégia de implementação, oráculos de teste são vulneráveis a veridictos de falsos positivos/negativos, configurando o que é apresentado na literatura como O problema do Oráculo. Então, na área de engenharia de software, oráculos de teste são objetos de estudo não-triviais e desafiadores. O problema de oráculo é potencializado quando as saídas do sistema em teste são dadas em formatos não triviais como, por exemplo, audio, imagens, objetos tridimensionais, ambientes de realidade virtual, composições estatísticas complexas, etc. No contexto do teste de software, sistemas com saídas não triviais podem ser chamados de sistemas com saídas complexas. Esta tese de doutorado propões e avalia uma nova estratégia de oráculo de teste para sistemas com saídas complexas. O propósito de tal estratégia é a apropriação da técnica de processamento de imagem conhecida como CBIR (Recuperação de Imagem Basead em Conteúdo CBIR) para coletar informações de características extratídas do sistema em teste, compondo oráculos de teste. A partir de uma imagem de busca, o CBIR combina extração de características e funções de similaridade para aliviar problemas de busca em grandes based de imagens digitais. Em pesquisas anteriores, conceitos de CBIR foram integrados em um arcabouço de teste para apoiar a automatização de atividades de teste em systemas de processamento de imagens e sistemas com interfaces gráficas. Esta tese de doutorado estende o arcabouço e seus conceitos para sistemas com saídas complexas em geral. Sistemas Texto-Fala (TTS) foram utlizados para validações empíricas. Os resultados de seis análises empíricas, duas delas condizidas em consonância com problemas de um TTS industrial, revelam que a técnica proposta é um valioso instrumento para automatizar atividaes de teste e aliviar esforços de profissionais da indústria ao teste sistemas com saídas complexas. Conclui-se que a efetividade dos oráculos de teste propostos são devido às sistemáticas análises do conteúdo das saídas dos sistemas em teste, em vez da análises de especificações subjetivas. Os trabalhos futuros vislumbrados devem ser conduzidos no intuito de reduzir número de falsos positivos/negativos e a associação dos oráculos de teste com técnicas de aprendizado de máquina e relações metamórficas.
46

RAModelTI: agregando informações de teste de software no Modelo para Arquiteturas de Referência (RAModel) / RAModelTI : towards embodying test information into the Reference Architecture Model (RAModel)

Nilton Mendes de Souza 12 September 2017 (has links)
Arquitetura de software e teste de software são importantes áreas com o objetivo comum de prover meios para que sistemas de software sejam desenvolvidos com alta qualidade. Foi constatado, por meio de um mapeamento sistemático, que existem poucos estudos relacionando essas duas áreas de modo que uma possa contribuir para a outra, principalmente em arquiteturas de referência e teste de software. Esse projeto tem por objetivo estender o modelo para arquiteturas de referência (RAModel), para que arquiteturas de referência sejam estabelecidas com informações de teste de software. Assim, além de promover padronização, uniformização e reúso a informações relacionadas a arquiteturas de software, promove-se também o reúso, a padronização e a uniformização das informações de teste de software no desenvolvimento das soluções para um dado domínio de aplicação. Para isso, elementos de teste relacionados ao planejamento de teste foram extraídos do TMMi e da norma ISO/IEC/IEEE 29119 e inseridos no RAModel, definindo, assim, o RAModelT . Dessa forma, a atividade de teste é incorporada aos estágios iniciais do desenvolvimento de software. Um estudo de viabilidade realizado para avaliar a extensão do RAModelT e um exemplo de aplicação são apresentados. / Software architecture and software testing are important areas with the common goal of providing the means to develop high-quality software systems. It was found through a systematic mapping that there are few studies relating these two areas so that one can contribute to the other, especially in reference architectures and software testing. This project aims at extending the Reference Architecture Model (RAModel), so that reference architectures are established with software test information. Thus, in addition to promoting standardization, standardization, and reuse of information related to software architectures, it is also promoted the reuse, standardization, and standardization of software test information in the development of solutions for a given application domain. For this, test elements related to the test planning were extracted from the TMMi and the ISO/IEC/IEEE 29119 standard and inserted into the RAModel, thus defining the RAModelT . In this way, the test activity is incorporated into the early stages of software development. A feasibility study performed to evaluate the extent of the RAModelT and an application example are presented.
47

Uma estratégia para redução de conjuntos de sequências de teste para máquinas de estados finitos / A strategy for reducing test suites from finite state machines

Jorge Francisco Cutigi 18 June 2010 (has links)
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 realizado / Model-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 performed
48

Ensino e aprendizado de fundamentos de programação: uma abordagem baseada em teste de software / Teaching and learning of programming foundations: an approach based on software testing

Draylson Micael de Souza 13 April 2012 (has links)
O ensino de fundamentos de programação não é uma tarefa trivial muitos estudantes têm dificuldades em compreender os conceitos abstratos de programação e possuem visões erradas sobre a atividade de programação. Uma das iniciativas que tem sido investigada a fim de amenizar os problemas associados refere-se ao ensino conjunto de conceitos básicos de programação e de teste de software. A introdução da atividade de teste pode ajudar o desenvolvimento das habilidades de compreensão e análise nos estudantes. Além disso, aprendendo teste mais cedo os alunos podem se tornar melhores testadores e desenvolvedores. Seguindo esta tendência, em trabalhos anteriores foram investigados alguns mecanismos de apoio ao ensino integrado de fundamentos de programação e teste. Dentre os mecanismos investigados destaca-se a proposição de um ambiente de apoio para submissão e avaliação automática de trabalhos práticos dos alunos, baseado em atividades de teste de software PROGTEST. Em sua primeira versão, a PROGTEST foi integrada à ferramenta JABUTISERVICE, que apoia o teste estrutural de programas escritos em Java. O presente projeto de mestrado visou a dar continuidade aos trabalhos já realizados, tendo como principal objetivo a identificação e integração de diferentes ferramentas de teste ao ambiente PROGTEST, explorando tanto técnicas e critérios de teste diferenciados como linguagens de programação distintas. O ambiente PROGTEST também foi aplicado e validado em diferentes cenários de ensino, considerando diferentes linguagens e técnicas de teste. Em linhas gerais, os resultados evidenciam a viabilidade da aplicação do ambiente em cenários de ensino e aprendizagem / The teaching of programming foundations is not a trivial task - many students have difficulty to understand the abstract concepts of programming and have wrong views about the programming activity. Initiatives have been investigated in order to address the related issues. One of them refers to the integrated teaching of programming foundations and software testing. The introduction of testing can help students to develop programming comprehension and analysis skills. Moreover, teaching testing earlier could become the students better testers and developers. Following this perspective, previous studies have investigated mechanisms to support the integrated teaching of programming foundations and software testing. Among them, we highlight the proposition of a environment for the submission and automatic evaluation of programming assignments, based on testing activities - PROGTEST. In its first version, PROGTEST was integrated with JABUTISERVICE tool, which supports the structural testing of Java programs. This work aims at identifying and integrating different testing tools to the PROGTEST environment, exploring both different testing criteria and different programming languages. The PROGTEST environment was also applied and validated in different teaching scenarios, with different languages and testing techniques. In general, the results show the feasibility of applying the environment in the integrated teaching of programming foundations and software testing
49

Uma abordagem de predição de falhas de software no contexto de desenvolvimento ágil / A fault prediction approach in the contexto of agile development

Ricardo Fontão Verhaeg 24 March 2016 (has links)
A atividade de teste é essencial para a garantia de qualidade do software e deveria ser empregada durante todo o processo de desenvolvimento. Entretanto, o esforço para a sua aplicação e o alto custo envolvido, comprometem sua utilização de maneira adequada. Durante o processo de desenvolvimento ágil, onde o tempo é um fator crítico, otimizar a atividade de testes sem afetar a qualidade é uma tarefa desafiadora. Apesar do crescente interesse em pesquisas sobre testes no contexto de métodos ágeis, poucas evidências são encontradas sobre avaliação do esforço para elaboração, evolução e manutenção dos testes nesse contexto. Este trabalho propõe uma abordagem para predição de defeitos desenvolvida para o contexto do desenvolvimento ágil e, portanto, considerando as características deste processo de desenvolvimento. Essa abordagem pode ser aplicada quando se considera ou não o desenvolvimento dirigido a testes. A abordagem permite priorizar a execução dos testes com base em uma lista de arquivos que apresentam maior probabilidade de apresentarem defeitos. A abordagem proposta foi avaliada por meio de um estudo de caso conduzido em um ambiente real de desenvolvimento. Como resultado obtido, observou-se que a abordagem melhorou a qualidade do projeto desenvolvido, sem aumentar o esforço durante a atividade de teste de software. / The testing activity is essential to ensure the software quality and should be applied during all steps of the developing process. However the required effort to do this and the high cost involved, compromises its proper usage. During the agile development process, in which time is a critical factor, optimizing the testing activity without affecting quality is a challenge. Despite the growing interest in research based agile method testing, few works are found on the evaluation of the effort to prepare, develop and maintain test cases in this context. This paper proposes an approach for fault prediction in the context of agile development and therefore considering the characteristics of this development process. This approach can be applied both when considering test-driven development or not. It allows prioritizing the execution of tests based on a list containing files most likely to fail. The proposed approach was evaluated by a case study conducted in a real development environment. The results indicate that the approach can improve the quality of the projects without increasing the effort during the testing activity.
50

Avaliação do custo e efetividade dos critérios de teste estruturais no contexto de programas concorrentes com memória compartilhada / Evaluation of the cost. effectiveness and strength of structural testing criteria in the concurrent programs context with shared memory

Silvana Morita Melo 11 October 2012 (has links)
O teste de programas concorrentes e uma atividade desaadora, devido a fatores que não estão presentes em programas sequenciais, como comunicação, sincronização e não determinismo. Algumas técnicas de teste têm sido propostas para o contexto de programação concorrente, mas raramente sua aplicabilidade e avaliada por estudos teóricos ou experimentais. Este trabalho contribui nesse sentido, propondo e conduzindo um estudo experimental para avaliar o custo, eficácia e aspecto complementar dos critérios de teste estruturais para programas concorrentes no contexto de memória compartilhada, implementados usando o padrão PThreads (Posix Threads). A ferramenta de teste ValiPThread e usada para auxiliar a condução do experimento. Os programas usados no experimento foram selecionados de benchmarks, como o Inspect, Helgrind e Rungta. Esses benchmarks são comumente usados no estudo de técnicas de teste para programas concorrentes. Programas que resolvem problemas clássicos da programação concorrente também foram incluídos no estudo. Com base nos resultados obtidos foi definida uma estratégia de aplicação, considerando aspectos de custo e eficácia dos critérios de teste. Além disso, todo o material utilizado e gerado durante o experimento foi reunido em um pacote de laboratório, a fim de contribuir com a comunidade de pesquisa, possibilitando replicações e comparações desses critérios com outras técnicas de teste no contexto de programas concorrentes / Concurrent program testing is a challenging activity due to the communication, synchronization and nondeterminism of this application domain. Despite that, some testing techniques for concurrent programs have been proposed, but their applicability is rarely evaluated by theoretical or experimental studies. This work contributes in this direction proposing and conducting an experimental study to evaluate the cost, effectiveness and strength of structural testing criteria for multithreaded programs, implemented using the Pthreads standard (POSIX Threads). The testing tool ValiPThread is used to support the conduction of the experiment. The programs used in this experiment were selected from classical benchmarks, such as Inspect, Helgring and Rungta. These benchmarks are commonly used to study testing techniques for concurrent programs. We also include programs that solve concurrent classical problems. Based on the obtained results, we defined an application testing strategy, considering cost and effectiveness aspects of the testing criteria. Furthermore, all material used and generated during the experiment was incorporated in a lab package, in order to contribute with further research studies making possible replications and comparisons of these testing criteria with other testing techniques in context of concurrent programs

Page generated in 0.0657 seconds