Teste de unidade
Fases
Baseado em notas de aula da profa. Eliane Martins
Tópicos
• Testes de Unidades
• Testes de Integração
• Testes de Aceitação e de Sistemas
• Testes de Regressão
Testes de Unidades
Visam exercitar detalhadamente uma unidade do sistema: módulo ou função; classe ou pequenos “clusters”
Aspectos a serem considerados : interfaces: verificar parâmetros de entrada e saída estruturas de dados: verificar integridade dos dados armazenados condições de limite: verificar se a unidade opera adequadamente nos limites estabelecidos tratamento de erros
Componentes de testes-1
Unidade em Teste
Componentes de testes-2
Necessários quando se testam unidades isoladamente.
Podem ser: driver (controlador): chama a unidade em teste stub: substitui uma unidade que é chamada
Driver
Casos de teste
Stub 1
Unidade em Teste
Stub 2
resultados
Stub 3
Componentes de testes devem ser mais simples e mais rápidos de desenvolver do que as unidades substituídas grau de facilidade ou dificuldade de construí-los depende da qualidade do projeto Exemplo: stub
Módulo
A vetor desordenado
vetor ordenado Módulo
Ordena_Vetor
stub para este procedimento ?
type VetorInt = array [1 .. N] of integer; ... procedure Ordena_Vetor (a : VetorInt);
...
begin write (“Valores fornecidos”); for i := 1 to N do write (a [ i ] ); write (“Forneça os valores ordenados”); for i := 1 to N do read (a [ i ] ); end; Exemplo - Driver
Módulo
criaTab
Driver
Módulo leItem Módulo insereItem Módulo mostraTab type TabInt = array [ 1 .. N, 1 .. M ] of integer; ... var Tabela: TabInt, x: integer;
...
criaTab ; leItem ( x ); insereItem (x ); mostraTab ;
....
Testes de integração
Integram unidades já testadas critério: exercitar cada unidade pelo menos uma vez
Falhas de integração interfaces incorretas falta, sobreposição ou conflito de funcionalidades violação da integridade de