Document details

Automatização de testes de mutação em Java

Author(s): Simões, Sheilla Cristina Fernandes

Date: 2014

Persistent ID: http://hdl.handle.net/10451/11062

Origin: Repositório da Universidade de Lisboa

Subject(s): Testes de mutação; Mutantes; Engenheiro de software; Eclipse; Ensino; Teses de mestrado - 2014


Description

Projeto de mestrado em Engenharia Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2014

A importância da execução de testes durante o processo de desenvolvimento de software tem vindo a crescer, uma vez que estes são cruciais para garantir a qualidade do software desenvolvido, representando o principal método para a redução de ocorrência de erros. Isto tem um carater fundamental, pois no nosso dia-a-dia o software é ubíquo, e indispensável à tecnologia que dependemos. É, pois, fundamental garantir que o software possua um nível de qualidade elevado, pois uma falha poderá causar graves consequências a nível financeiro ou até mesmo ao nível humano. Torna-se assim imprescindível que os engenheiros de software dominem as técnicas de testes de software. O presente trabalho tem como objetivo construir uma ferramenta para apoiar o ensino de testes de mutação. Esta tem sido muito explorada recentemente e tem uma eficácia comprovada na atividade de testes. Os testes de mutação são uma técnica baseada em faltas e são utilizados para testar a robustez de um conjunto de casos de teste, com base no número de falhas identificadas. Cada uma das faltas produzidas por esta técnica representa um requisito de teste, que neste modelo de testes é designado por mutante. No entanto, o número de mutantes gerados é de tal ordem extenso que não pode ser sistematicamente tratado de forma manual. Daí a importância da utilização de uma ferramenta para este tipo de testes. A concretização deste trabalho resultou no desenvolvimento de uma ferramenta integrada com o ambiente de desenvolvimento Eclipse, de grande utilização tanto a nível profissional como a nível académico. Este documento apresenta aspetos relacionados com a ferramenta desenvolvida, nomeadamente, os conceitos teóricos essenciais à sua implementação; a sua integração na plataforma Eclipse e as dependências com outros elementos desta plataforma; a descrição da sua estrutura interna: a apresentação de detalhes da implementação de processos fundamentais para a concretização das funcionalidades presentes na ferramenta; e a descrição dos elementos da interface gráfica que permitem acompanhar as várias fases que compõem o processo de testes de mutação, como por exemplo, apresentação dos mutantes gerados, a pontuação dos testes de mutação, entre outras informações.

The importance of running tests during the development process of software has been growing, as these are crucial to ensuring the quality of software developed, representing the primary method for reducing errors. This has a fundamental character, because in our day- to-day software is ubiquitous and essential to the technology we depend. It is therefore essential to ensure that the software has a high level of quality because a failure may cause serious consequences in financial terms or even the human level. It thus becomes essential that software engineers master the techniques of software testing. This paper aims to build a tool to support the teaching of mutation testing. This has been explored very recently and has a proven efficacy in testing activity. Changing tests are based on technical faults and are used to test the robustness of a set of test cases based on the number of identified faults. Each of faults produced by this technique is a requirement of testing in this test model is designated mutant. However, the number of mutants generated is so extensive that the order cannot be systematically handled manually. Hence the importance of using a tool for this type of testing. The completion of this work resulted in the development of an integrated tool with the Eclipse development environment, great use both professionally and academically. This paper presents aspects related to the developed tool, in particular, the essential theoretical concepts to their implementation; its integration into the Eclipse platform and dependencies with other elements of this platform; a description of their internal structure: the submission of details of the implementation of key processes for the realization of the features present in the tool; and the description of graphical interface elements for monitoring the various stages that make up the process of mutation tests, such as presentation of mutants generated, the scores of the mutation tests, among other information.

Document Type Master thesis
Language Portuguese
Advisor(s) Martins, Francisco Cipriano da Cunha, 1972
Contributor(s) Repositório da Universidade de Lisboa
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents