Testes automatizados
TESTES AUTOMATIZADOS DE SOFTWARE
1. Resumo
Controlar a qualidade de sistemas de software é um grande desafio devido à alta complexidade dos produtos e às inúmeras dificuldades relacionadas ao processo de desenvolvimento. Idealmente, os sistemas de software devem não só fazer corretamente o que o cliente precisa, mas também fazê-lo de forma segura, eficiente e escalável e serem flexíveis, de fácil manutenção e evolução.
2. Introdução
Um teste automatizado é um trecho de código que testa uma parte da aplicação que estamos desenvolvendo. Sendo o teste também um software, podemos executá-lo repetidas vezes, de forma automatizada.
3. Itens de pesquisa
3.1. Definição
Teste automatizado é a denominação dada a todo tipo de teste que é programado com o objetivo de garantir o correto funcionamento de uma parte do software, de modo que possa ser executado de forma automática.
3.2. Funcionamento
A parte testada pode variar desde um único método, como por exemplo, calcular o saldo de uma venda, até um fluxo inteiro, contendo todas as etapas de uma venda. Quanto mais complexa a parte testada, maior o nível de abrangência do teste, que serve como base para classificação dos testes automatizados, como veremos a seguir. Denominamos micro-testes os testes com o menor nível de abrangência. Seu objetivo é testar um comportamento de uma classe de forma isolada. Assim, necessitam de poucos recursos, sendo extremamente rápidos para completar sua execução.
Como exemplo, podemos imaginar o teste de um método que valida CPF.
3.3. Ferramentas
3.3.1. JUnit
JUnit é um framework que auxilia a criação e execução de testes unitários em classes Java. Para tanto é composto por uma API (Application Programming Interface) composta por classes e interfaces, que permitem executar os casos de teste mapeados. O objetivo deste framework é exigir menos esforço de implementação por parte do programador e evitar a duplicação dos casos de teste pelos