Teste de Unidade
Originalmente esse termo é definido como um teste capaz de analisar uma unidade de trabalho, que a IEEE define como: “Atividade capaz de testar unidades de hardware ou software ou grupo de unidades relacionadas”.
Teste de Unidade Focaliza na menor unidade de projeto do software: o componente ou módulo. Pode ser conduzido em paralelo para os diversos componentes. Caminhos de controle importantes são testados para descobrir erros dentro dos limites do módulo. A complexidade dos testes é limitada pelo escopo restrito.
Justificativa Reduzir defeitos (bugs) apresentados pelo produto Cobrir uma gama maior de equipamentos e ambientes operacionais do que aqueles disponíveis na empresa através de testes em clientes Assegurar a qualidade final do produto para o cliente, incluindo avaliação de embalagem, manuais, usabilidade, etc.
Considerações do Teste de Unidade Teste de Interface Garante que a informação flui adequadamente pra dentro e para for a da unidade. Teste das Estruturas de Dados Garante que os dados armazenados temporariamente mantenham sua integridade durante todos os passos da execução. Teste das Condições-Limite Garante que o módulo opere adequadamente nos limiares estabelecidos para limitar ou restringir o processamento. Teste de Caminhos Independentes Teste de Caminhos de Manipulação de Erros. Condições de erros são antecipadas e caminhos são estabelecidos para redirecionar ou claramente terminar o processamento.
Erros comumente encontrados nos testes de unidade Erros devidos a cálculos errados Precedência aritmética errada Operações em modo misto Inicialização incorreta Falta de precisão Representação incorreta de uma expressão simbólica Erros devidos a comparações erradas Comparação de tipos de dados diferentes Operadores ou precedência lógica incorretos Expectativa de igualdade quando erro de precisão torna a igualdade improvável Comparação incorreta de variáveis Terminação de ciclo inadequada ou inexistente Variáveis de ciclo inadequadamente modificadas
Erros comumente encontrados nos testes de unidade Erros na manipulação de erros A descrição do erro é ininteligível O erro mencionado não corresponde ao erro encontrado A condição de erro provoca a intervenção do sistema antes da manipulação do erro A descrição do erro não fornece informação suficiente para manipular o erro
Procedimentos de Teste de Unidade O projeto de teste pode ser realizado: Antes que o código seja iniciado (abordagem ágil) Depois que o código-fonte tenha sido gerado. Uma revisão da informação de projeto fornece diretrizes para o estabelecimento de casos de teste. Cada caso de teste deve ser acoplado a um conjunto de resultados esperados.
JUnit Como testar com o Junit junit/ junit/4637 /impl3.htm /impl3.htm
Teste de Unidade para quem não programa Teste de Unidade usando Excel, para quem não programa, vídeo explicativo disponível no link: quem-nao-sabe-nada-de-programacao/
Framework AutoTest tinato
Testes automatizados no desenvolvimento de software oli pdf oli pdf
Selenium Ferramenta para teste de software web – IDE e Web Driver Independe da linguagem Plugin do Firefox Grava os testes É recomendável utilizar o Web driver para testar as regras de negócio
Dissertação sobre automatização de teste de unidade Ferramenta utilizada EvoUnit acaoDAVI.pdf
Ciclo TDD(Test-Driven Development ou desenvolvimento orientado a testes) log/index.php/testes- unitarios-e-tdd-conceitos- basicos/
Material sobre automatização de testes Eliane Colins – mt bom! =) automacao-de-testes-e
Como fazer teste de software br/library/ms aspx br/library/ms aspx Hangout – Teste de software para metodologia ágil: Teste Manual palestra -
Fontes: Aulas da Profa. Bianca Zadrozny (Universidade Federal Fluminense- IC) Hangout sobre testes: EKjNw EKjNw