Testes unitários evolutivos

A fase de teste representa, cada vez mais, um papel importante no processo de desenvolvimento de uma aplicação. Esta torna-se ainda mais relevante quando se adotam metodologias de desenvolvimento nas quais os testes unitários têm um papel crucial no sucesso dos mesmos. As ferramentas atuais para tes...

Full description

Bibliographic Details
Main Author: Palma, Nuno Alexandre (author)
Format: masterThesis
Language:por
Published: 2016
Subjects:
Online Access:http://hdl.handle.net/10174/17982
Country:Portugal
Oai:oai:dspace.uevora.pt:10174/17982
Description
Summary:A fase de teste representa, cada vez mais, um papel importante no processo de desenvolvimento de uma aplicação. Esta torna-se ainda mais relevante quando se adotam metodologias de desenvolvimento nas quais os testes unitários têm um papel crucial no sucesso dos mesmos. As ferramentas atuais para testes unitários implicam a geração e execução dos mesmos pelo programador. Estas tarefas são Ientas e repetitivas, levando a uma saturação por parte do programador e consequentemente à degradação da qualidade do software. Estudos indicam que 50% do tempo dispensado no desenvolvimento de aplicações está relacionado com a fase de testes. Torna-se então imperativo criar mecanismos de geração e execução automática de testes unitários, que por um lado libertem o programador destas tarefas e outro lado aumenta a qualidade da fase de testes. O trabalho a realizar no âmbito desta tese de mestrado, visa implementar uma ferramenta que permita a automatização da geração e execução de testes unitários para aplicações desenvolvidas na Linguagem Java de forma dinâmica e inteligente, tentando gerar testes mais fiáveis. /ABSTRACT: The test phase plays an important role in the software application development process, furthermore when development methodologies (e.g. Extreme Programming) are adopt, in which unit tests are paramount for their success. Existing tools for performing unit testing demand oblige programmers to design, implement and execute the tests. These tasks are time consuming and repetitive, and therefore programmers tend to neglect them. This degrades, inevitably, the quality of the software. Studies indicate that about 50% of the application development time is, directly or indirectly, 'related to testing. Thus, it is crucial to develop mechanisms to automate the generation of unit tests. Which, on one hand, free the programmers from those tasks, and, on the other hand, increase the quality of the tests. The goal of the work being developed in the context of this Master Thesis is to implement a tool enabling automatic unit tests generation, for Java-based applications, and that, unlike- existing tools, test generation is performed in a dynamic and intelligent way. Increasing reliability of the tests.