Os testes podem ser classificados por alguns critérios e um deles é o nível de integração.
Como a arquitetura do software desdobra componentes e funções, o nível de teste menos integrado é o teste de unidade (unit test). As unidades são os elementos que possuem as menores funcionalidades que possuem significado. É também o nível de teste mais simples, pois as funções são pouco complexas e não é necessário testar a interação entre elas. No nível de teste de unidade, são estimuladas diretamente cada uma das entradas das funções, através dos seus argumentos, e é observada a saída da função (seu retorno ou variáveis retornadas por ponteiro ou variáveis globais). Estes testes são executados com o auxílio de test drivers e é possível que haja a necessidade de criação de stubs. Ambos serão vistos quando abordarmos o tema da execução dos testes.
O nível de integração seguinte é aquele onde os componentes de software se integram (gradativamente ou todos de uma vez). Neste nível, o funcionamento interno das funções não precisa ser retestado, caso o tenha sido pelos testes de unidade. O que se busca testar neste nível é o correto acoplamento entre os componentes, observando o comportamento integrado do software. Fazendo uma analogia, é como se um teste de unidade testasse cada componente de uma bicicleta (pedal, correia, roda) e o teste de integração de software testasse o funcionamento da bicicleta montada.
A integração software-software ainda não considerou, necessariamente, a integração com o hardware embarcado (target hardware), pois é possível testar a integração de software em um hardware diferente do que será utilizado no produto. É necessário então o teste de integração software-hardware, onde o software integrado precisa se integrar com o ambiente embarcado, com seus device drivers e possivelmente um sistema operacional de tempo real (RTOS). Neste nível de integração se tem o comportamento exato do produto. É possível avaliar a performance do software (tempo de processamento, consumo de memória) e testar o acoplamento dos componentes que se comunicam através do hardware, como por exemplo a comunicação do processador com um chip de memória externo.

Comentários
Postar um comentário