Mostrando postagens com marcador TDD. Mostrar todas as postagens
Mostrando postagens com marcador TDD. Mostrar todas as postagens

domingo, 31 de agosto de 2014

Fica a Dica - Testando chamadas a funções de uma DLL usando PowerMock, EasyMock, JUnit e JNA no Java com TDD

Estava trabalhando no projeto Quantis, fazendo sua integração com Trader Gráfico para envio de ordens para a Bovespa quando surgiu a necessidade de testar as chamadas as funções da DLL de integração que eu já havia desenvolvido anteriormente em Delphi e que é a responsável pela a comunicação com o roteador de ordens, através da API do Windows.

Como essa biblioteca tem um funcionamento independente do Quantis e já havia sido testada na plataforma que foi criada, era necessário apenas fazer os testes para validar as precondições dos parâmetros de entrada dos métodos e simular falhas de comunicação com o roteador de ordens do  Trader Gráfico. O problema é como fazer isso sem fazer as chamadas aos métodos da DLL? Simples, usando Mocks!!!

quinta-feira, 14 de fevereiro de 2013

E o programador virou pedreiro!


Qual é o papel atual do programador no projeto de um sistema na industria de software brasileira? Eu digo que é de pedreiro e explico o motivo!

No inicio da era da informática, a atividade de programação era tudo em um projeto de software. A criação de um sistema era considerada uma arte. Cabia ao programador criar sistemas que controlavam os misteriosos e novos computadores utilizando uma linguagem compartilhada entre eles e as máquinas. Essa atividade era executada por “gente estranha”, normalmente engenheiros que viravam a noite se dedicando a entender a língua das máquinas de modo a poder “conversar” com elas. Os sistemas criados por eles, normalmente, eram muitos específicos e muito ligado ao hardware. Muitas vezes, a programação era considerada uma ação secundária e vinculada ao projeto de hardware.

Com a evolução dos computadores e sua rápida disseminação, surgiram novas linguagens de programação de modo a facilitar criação dos softwares e a permitir que eles fossem compartilhados entre máquinas diferentes e pudessem realizar as mais diversas tarefas. O software, nesse momento, começa a ocupar um papel importante nas organizações, sendo responsável pela automatização de diferentes tarefas. O hardware se torna secundário e o software assume a frente.