41 |
Uma investigação sobre o uso de critérios de teste no desenvolvimento baseado em testes para o ensino de programação / An investigation on using testing criteria in test-driven development for programming educationCamara, Bruno Henrique Pachulski 01 July 2016 (has links)
Contexto: Estudantes de cursos da área de Ciência da Computação que estão iniciando em programação normalmente têm dificuldade de assimilar os conteúdos básicos. Alguns pesquisadores propõem a utilização do desenvolvimento baseado em testes (TDD) a fim de melhorar o ensino, mas sem o foco na qualidade do conjunto de casos de teste. Objetivo: Este trabalho tem o objetivo de propor uma estratégia baseada no desenvolvimento baseado por testes em conjunto com técnicas de teste de software, guiando o aluno a desempenhar suas atividades de programação com mais qualidade e, desta forma, obter melhores resultados acadêmicos. Método: Baseado em um mapeamento sistemático da literatura e na revisão de estudos que aplicam desenvolvimento baseado em testes (TDD) em âmbito educacional, foi definida uma estratégia para integrar critérios de teste ao TDD. Para avaliar os resultados, foram definidas medidas e instrumentos para a coleta de resultados. Foi executado um experimento científico com o público alvo para a obtenção das informações com a finalidade de avaliar a hipótese definida. Resultados: Foi definida uma estratégia de utilização de técnicas de teste de software em conjunto com o TDD para alunos que estão iniciando em programação em cursos de Computação. A estratégia consiste na melhoria do conjunto de casos de teste durante a refatoração no TDD, considerando critérios estruturais baseado em fluxo de controle. Além disso, foram elaboradas ferramentas para a coleta de dados durante o desenvolvimento de programas e para análise dos dados. A estratégia permitiu a melhora do programa e dos casos de teste e foi avaliada pelos estudantes como um guia no desenvolvimento dos casos de teste e como um atalho para descoberta de defeitos. Conclusões: Com a utilização da estratégia proposta, foi possível observar melhorias no conjunto de casos de teste e no software final. A estratégia definida pode ser replicada em outros contextos e com o emprego de outras técnicas e critérios de teste de software para a avaliação da hipótese definida e generalização dos resultados. / Background: Students of Computer Science courses usually have difficulty assimilating the basic contents of introductory programming disciplines. Some researchers propose the use of Test-Driven Development (TDD) to improve teaching, but with no focus in the test set quality. Objective: The goal of this study is to define a strategy for test-driven development using software testing criteria, guiding students to improve the quality of their programming activities, and, consequently, academic results. Method: Initially, we performed a systematic mapping study on TDD in the Computing education context, and a literature review about the usage of test criteria with TDD. Considering the evidences collected, we defined a strategy to integrate the usage of test criteria into TDD. In order to evaluate this strategy, we defined measurements and instruments for data collection. An experimental study was conducted with students to evaluate the strategy and the objective satisfaction. Results: We defined a strategy to use software testing criteria with TDD for students that are learning how to program in Computing courses. The strategy consists into improving the test set while refactoring the code at TDD, considering control-flow-based structural testing criteria. Morever, we developed a set of tools to gather and analyze data produced by the students while using the strategy in the experimental study. The strategy lead to higher quality programs and test sets, and it was considered useful by the students, providing a guide for the creation of test cases, and helping them to discover errors. Conclusions: It was possible to observe improvements into the quality of programs and of test sets. The strategy can be replicated, considering different contexts and evaluting more testing criteria, fostering further evaluation of the objective and generalization of the results.
|
42 |
Teste baseado em defeitos para ambientes de data warehouseOliveira, Itelvina Silva de 13 August 2015 (has links)
As organizações necessitam gerenciar informações para obter a melhoria contínua dos seus processos de negócios e agregar conhecimento que ofereça suporte ao processo decisório. Estas informações, muitas vezes, são disponibilizadas por ambientes de Data Warehouse (DW), nos quais os dados são manipulados e transformados. A qualidade dos dados nesses ambientes é essencial para a correta tomada de decisão, tornando-se imprescindível a aplicação de testes. O objetivo deste trabalho é elaborar e validar a aplicação de uma abordagem de teste para DW com o emprego de critérios da técnica de teste baseado em defeitos. A aplicação da abordagem possibilitou testar três fases de desenvolvimento do DW, nas quais estão as Fontes de Dados, processo ETL (Extraction, Transformation and Load) e dados do DW. O critério de teste Análise de Mutantes foi aplicado ao processo ETL por meio de operadores de mutação SQL e a Análise de Instâncias de Dados Alternativas foi aplicada nas fontes de dados e nos dados do DW por meio de classes de defeito nos dados. Essas classes foram geradas por meio da análise e associação dos problemas de qualidade de dados nas fases de desenvolvimento do DW. Os resultados obtidos em estudos de caso permitiram a validação da aplicabilidade e eficácia da técnica de teste baseado em defeitos para ambientes de DW, possibilitando assim revelar quais defeitos podem ocorrer na geração do DW que poderiam prejudicar a qualidade dos dados armazenados nesses ambientes. / Organizations need to manage information for a continuous improvement of its business processes and aggregate knowledge that help in the decision-making process. This information often is provided by Data Warehouse environments (DW), in which data are handled and processed. The quality of data in these environments is essential to make correct decisions, becoming it necessary the application of tests. The objective of this work is to develop and validate the implementation of a testing approach for DW using criteria of Fault-based Testing techniques. The application of the approach enabled tests in three phases of development of the DW, which are the data sources, ETL and DW data. The test criteria Mutation Analysis was applied to the ETL process (Extraction, Transformation and Load) through SQL mutation operators and the Alternative Data Instances Analysis was applied to the data sources and DW data through fault classes on the data. These classes were generated by analyzing and associating of data quality problems in the DW development stages. The results obtained through the case studies allowed assessment of the applicability and effectiveness of testing technique fault for DW environments, thus enabling to reveal faults, which may occur in the generation of DW that could harm the quality of the data stored in these environments.
|
43 |
Uma investigação sobre o uso de critérios de teste no desenvolvimento baseado em testes para o ensino de programação / An investigation on using testing criteria in test-driven development for programming educationCamara, Bruno Henrique Pachulski 01 July 2016 (has links)
Contexto: Estudantes de cursos da área de Ciência da Computação que estão iniciando em programação normalmente têm dificuldade de assimilar os conteúdos básicos. Alguns pesquisadores propõem a utilização do desenvolvimento baseado em testes (TDD) a fim de melhorar o ensino, mas sem o foco na qualidade do conjunto de casos de teste. Objetivo: Este trabalho tem o objetivo de propor uma estratégia baseada no desenvolvimento baseado por testes em conjunto com técnicas de teste de software, guiando o aluno a desempenhar suas atividades de programação com mais qualidade e, desta forma, obter melhores resultados acadêmicos. Método: Baseado em um mapeamento sistemático da literatura e na revisão de estudos que aplicam desenvolvimento baseado em testes (TDD) em âmbito educacional, foi definida uma estratégia para integrar critérios de teste ao TDD. Para avaliar os resultados, foram definidas medidas e instrumentos para a coleta de resultados. Foi executado um experimento científico com o público alvo para a obtenção das informações com a finalidade de avaliar a hipótese definida. Resultados: Foi definida uma estratégia de utilização de técnicas de teste de software em conjunto com o TDD para alunos que estão iniciando em programação em cursos de Computação. A estratégia consiste na melhoria do conjunto de casos de teste durante a refatoração no TDD, considerando critérios estruturais baseado em fluxo de controle. Além disso, foram elaboradas ferramentas para a coleta de dados durante o desenvolvimento de programas e para análise dos dados. A estratégia permitiu a melhora do programa e dos casos de teste e foi avaliada pelos estudantes como um guia no desenvolvimento dos casos de teste e como um atalho para descoberta de defeitos. Conclusões: Com a utilização da estratégia proposta, foi possível observar melhorias no conjunto de casos de teste e no software final. A estratégia definida pode ser replicada em outros contextos e com o emprego de outras técnicas e critérios de teste de software para a avaliação da hipótese definida e generalização dos resultados. / Background: Students of Computer Science courses usually have difficulty assimilating the basic contents of introductory programming disciplines. Some researchers propose the use of Test-Driven Development (TDD) to improve teaching, but with no focus in the test set quality. Objective: The goal of this study is to define a strategy for test-driven development using software testing criteria, guiding students to improve the quality of their programming activities, and, consequently, academic results. Method: Initially, we performed a systematic mapping study on TDD in the Computing education context, and a literature review about the usage of test criteria with TDD. Considering the evidences collected, we defined a strategy to integrate the usage of test criteria into TDD. In order to evaluate this strategy, we defined measurements and instruments for data collection. An experimental study was conducted with students to evaluate the strategy and the objective satisfaction. Results: We defined a strategy to use software testing criteria with TDD for students that are learning how to program in Computing courses. The strategy consists into improving the test set while refactoring the code at TDD, considering control-flow-based structural testing criteria. Morever, we developed a set of tools to gather and analyze data produced by the students while using the strategy in the experimental study. The strategy lead to higher quality programs and test sets, and it was considered useful by the students, providing a guide for the creation of test cases, and helping them to discover errors. Conclusions: It was possible to observe improvements into the quality of programs and of test sets. The strategy can be replicated, considering different contexts and evaluting more testing criteria, fostering further evaluation of the objective and generalization of the results.
|
44 |
Uma abordagem evolutiva para a geração automatica de dados de teste / An evolutionary approach for automatic test data generationAbreu, Bruno Teixeira de 25 August 2006 (has links)
Orientadores: Eliane Martins, Fabiano Luis de Sousa / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-08T18:05:18Z (GMT). No. of bitstreams: 1
Abreu_BrunoTeixeirade_M.pdf: 1214826 bytes, checksum: 85afe48e3c8196abe877dc2ea2efa102 (MD5)
Previous issue date: 2006 / Resumo: O teste é uma atividade importante do processo de desenvolvimento de software, e automatizar a geração de dados de teste contribui para a redução dos esforços de tempo e recursos. Recentemente foi mostrado que os algoritmos evolutivos, tal como os Algoritmos Genéticos (AGs), são ferramentas valiosas para a geração de dados. Este trabalho avalia pela primeira vez o desempenho de um algoritmo evolutivo proposto recentemente, a Otimização Extrema Generalizada (em inglês, Generalized Extremal Optimization, GEO), na geração de dados de teste para cobrir um subconjunto de caminhos de um programa, com ou sem loops. Sete programas muito conhecidos e utilizados como benchmarks por outros autores foram escolhidos como estudos de caso, e o desempenho do GEO foi comparado com o de um AG e o Random-Test (RT). Uma aplicação real do Instituto Nacional de Pesquisas Espaciais (INPE) também foi testada para validar a pesquisa, e as comparações de desempenho incluíram uma variação do AG utilizado nos benchmarks. Para os benchmarks e a aplicação real, o uso do GEO exigiu muito menos esforço computacional para gerar os dados do que os AGs, e a cobertura média de caminhos obtida por ele foi muito semelhante à dos AGs. Além disso, o GEO também exigiu muito menos esforço computacional no ajuste interno de parâmetros do que os AGs. Estes resultados indicam que o GEO é uma opção muito atraente a ser utilizada na geração de dados de teste / Abstract: Software testing is an important activity of the software development process and automating test data generation contributes to reduce cost and time efforts. It has recently been shown that evolutionary algorithms, such as the Genetic Algorithms (GAs), are valuable tools for test data generation. This work assesses for the first time the performance of a recently proposed evolutionary algorithm, the Generalized Extremal Optimization (GEO), on generating test data to cover a subset of paths of a program, with or without loops. Seven well known benchmark programs were used as study cases, and the performance of GEO was compared to the one of a GA and Random-Test (RT). A real application from Instituto Nacional de Pesquisas Espaciais (INPE) was also tested in order to validate the research, and the performance comparisons included one variation of the GA used in the benchmarks. For the benchmark programs and the real application, using GEO required much less computational effort to generate test data than using the GAs, and GEO¿s average coverage was very similar to GA¿s. Besides this, it also required much less computational effort on internal parameter setting than the GAs. These results indicate that GEO is a very attractive option to be used for test data generation / Mestrado / Mestre em Ciência da Computação
|
45 |
Testes de robustez em web services por meio de injeção de falhas / Robustness testing of web services by means of fault injectionValenti, André Willik, 1986- 19 August 2018 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-19T17:16:29Z (GMT). No. of bitstreams: 1
Valenti_AndreWillik_M.pdf: 2649436 bytes, checksum: c4cfe20cd30b324ee3a2d8058d470b7e (MD5)
Previous issue date: 2011 / Resumo: A crescente adoção de Arquiteturas Orientadas a Serviços e de Web Services pela indústria e pela academia vem criando novos desafios para a garantia de qualidade dos sistemas. Testes de robustez possibilitam verificar o funcionamento de um sistema quando sujeito a condições adversas de operação, como entradas inesperadas ou alta carga de requisições sobre os serviços. A técnica de injeção de falhas pode ser aplicada para induzir tais situações e permitir uma avaliação do sistema nessas condições. No entanto, encontram-se poucas ferramentas adequadas para essa atividade. Nesta dissertação, apresentamos a WSInject, uma ferramenta para injeção de falhas em Web Services, além de um estudo sobre testes de robustez em sistemas baseados nessa tecnologia. A ferramenta possui as vantagens de ser flexível, configurável, extensível e minimamente intrusiva. Este trabalho é parte do projeto RobustWeb da CAPES/Cofecub, registrado sob o número 623/09 / Abstract: The increasing adoption of Service-Oriented Architectures and Web Services, both by industry and academia, has been posing new challenges for quality assurance. Robustness testing allows one to verify the behavior of a system when subject to adverse operating conditions, such as unexpected inputs or high service loads. The fault injection technique may be used to induce such scenarios in order to evaluate system behavior under these conditions. However, few tools are currently available to support this activity. In this work, we present WSInject - a fault injection tool for Web Services - and a study on Web Services robustness testing. WSInject's advantages include being flexible, customizable, extensible and minimally intrusive. This work is registered under number 623/09 as part of RobustWeb project from CAPES/Cofecub / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
46 |
Um modelo sistemico para atividade de avaliação e testes de software / A systematic model for evaluation activity and software testingSilva, Eduardo de Vasconcelos 24 February 2006 (has links)
Orientador: Ana Cervigni Guerra, Rogerio Drummond / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T22:07:00Z (GMT). No. of bitstreams: 1
Silva_EduardodeVasconcelos_M.pdf: 694246 bytes, checksum: 7be11f3a0bafc2a11d2340ac3bdcdc26 (MD5)
Previous issue date: 2006 / Resumo: A atividade da escrita de casos de testes para software é em sua essência não determinística e por conseguinte envolve riscos. Por outro lado, o grau de densidade de testes dos requisitos do sistema sofre influência da forma que esses requisitos são interpretados. Uma proposta para sistematizar o processo de criação de casos de teste encontra-se no uso de uma rede Bayesiana que modela a arquitetura de testes a ser implementada, aliada a uma ponderação estatística de riscos a cenários. A rede é muito adequada a problemas não determinísticos e que envolvam riscos. Aliada ao uso da rede Bayesiana, essa sistematização engloba o critério de adequação, cujo objetivo é minimizar o impacto da cobertura de requisitos. Cada requisito do sistema é interpretado segundo critérios pré definidos. Como produto final desta proposta sistêmica, além do ferramental gráfico que possibilita a descrição dos casos de testes segundo uma seqüência lógica e simulação de cenários, têm-se uma matriz que reúne todos os casos de testes obtidos da rede e demais oriundos da análise dos requisitos, segundo o enfoque do critério de adequação. O estudo experimental sinaliza um incremento de quatro vezes e meio na densidade de testes de requisitos comparativamente a técnica tradicional. Na fase de análise há uma tendência de redução de esforço em torno de um quarto. Um interessante resultado dessa técnica sistematizada, está na identificação de cenários não previstos pelos requisitos o que vem agregar na atualização da documentação de design / Abstract: The task of writing software use cases is in essence non deterministic and therefore involves risks. On the other hand, the coverage level of requirements depends the way of document requirements are interpreted.In order to bring a systematic approach in developing software use cases, the Bayesian network technique helps supporting with this problem. The current software test architecture is modeled in a graphical way, adding scenario simulation and risk statistic. The network addresses very well risks and non deterministic scenarios.Along with the Bayesian Network , the proposed systematic approach encompasses the adequacy criteria which main goal is to improve requirements coverage. Each system requirement is interpreted according to well defined criteria. A matrix will be the final product, as a result from the current systematic approach. All use cases obtained from the network and those discovered thanks of adequacy criteria can be seen together. In addition this, the technique allows scenarios simulation. The experimental results show an increase of four times and half in requirements coverage, as compared against the traditional technique. In the analysis phase , there is a trend of reducing the effort by a factor of 4.One interesting result using this technique is the amount of new scenarios identified. Most of them are not properly described in the requirement document. This brings a powerful tool to add value in updating the design document / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
|
47 |
Validação do fluxo excepcional a partir do diagrama de atividades da UML 2.0 / Validation of exceptional flow in UML 2.0 acitivity diagramFerreira, Jeferson, 1973- 18 August 2018 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-18T15:53:22Z (GMT). No. of bitstreams: 1
Ferreira_Jeferson_M.pdf: 10344068 bytes, checksum: f13e5d139255d50754dc668d1bbf3fc6 (MD5)
Previous issue date: 2011 / Resumo: Para a construção de sistemas robustos, devem ser utilizadas técnicas de tolerância a falhas que podem ser implementadas através de mecanismos de tratamento de exceções. Esses mecanismos possibilitam o tratamento de possíveis exceções, ou até mesmo a continuação da execução das funcionalidades do sistema mesmo na presença de uma exceção. O uso dos mecanismos de tratamento de exceções para desenvolver sistemas de software em larga escala, juntamente com o fato de ser implementado por diversas linguagens modernas, confirma a importância desta prática de desenvolvimento. Por outro lado, o uso desses mecanismos tem suas desvantagens, impactando principalmente na complexidade dos sistemas. Um problema que ocorre com muita frequência é efetuar a validação do fluxo excepcional somente na fase de implementação. A detecção de um problema de especificação nesta etapa do processo, pode acarretar em um aumento nos custos e prazos para a entrega do software. Este trabalho apresenta uma abordagem que utiliza as técnicas de análise estática, normalmente empregadas para detectar falhas no código fonte, para antecipar a validação do fluxo excepcional de um componente de software durante o ciclo de desenvolvimento. A solução proposta utiliza as informações do fluxo de controle e fluxo de dados obtidas a partir de um modelo comportamental. O modelo utilizado nesta abordagem é o diagrama de atividades da UML, que passa por uma série de transformações até gerar um grafo de fluxo de controle interprocedimental. Durante este processo são executadas análises de fluxo de dados para inferir com precisão quais são os tipos de exceções podem ser lançadas em dado ponto do modelo. Também faz parte deste trabalho a apresentação de uma ferramenta de apoio para o processo de validação do fluxo excepcional. Esta ferramenta, denominada ADEX (Activity Diagram EXceptional flow analyzer), implementa os algoritmos utilizados para a conversão do diagrama de atividades no grafo de fluxo de controle interprocedimental. A ferramenta também oferece recursos para a visualização do fluxo de controle normal e excepcional do modelo / Abstract: In order to develop robust software, should be used fault tolerant techniques that can be implemented by exception handling mechanisms. These mechanisms allow the handling of possible exceptions or even the continued of execution of the system's functionalities, even in the presence of an exception. The use of exception handling mechanisms to develop large scale software systems together with the fact that several modern programming languages provide these mechanisms, confirm the importance of these mechanisms in practice. On the other hand, the use of these mechanisms has some disadvantages, principally impacting on the complexity of the systems. One problem that occurs very often is performing the validation of the exceptional flow only during the implementation phase. The detection of a specification problem at this stage of the process can lead the increasing of costs and delays to delivery the software. This paper presents an approach that uses static analysis techniques, usually used to detect anomalies in the source code, to antecipate the validation of the exceptional flow of a software component in the development cycle. The proposed solution uses the information of control flow and data flow gathered from a behavioral model. The model used in this approach is the UML activity diagram, which undergoes a series of transformations to generate a interprocedural control flow graph. During this process are performed data flow analysis to inferring precisely what kind of exceptions can be thrown at a specific point of the model. The presentation of a tool to support the validation of the exceptional flow, also is part of this work. This tool, called ADEX (Activity Diagram EXceptional flow analyzer), implements the algorithms used to convert the activity diagram in the interprocedural control flow graph. The tool also provides features for visualization of normal and exceptional control flow of the model / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
48 |
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.
|
49 |
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.
|
50 |
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.
|
Page generated in 0.086 seconds