Spelling suggestions: "subject:"5oftware - desting"" "subject:"5oftware - ingesting""
451 |
Génération automatique de test pour les contrôleurs logiques programmables synchrones / Automated test generation for logical programmable synchronous controllersTka, Mouna 02 June 2016 (has links)
Ce travail de thèse, effectué dans la cadre du projet FUI Minalogic Bluesky, porte sur le test fonctionnel automatisé d'une classe particulière de contrôleurs logiques programmables (em4) produite par InnoVista Sensors. Ce sont des systèmes synchrones qui sont programmés au moyen d'un environnement de développement intégré (IDE). Les personnes qui utilisent et programment ces contrôleurs ne sont pas nécessairement des programmeurs experts. Le développement des applications logicielles doit être par conséquent simple et intuitif. Cela devrait également être le cas pour les tests. Même si les applications définies par ces utilisateurs ne sont pas nécessairement très critiques, il est important de les tester d'une manière adéquate et efficace. Un simulateur inclu dans l'IDE permet aux programmeurs de tester leurs programmes d'une façon qui reste à ce jour informelle et interactive en entrant manuellement des données de test. En se basant sur des recherches précédentes dans le domaine du test des programmes synchrones, nous proposons un nouveau langage de spécification de test, appelé SPTL (Synchronous Programs Testing Language) qui rend possible d'exprimer simplement des scénarios de test qui peuvent être exécutées à la volée pour générer automatiquement des séquences d'entrée de test. Il permet aussi de décrire l'environnement où évolue le système pour mettre des conditions sur les entrées afin d'arriver à des données de test réalistes et de limiter celles qui sont inutiles. SPTL facilite cette tâche de test en introduisant des notions comme les profils d'utilisation, les groupes et les catégories. Nous avons conçu et développé un prototype, nommé "Testium", qui traduit un programme SPTL en un ensemble de contraintes exploitées par un solveur Prolog qui choisit aléatoirement les entrées de test. La génération de données de test s'appuie ainsi sur des techniques de programmation logique par contraintes. Pour l'évaluer, nous avons expérimenté cette méthode sur des exemples d'applications EM4 typiques et réels. Bien que SPTL ait été évalué sur em4, son utilisation peut être envisagée pour la validation d'autres types de contrôleurs ou systèmes synchrones. / This thesis work done in the context of the FUI project Minalogic Bluesky, concerns the automated functional testing of a particular class of programmable logic controllers (em4) produced by InnoVista Sensors. These are synchronous systems that are programmed by means of an integrated development environment (IDE). People who use and program these controllers are not necessarily expert programmers. The development of software applications should be as result simple and intuitive. This should also be the case for testing. Although applications defined by these users need not be very critical, it is important to test them adequately and effectively. A simulator included in the IDE allows programmers to test their programs in a way that remains informal and interactive by manually entering test data.Based on previous research in the area of synchronous test programs, we propose a new test specification language, called SPTL (Synchronous Testing Programs Language) which makes possible to simply express test scenarios that can be executed on the fly to automatically generate test input sequences. It also allows describing the environment in which the system evolves to put conditions on inputs to arrive to realistic test data and limit unnecessary ones. SPTL facilitates this testing task by introducing concepts such as user profiles, groups and categories. We have designed and developed a prototype named "Testium", which translates a SPTL program to a set of constraints used by a Prolog solver that randomly selects the test inputs. So, generating test data is based on constraint logic programming techniques.To assess this, we experimented this method on realistic and typical examples of em4 applications. Although SPTL was evaluated on EM4, its use can be envisaged for the validation of other types of synchronous controllers or systems.
|
452 |
Automação da Técnica de Inspeção Guiada para conformidade entre requisitos e diagramas UML. / Guided Inspection Technology Automation for compliance between requirements and UML diagrams.ROCHA, Anne Caroline Oliveira. 16 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-16T14:32:16Z
No. of bitstreams: 1
ANNE CAROLINE OLIVEIRA ROCHA - DISSERTAÇÃO PPGCC 2010..pdf: 10304516 bytes, checksum: cbf8cbf8a7183317a894c05b4019777e (MD5) / Made available in DSpace on 2018-08-16T14:32:16Z (GMT). No. of bitstreams: 1
ANNE CAROLINE OLIVEIRA ROCHA - DISSERTAÇÃO PPGCC 2010..pdf: 10304516 bytes, checksum: cbf8cbf8a7183317a894c05b4019777e (MD5)
Previous issue date: 2010-04-30 / CNPq / Em um processo de desenvolvimento de software, artefatos de uma etapa são utilizados
como fonte para criação de novos artefatos para outras etapas. Então, defeitos podem ser
inseridos durante a transição de uma etapa para outra: artefatos podem ficar inconsistentes, levando à construção de um software com defeitos. Neste contexto, uma técnica de inspeção pode ser utilizada para verificar esses artefatos, que são produzidos desde as primeiras etapas do desenvolvimento. Este trabalho apresenta uma forma de automação da técnica de inspeção guiada. Esta técnica tem o objetivo de verificar a conformidade entre artefatos de diferentes níveis de abstração (por exemplo, uma especificação de requisitos com relação a um diagrama de seqüência). Esta inspeção é realizada através de casos de teste, que representam cada cenário de caso de uso da especificação de requisitos. Como os passos de um caso de teste contêm o comportamento de um sistema, então a inspeção guiada permite encontrar defeitos semânticos para aquele sistema. Além disso, por ser uma técnica automática, é possível detectar também inconsistências entre as sintaxes dos artefatos de software. Para dar suporte à automação, serão utilizados conceitos de MDA (Model DrivenArchitecture) para transformação entre modelos e a ferramenta USE para simulação de modelos. / In a software development process, artifacts from a stage are used as input to create
new artifacts on another. The transition between different artifacts may not be precise;
inconsistencies may occur. These inconsistent artifacts may produce software with defects.
In this context, a software inspection technique is needed to validate these artifacts. This
paper presents a method to automate a guided inspection technique, which evaluates the
conformity between artifacts of distinct abstraction levels. The inspection uses test cases,
that represent each use case scenario of the requirement specification. Since test case
steps have the system behavior, so the guided inspection allows to detect semantic defects. Moreover, how it’s an automated techinique it’s also possible to detect inconsistences about the artefact syntaxes. As support for the automation, we are using MDA (Model Driven Architecture) to perform model-to-model transformations and the USE tool for model simulation.
|
453 |
Uma abordagem para testar implementações de refatoramentos estruturais e comportamentais de programas C. / An approach to testing implementations of structural and behavioral refactorings of C programsMENDES, Gustavo Wagner Diniz. 31 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-31T23:09:48Z
No. of bitstreams: 1
GUSTAVO WAGNER DINIZ MENDES - DISSERTAÇÃO PPGCC 2014..pdf: 7175302 bytes, checksum: c99a663c85f93c308e26cc6d963f5d2e (MD5) / Made available in DSpace on 2018-08-31T23:09:48Z (GMT). No. of bitstreams: 1
GUSTAVO WAGNER DINIZ MENDES - DISSERTAÇÃO PPGCC 2014..pdf: 7175302 bytes, checksum: c99a663c85f93c308e26cc6d963f5d2e (MD5)
Previous issue date: 2014-03-13 / Refatorar um programa é o ato de mudar sua estrutura visando melhorar algum aspecto
arquitetural, sem que se mude seu comportamento observável. Desenvolvedores utilizam
ferramentas como Eclipse e NetBeans para auxiliá-los no refatoramento de seus programas. Essas ferramentas implementam um conjunto de condições para garantir que as transformações realizadas não mudem o comportamento observável do programa. Porém, não é trivial identificar todas as condições necessárias para que um refatoramento seja correto devido à complexidade da semântica das linguagens e por não haver uma definição formal das linguagens e consequentemente dos refatoramentos. Os desenvolvedores de ferramentas de refatoramento costumam, por não haver uma definição formal, implementar os refatoramentos de acordo com seus conhecimentos da linguagem de programação. Na prática, desenvolvedores utilizam coleções de testes para avaliar a corretude de suas implementações. Entretanto, não existem evidências que os desenvolvedores utilizem um processo sistemático na definição dessas coleções. Neste trabalho, propomos uma técnica para testar implementações de refatoramentos de programas C. Ela consiste em cinco fases. Primeiramente, geramos automaticamente
diversos programas C para serem refatorados a partir do CDOLLY, que foi
proposto baseado em uma especificação em Alloy. Depois, geramos automaticamente uma coleção de testes de unidade dos programas via o CATESTER. Em seguida, aplicamos o refatoramento através do CREXECUTOR nos programas gerados utilizando a ferramenta a ser testada. Após isso, executamos a coleção de testes nos programas refatorados e, por fim, classificamos os erros de compilação e mudanças comportamentais identificados em bugs. Avaliamos a nossa técnica na implementação de oito refatoramentos do Eclipse CDT. Estes refatoramentos não só modificam a estrutura do programa, como também o corpo das funções, como o refatoramento Extract Function. Detectamos 41 bugs, que introduzem erros de compilação no programa resultante, e seis bugs relacionados a mudanças comportamentais. Replicamos manualmente os bugs encontrados em implementações de refatoramentos do NetBeans CND, Xrefactory e OpenRefactory e detectamos 29 bugs nessas ferramentas. / Refactoring a program is the act of changing its structure in order to improve any architectural aspect, without changing its observable behavior. Developers use tools like Eclipse and NetBeans to help refactoring their programs. These tools implement a set of conditions to ensure that the transformations performed do not change the observable behavior of the program. However, it is not easy to identify ali the necessary conditions for a refactoring to be correct due to the semantic complexity of the languages, mainly because the languages are not formally proved and neither the refactorings. In practice, developers often use collections of tests to assess the correctness of their implementations. However, there is no evidence of having systematic process in the definition of this collection. In this work, we propose a technique to test refactoring implementations of C programs. It consists of five phases. First, we generate automatically several C programs to be refactored from CDOLLY, which has been proposed based on a specification in Alloy. Then, we generate automatically a collection of unit tests of the programs via CATESTER. We then apply the refactoring through CREXECUTOR on the generated programs using the tool to be tested. After this, we execute the test collection in the refactored programs and finally we classify the compilation errors and behavioral changes in bugs. We evaluated our technique in the implementation of eight refactorings of Eclipse CDT. These refactorings not only modify the program structure, but also the body functions, such as the refactoring Extract Function. We detected 41 bugs, which introduce compilation errors in the resulting program, and six bugs related to behavioral changes. We analyzed manually these bugs in refactoring implementations of NetBeans, Xrefactory and OpenRefactory and identified 29 bugs in these tools.
|
454 |
Geração de objetivos de teste de sistemas reativos baseada na Técnica de Verificação de Modelos CTL. / Generation of test objectives of reactive systems based on CTL Verification Technique.SILVA, Daniel Aguiar da. 23 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-23T13:23:08Z
No. of bitstreams: 1
DANIEL AGUIAR DA SILVA - DISS PPGCC 2006..pdf: 730843 bytes, checksum: e5d7ebe87ab82d200f68fb0b5b0df784 (MD5) / Made available in DSpace on 2018-08-23T13:23:08Z (GMT). No. of bitstreams: 1
DANIEL AGUIAR DA SILVA - DISS PPGCC 2006..pdf: 730843 bytes, checksum: e5d7ebe87ab82d200f68fb0b5b0df784 (MD5)
Previous issue date: 2006-05-26 / Técnicas e ferramentas de testes formais baseados em modelos têm sido desenvolvidas
para tornar mais rigoroso e eficiente o processo de teste de sistemas reativos com características de distribuição e concorrência. O não-determinismo inerente a estes sistemas torna os difíceis de serem testados, devido à alta complexidade de obtenção das configurações necessárias para execução dos casos de teste. As propriedades especificadas para estes sistemas são a base para a geração dos casos de teste de conformidade, que devem avaliar a correspondência entre modelo e código. Estas propriedades, denominadas objetivos de teste, devem ser especificadas de maneira a guiar a geração dos casos de teste. Entretanto, a especificação dos objetivos de teste a partir de modelos complexos como os destes sistemas ainda carece de técnicas e ferramentas apropriadas, tornando esta atividade propensa a erros. Os casos de teste podem assim, ter efetividade afetada em caso de erros na especificação dos
objetivosdeteste. Comoobjetivodecontribuirparaasoluçãodesteproblema,estetrabalho
apresenta técnica de geração de objetivos de teste para sistemas reativos, baseando-se na técnica de verificação de modelos CTL. A técnica proposta visa usufruir da eficiência dos algoritmos da verificação de modelos, por meio de sua adaptação para a análise destes, para a geração dos objetivos de teste. / Techniques and tools for model based testing have been developed to make the process
of testing distributed concurrent reactive systems more efficient and rigorous. The inherent
nondeterminism of these systems can make it difficult to test them due to the complex process of obtaining test cases configurations from models. To better guide the testing process, properties specified to these systems are used as basis for the test case generation. Such properties, called test purposes, shall be exhibitedby the implementation under test through test case execution. However, specifying test purposes from the common complex and large models of these systems suffers from the lack of appropriated tools and techniques, making it error-prone and inadequate. Thus, test cases based on such test purposes may be affected, getting no desirable soundness. Aiming at solving this problem, we present a technique for test purpose generation for reactive systems based on the CTL model checking technique. We aim at taking benefit from the efficiency of model checking algorithms to better analyze the models to generate the test purposes.
|
455 |
Testes de sistemas de informações geográficas com lógica nebulosa. / Tests of geographic information systems with fuzzy logic.Claudio Nobre Rapello 15 May 2009 (has links)
Os testes são uma atividade crucial no desenvolvimento de sistemas, pois uma boa
execução dos testes podem expor anomalias do software e estas podem ser corrigidas
ainda no processo de desenvolvimento, reduzindo custos. Esta dissertação apresenta
uma ferramenta de testes chamada SIT (Sistema de Testes) que auxiliará no teste de
Sistemas de Informações Geográficas (SIG). Os SIG são caracterizados pelo uso de
informações espaciais georreferenciadas, que podem gerar um grande número de casos
de teste complexos. As técnicas tradicionais de teste são divididas em funcionais e
estruturais. Neste trabalho, o SIT abordará os testes funcionais, focado em algumas
técnicas clássicas como o particionamento de equivalência e análise do Valor Limite.
O SIT também propõe o uso de Lógica Nebulosa como uma ferramenta que irá sugerir
um conjunto mínimo de testes a executar nos SIG, ilustrando os benefícios da
ferramenta. / Testing is a very important activity that is crucial in the development of information
systems because most of the software costs could be avoided if better testing was
performed. This dissertation describes a tool for a Testing System named SIT (System
of Testing) to support the testing performance of Geographic Information Systems
(GIS). GIS have the characteristics of spatial referenced persistent data that can generate
a great and complex number of test cases. The traditional approaches for designing test
cases can be divided into black box (functional) testing and white box testing. At first
SIT will treat only the functionality testing method focused on the classic techniques of
Equivalence Partitioning and Boundary Value Analysis (BVA). SIT also proposes the
use of fuzzy logic as a tool to suggest the minimal test case to be used in those GIS to
illustrate the benefits of the fuzzy logics module of this tool.
|
456 |
Organização das operações de testes independentes de software: proposta de um modelo conceitual. / Independent software testing operations organization: proposal of a conceptual model.Antonio Carlos Tonini 12 December 2012 (has links)
A dependência tecnológica da sociedade atual e a flexibilidade necessária para constantes mudanças exigem produtos de software corretos e disponíveis para uso. Os testes são atividades intrínsecas à produção de software e ultimamente vêm ganhando importância como um negócio empresarial próprio, independente do desenvolvimento e com perspectivas de crescimento. Essa atividade é substancialmente prestação de serviço, uma vez que entrega qualidade a respeito de um produto de software e cuja avaliação só pode ser feita de acordo com parâmetros de julgamento do cliente, além de considerar a presença e ingerência do cliente em boa parte do processo de teste. O Brasil é reconhecidamente um dos mais importantes centros de excelência em testes de software e tem se distinguido também na execução de forma independente, o que tem provocado rearranjo de papéis, responsabilidades e forças na atuação da cadeia de valor do software. Este trabalho procura responder como se organizam as operações das empresas de testes independentes de software (ETIS) de forma a torná-las singulares e específicas. Grande parte das pesquisas nesse tema têm se concentrado em questões técnicas de como modelar bons testes de software, registrando-se pouca reflexão sobre temas organizacionais nessa área. Para tanto, foi elaborado um modelo conceitual de organização das operações, capaz de revelar a singularidade da atividade empresarial. O modelo foi submetido a avaliação por meio de um estudo de casos múltiplos, envolvendo seis ETIS e também organizações brasileiras clientes e desenvolvedoras de software. A pesquisa revelou importantes práticas empresariais das ETIS. Destacam-se os seguintes pontos: perfil empresarial empreendedor e inovador, preocupação na entrega de serviço contendo o maior quantidade possível de não-conformidades, constituição de um portfólio diversificado e substantivo de projetos de teste, integração de sistemas produtivos tipo fábrica e personalizado e uso cada vez maior de automação nos processos. A experiência daqueles que vêm utilizando os serviços das ETIS tem comprovado um aumento efetivo no nível de qualidade do software e o mercado, por sua vez, tem refinado os critérios de seleção das ETIS, exigindo-lhes alta maturidade. / Technology dependence of modern society and the flexibility to accommodate constant changes require correct and ready software products. Testing activities are intrinsic to the software production, which lately have been gaining importance as an independent business and broad prospects for growth. This activity is substantially service because it deliveries software product quality which evaluation can only be made according to client\'s trial parameters, besides considering their presence and interference in much of the testing process. Brazil is recognized as an excellence center leading in software testing issues and has also distinguished itself in independent performance, which has caused rearrangement of roles, responsibilities, actions and powers in the software value chain relationships. This paper attempts to answer how to organize the independent software testing enterprises (ETIS) business operations, in order to make this business model unique and specific. Software testing research has focused more on technical issues, especially about how to model and specify good software testing and less about organizational issues. This research aims a conceptual model of organizational operations, able to reveal the uniqueness of business activity. The proposal was subjected to evaluation using a multiple case study involving six ETIS and also other Brazilian organizations as customers and software developers. The research revealed important business practices of ETIS, which have ensured the success of the enterprise and business profitability. It was highlight the following points: entrepreneurial and innovative business profile, high concern in service delivery as software product quality, establishment of a portfolio of diverse and substantive testing projects, factory and custom productive systems integration and increasing use of automation in testing processes. The experience of those who have used ETIS services has proven an effective increase in the level of software quality and software value chain has refined the ETIS selection criteria, requiring them high level of maturity.
|
457 |
PW-PlanTe: uma estratégia para melhoria de processo baseada em atividades de planejamento e testeSande, Deysiane Matos 23 August 2010 (has links)
Made available in DSpace on 2016-06-02T19:06:01Z (GMT). No. of bitstreams: 1
4760.pdf: 3586905 bytes, checksum: 50a6d8eb47edc80b5466b667cc1b31f4 (MD5)
Previous issue date: 2010-08-23 / Universidade Federal de Sao Carlos / Background: The process quality model implantation on small enterprises requires an adjustment for this type of enterprise and the difficulty to reach this objective is harder due to the restrict amount of different type of resources. To support the process improvement in this context, concerning the software planning activity, the strategy PCU|PSP was defined. It is based on Use Case Points and Personal Software Process. Aim: The objective of this monograph is to present the PWPlanTe strategy, which is an evolution of the PCU|PSP strategy. PW-PlanTe generalizes the techniques used in the planning, applies well defined iterations aiming to be in conformance with the agile paradigm development, and defines a testing process. In addition, PW-PlanTe is supported by a set of free tools that facilitate its implantation. Methodology: Considering that PCU|PSP is naturally adherent to the agile methods, it was studied and generalized in relation to the planning issues aiming to make it even closer to the Scrum framework. After that, the testing process for small enterprises was defined and the free tools were identified aiming to establish a support for the strategy steps application. Results: PW-PlanTe was applied in three systems that were under development by the small enterprises which participated of this research. In two of the four systems where the planning activity support was explored, the results showed that the strategy facilitates the determination of the work to be done in each iteration. In three of the four systems where the testing activity support was explored, various defects were found by the application of the strategy and were not found without its application. Conclusion: Based on these results, evidences can be identified on the contribution of the strategy for the implantation of the software development process improvement in small enterprises, both for the planning activity as well as for the testing activity. Additional studies should be done aiming to make these results more evident. / Contexto: A implantação de modelos de qualidade de processo em empresas de pequeno porte requer uma adequação para esse tipo de empresa e enfrenta uma maior dificuldade devido às restrições dos diversos tipos de recursos. Para dar suporte à melhoria de processo nesse contexto, no que diz respeito à atividade de planejamento de software, foi definida a estratégia PCU|PSP, que está fundamentada na técnica Pontos de Casos de Uso e no Personal Software Process. Objetivo: O Objetivo deste trabalho é apresentar a estratégia PW-PlanTe, que é uma evolução da estratégia PCU|PSP. A PW-PlanTe generaliza as técnicas a serem adotadas no planejamento, utiliza iterações bem definidas de modo a atender o paradigma de desenvolvimento ágil, e define um processo de teste. Além disso, a PW-PlanTe é apoiada por um conjunto de ferramentas livres que facilitam sua implantação. Metodologia: Dada a aderência da PCU|PSP aos métodos ágeis, essa estratégia foi estudada e generalizada no que diz respeito à parte de planejamento, para se aproximar ainda mais do framework Scrum. Após isso, foi definido o processo de teste para o contexto de uma empresa de pequeno porte e foram identificadas ferramentas livres para dar suporte a todos os passos da estratégia. Resultados: A PW-PlanTe foi aplicada em três sistemas que estavam em desenvolvimento nas empresas de pequeno porte participantes do trabalho. Em dois sistemas, nos quais foi explorado o suporte à atividade de planejamento, os resultados mostraram que a estratégia facilita a determinação de trabalho a ser realizado em cada iteração. Em dois sistemas, nos quais foi explorado o suporte à atividade de teste, vários defeitos foram encontrados com o uso da estratégia e não foram revelados sem a sua aplicação. Conclusões: Com base nos resultados, existem evidências da contribuição da estratégia para a implantação da melhoria de processo de desenvolvimento de software em empresas de pequeno porte, tanto no que diz respeito à atividade de planejamento, como de teste.
|
458 |
Elaboração de um processo de teste com base em um estudo de caso realCamargo, Kamilla Gomes 10 December 2012 (has links)
Made available in DSpace on 2016-06-02T19:06:02Z (GMT). No. of bitstreams: 1
4892.pdf: 2883181 bytes, checksum: 6b4b510decd1413c928602b92eed6f11 (MD5)
Previous issue date: 2012-12-10 / Financiadora de Estudos e Projetos / Small companies face barriers to either implement or enhance their software testing processes due to the lack of experts in testing, the lack of resources and difficulties to adapt testing-related maturity models to a particular context. The goal of this research is devising a strategy that can be applied by software companies to the definition of testing processes, or even to the enhancement of the current company s process. The strategy for the definition of testing processes has been built upon the results of a case study of a small software development company. In such case study, we have characterized the company s current testing process and, based on it, we have devised a new process that relies both on the TMMi reference model and on the results of a survey that has gathered the opinion of professionals in software testing. The three main contributions of this research are: (i) a reduced test process model as a result of the mentioned survey; (ii) a newly devised testing process for the case company; and (iii) a strategy for the definition of testing processes devised from the case study, which is based on the TMMi reference model and on the opinion of software testing professionals. The sequence of steps performed in the case study enabled us to establish a testing process that takes into consideration the TMMi model and other company s particularities, thus resulting in a process whose focus is on quality. Performing such steps enables the company to evaluate and enhance its testing process whenever required. / Pequenas empresas encontram algumas barreiras para implementar ou melhorar seus processos de teste devido à falta de profissionais especializados em teste, falta de recursos e também devido à dificuldade em adaptar modelos de maturidade em teste para o contexto específico da empresa. O objetivo deste trabalho é apresentar uma estratégia para que as empresas possam definir um processo de teste, ou melhorar o processo de teste existente. A estratégia para elaboração de um processo de teste para pequenas empresas foi extraída a partir da realização de um estudo prático em uma pequena empresa desenvolvedora de software. Nesse estudo estabeleceu-se como base o processo de teste existente na empresa e definiu-se um novo processo de teste, tendo como referência o TMMi e um survey, que coletou a opinião de profissionais que atuam na área de teste. Os três resultados obtidos neste trabalho são: (i) O modelo de um processo reduzido, resultante do survey; (ii) um novo processo de teste que foi proposto para a empresa; e (iii) uma estratégia para elaboração de processo de teste extraída de um estudo prático, com base no TMMi e na opinião de profissionais de teste. A sequência de passos que foi realizada no estudo prático permitiu chegar a uma proposta de processo de teste que leva em consideração o TMMi, sendo portanto, uma proposta de processo com foco em qualidade. A generalização dos passos executados resultam em uma estratégia que pode ser aplicada por empresas para avaliar e melhorar seu processo de teste sempre que necessário.
|
459 |
Investigação de operadores essenciais de mutação para programas orientados a aspectosLacerda, Jésus Thiago Sousa 20 October 2014 (has links)
Made available in DSpace on 2016-06-02T19:06:18Z (GMT). No. of bitstreams: 1
6398.pdf: 1432485 bytes, checksum: dbb2a36cf46b2e3c828fe5dd53dc5d1a (MD5)
Previous issue date: 2014-10-20 / Financiadora de Estudos e Projetos / Context: The literature on software testing reports on the application of the Mutation Analysis criterion or mutation testing as a promising approach for revealing faults in aspect-oriented (AO) programs. However, it is widely known that this criterion is highly costly due to the large number of generated mutants and the effort required to identify equivalent mutants. We highlight that little existing research on mutation testing for AO programs focuses on cost reduction strategies. Objective: this work aims at investigating the cost reduction of mutation testing for AO programs. In particular, we intend to reduce the cost of mutation testing by identifying a reduced set of mutation operators that are capable of keeping the effectiveness in guaranteeing the quality of the designed test sets. Method: to achieve the goals, we applied an approach called Sufficient Procedure. Such approach yields sufficient (sets of) mutation operators. Test sets that are adequate with respect to mutants produced by sufficient operators are able to reveal the majority of faults simulated by a whole set of mutants. Results: by applying the Sufficient Procedure, we obtained substantial cost reductions for three groups of AO programs. The cost reduction in the experiments range from 52% to 62%. The final mutation scores yielded by the test sets that are adequate to mutants produced by the sufficient operators range from 92% to 94%. Conclusion: with the achieved results, we conclude that it is possible to reduce the cost of mutation testing applied to AO programs without significant losses with respect to the capacity of revealing prespecified fault types. The Sufficient Procedure has shown to be able to support cost reduction and to maintain the effectiveness of the criterion. / Contexto: A literatura de teste de software relata a aplicação do critério Análise de Mutantes ou teste de mutação em programas orientados a aspectos (OA) como uma forma promissora para revelar defeitos. Entretanto, esse critério é reconhecidamente de alto custo devido ao grande número de mutantes usualmente gerados e ao esforço para detectar os mutantes equivalentes. Ressalta-se que as iniciativas de aplicação de teste de mutação nesse contexto apresentam pouco enfoque em estratégias de redução de custo. Objetivo: este trabalho tem como objetivo investigar a redução de custo de teste de mutação para programas OA. Em específico, este trabalho objetiva reduzir o custo do teste de mutação por meio da identificação de um conjunto reduzido de operadores de mutação que mantenham a efetividade do critério em garantir a qualidade dos conjuntos de teste produzidos. Metodologia: para atingir o objetivo proposto, aplicou-se uma abordagem intitulada Procedimento Essencial, a qual resulta em conjuntos de operadores essenciais de mutação. Os testes adequados para os mutantes produzidos com esses operadores são capazes de revelar a maioria dos defeitos simulados em um conjunto completo de mutantes. Resultados: por meio da aplicação do Procedimento Essencial, foi possível obter reduções de custo substanciais para três conjuntos de programas OA. As reduções obtidas nos experimentos variam de 52% a 62%. Os escores de mutação finais alcançados pelos testes adequados aos mutantes produzidos com os operadores essenciais variam de 92% a 94%. Conclusão: com os resultados alcançados neste trabalho pode-se afirmar que é possível reduzir o custo do teste de mutação em programas OA sem perdas significativas na capacidade de revelar tipos de defeitos pré-definidos. O Procedimento Essencial mostrou-se eficaz na redução de custo e na manutenção da efetividade do critério.
|
460 |
Avaliação de conjuntos de testes funcionais no contexto de programas orientados a objetos e programas orientados a aspectosLevin, Thiago Gaspar 08 January 2015 (has links)
Made available in DSpace on 2016-06-02T19:06:21Z (GMT). No. of bitstreams: 1
6590.pdf: 1739821 bytes, checksum: 376967fb01c5f5d38d60ce523ffa6021 (MD5)
Previous issue date: 2015-01-08 / Universidade Federal de Sao Carlos / Context: Software testing play an important role to reveal faults and increase the quality of developed products. Structural-based testing has shown to be important in the evaluation of both the quality of the software and the quality of the test set itself. Objective: This work reports on the results of an experimental study that aimed to evaluate the quality of test sets which were originally built for a given programming paradigm, when such test sets are adapted and applied to a different paradigm. Besides this, this we also measure the effort to migrate test sets from one paradigm to another. In this work, we considered the object-oriented (OO) and aspect-oriented (AO) paradigms. Method: We evaluated the quality of test sets by analysing the code coverage yielded by test sets within both paradigms; to evaluate the effort required to adapt test sets across paradigms, we performed comparisons of code-related metrics applied to test code. In total, we analysed 12 small-sized applications and one medium-sized application. Results: The achieved coverage for distinct groups of applications did not show expressive differences across the paradigms, particularly for small-sized applications. Only for the medium-sized system tests yielded higher code coverage in the OO implementation. In respect with the test set adaptation effort, migrating OO tests to the AO paradigm required more code additions, whilst migrating AO tests to the OO implementations required more code changes and removals. Conclusion: With the achieved results, we cannot state that there is a difference in the quality of the test sets, in terms of structural coverage, when both paradigms are taken into account. Only for a single application the coverage difference was evident. In regard to the process of migrating tests from one paradigms to another, OO tests have shown to be more concise (in terms of lines of code) and more reusable than OA tests. / Contexto: O teste de software é uma atividade importante para revelar defeitos e aumentar a qualidade nos produtos desenvolvidos. Testes estruturais tem se mostrados bastante importantes para a avaliação da qualidade do software ou mesmo do conjunto de testes utilizado para testá-lo. Objetivo: Este trabalho apresenta um estudo experimental para avaliar a qualidade de conjuntos de testes criados para um paradigma em específico, quando adaptado e aplicado em outro paradigma, avaliando também o esforço para adaptar conjuntos de testes quando ocorre a migração de um paradigma para outro. Os paradigmas considerados são o paradigma orientado a objetos (OO) e o paradigma orientado a aspectos (OA). Metodo: Para a avaliação da qualidade dos conjuntos de testes adaptados foi analisada a cobertura de código atingida em ambos os paradigmas; para a avaliação do esforço na adaptação dos conjuntos de testes, métricas de código foram comparadas em relação a implementações dos testes em cada paradigma considerado. No total, 12 aplicações de pequeno porte e uma aplicação de médio porte foram avaliadas. Resultados: A cobertura de código atingida para diferentes grupos de aplicações não resultou em diferenças expressivas entre os paradigmas, em particular para as aplicações de pequeno porte. Somente no sistema de médio porte o codigo da implementação OO foi mais coberto do que na implementação OA. Em relação ao esforço na adaptação dos conjuntos de testes, os testes OO migrados para as implementações OA necessitaram de mais incrementos de código, enquanto os conjuntos de testes OA migrados para o paradigma OO necessitaram de mais decrementos e modificações. Conclusão: Com os resultados alcançados não e possível afirmar que um conjunto de testes adaptado de um determinado paradigma possui maior qualidade em relação a outro paradigma, com exceção de uma aplicação, em que o conjunto de testes OO se apresentou com qualidade superior ao conjunto de testes OA. Em relação a migração de conjuntos de testes entre paradigmas, os testes OO apresentaram-se mais enxutos (em termos de linhas de código) e mais reutilizaveis do que os testes OA.
|
Page generated in 0.0614 seconds