Test Driven Development - Unity + Microchip PIC - Artimar
Test Driven Development – Unity + Microchip PIC
por Marcelo Jo em quarta-feira, 09 de outubro de 2013
Veja a matéria completa em: http://www.embarcados.com.br/test-driven-development-unity-microchip-pic/
Atualmente exitem diversas metodologias para o desenvolvimento de software de alto nível para computadores pessoais. Algumas dessas metodologias estão sendo adaptadas para realidade de sistemas embarcados, como por exemplo, o desenvolvimento orientado a testes (TDD – Test Driven Development). Diferentemente da abordagem convencional onde todo o código é desenvolvido e apenas depois os testes (e a busca por bugs) são realizados, nesta metodologia o código é desenvolvido de forma incremental juntamente com a rotina de testes. As principais vantagens são:
Sistema tende ser melhor projetado, melhorando-se a qualidade do código;
Ao final do projeto, o código já foi exercitado por uma bateria de testes;
A cada alteração no código fonte, refazer os testes é trivial;
Evita-se a pressão de realizar testes/debug o mais rápido possível ao final do projeto;
Para facilitar o trabalho do desenvolvedor, existem vários frameworks para testes unitários em C, dentre eles o Unity. Basicamente o Unity é um conjunto de macros e funções que possibilitam o desenvolvedor automatizar testes unitários. Como não cobriremos neste post como funciona o Unity, deixamos como referência o livro Test Driven Development for Embedded C de James Grenning. Além do Unity, este livro é uma introdução à metodologia TDD e também mostra vários exemplos de como escrever os códigos de testes.
Vamos criar um pequeno projeto para mostrar como configurar e como o TDD pode ser usado com microcontroladores Microchip, no caso o PIC24FJ256GA106. Usaremos uma ferramenta chamadaceedling que gera automaticamente todo o ambiente necessário para se usar o Unity. Lembrando apenas que o exemplo é em uma máquina com Linux e o IDE usado para o projeto com o PIC é o MPLAB x IDE. (Veja os links de referência para saber como instalar o ceedling, como configurar em ambiente Windows e vários exemplos práticos).