Artigo Clube Delphi 60 - TestComplete

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da Revista Clube Delphi Edição 60.

Esse artigo faz parte da revista Clube Delphi Edição 60. Clique aqui para ler todos os artigos desta edição

imagem_pdf.jpg

TestComplete

Testes automáticos de aplicações

Conforme suas aplicações vão se tornando maiores, um problema em potencial começa a aparecer: a introdução de novos bugs no programa quando são feitas alterações no código. Você tem o programa relativamente estável, quando é solicitada uma modificação qualquer. A mudança é implementada, mas começam a aparecer erros em locais que funcionavam anteriormente.

Esse é um pesadelo que atormenta qualquer desenvolvedor, a ponto de alguns evitarem fazer mudanças substanciais no código. Isso se torna pior quando avaliamos nosso código e verificamos que está uma verdadeira bagunça e necessitamos fazer uma faxina nele (em “desenvolvimentês”, poderíamos chamar isso de refactoring).

Como fazer essas mudanças sem criar um novo problema? A resposta está em testes automatizados. Cria-se uma rotina de testes, que são executados a cada nova mudança, para verificar se não foram introduzidos erros. Essa rotina poderia ser feita manualmente, a partir de uma lista – a cada mudança, todos os itens da lista são verificados e, caso não haja erros, passa-se para a fase seguinte. Com um programa grande, torna-se demorado executar todos os testes, além de ter o problema de pular alguns passos. Após algum tempo, os testes são relaxados ou deixam de serem executados e os problemas aparecem adiante.

Uma solução é usar um Unit Testing, que pode ser feito usando DUnit (para Delphi) ou NUnit (para .NET): cria-se testes automatizados para os métodos das classes, que são executados a cada mudança, verificando a introdução de erros. Isso já é um grande passo, pois à medida que temos testes confiáveis, estamos seguros que não introduzimos erros em nossos métodos, além de ter uma base de teste sempre confiável, que é executada sempre da mesma maneira.

 

Nota: veja uma introdução ao DUnit com Delphi na edição 52.

 

O Unit Testing tem algumas limitações:

·                Como garantir que a interação entre os métodos não criou novos erros? Embora tenhamos testado os métodos individualmente, nem sempre podemos garantir que a interação entre as classes esteja correta. Por exemplo, a classe funciona bem com uma instância, mas como funciona com duas instâncias ativas?

·                Como fazer testes visuais: se um método é essencialmente visual (uma rotina de desenho na tela, por exemplo), como garantir que o resultado está correto sem verificá-lo manualmente?

·                Como testar a interface de usuário? Devemos simular cliques do mouse ou teclar algo para obter um resultado – como fazer isso?

·                Como verificar se a aplicação se comporta bem ao longo do tempo? Como saber se, após uma hora de uso, a aplicação não travará ou apresentará erros?

 

Podem-se criar testes que passem por cima de algumas dessas limitações, porém isso nem sempre é fácil, muitas vezes o teste a ser criado passa a ser tão ou mais complexo que o próprio código a ser testado (nesse caso, será que é necessário um projeto para testar o projeto de testes?).

Quando tive um problema desses, para testar um código visual que gerava uma imagem com dados de sinal biológico, perguntei a quem usava testes unitários há mais tempo e foi sugerido o uso da ferramenta TestComplete, da AutomatedQA (a mesma fabricante do AQTime, discutido na edição 51).

Ao baixá-la, verifiquei que se tratava de uma ferramenta de testes muito completa e que poderia responder a essas limitações e a muitas outras que poderiam aparecer. Ela permite gerar uma suíte de testes que testa a aplicação de maneira visual e também suas propriedades internas.

Introdução ao TestComplete

Uma versão de avaliação do TestComplete, que pode ser usada por 30 dias, está disponível em www.automatedqa.com/downloads/testcomplete.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?