Mind map
Teste de unidade, integração e validação
Map content
Teste de unidade, integração e validação
Teste de unidade (componente ou módulo)
- Características
- Focaliza o esforço de verificação na menor unidade de projeto do software: o componente ou módulo de software
- Para Sommerville, sua meta é expor defeitos nesses componentes
- Pode ser realizado antes que o código seja iniciado ou depois de o código-fonte ter sido gerado
- Geralmente são feitos pelos próprios desenvolvedores e, não, por especialistas em testes
- Enfoca a lógica interna de processamento e as estruturas de dados dentro dos limites de um componente
- A interface de um módulo é testada para assegurar que as informações fluam corretamente para dentro e para fora da unidade de programa que está sendo testada
- A estrutura de dado local é examinada para garantir que os dados armazenados temporariamente mantenham sua integridade durante todos os passos na execução de um algoritmo
- Pode ser conduzido em paralelo para diversos componentes
- Todos os caminhos independentes da estrutura de controle são usados para assegurar que todas as instruções em um módulo tenham sido executadas pelo menos uma vez
- As condições-limite são testadas para garantir que o módulo opere adequadamente nas fronteiras estabelecidas para limitar ou restringir o processamento
- Finalmente, são testados todos os caminhos de manipulação de erro
- Focaliza o esforço de verificação na menor unidade de projeto do software: o componente ou módulo de software
- Tipos de componentes que podem ser testados nesse estágio
- Funções ou métodos individuais de um objeto
- Componentes mais simples sendo seus testes um conjunto de chamadas dessas rotinas com diferentes parâmetros de entrada
- Verificam o funcionamento de um pedaço do sistema ou software isoladamente ou que passam ser testados separadamente, e são considerados um apêndice ao passo de codificação
- Classes de objeto com vários atributos e métodos
- Componentes que constituem diferentes objetos ou funções
- Funções ou métodos individuais de um objeto
- Pontos positivos
- Permite encontrar problemas mais cedo
- Facilita mudanças e simplifica integrações
- Auxilia a documentação e melhora o projeto do software
- Características
Teste de integração
- Características
- Técnica sistemática para construir a arquitetura de software ao mesmo tempo que conduz testes para descobrir erros associados com as interfaces
- Constrói uma estrutura de programa determinada pelo projeto a partir de componentes testados em unidade
- Integração incremental: o programa é construído e testado em pequenos incrementos, em que erros são mais fáceis de isolar e corrigir
- As interfaces têm maior probabilidade de serem testadas completamente
- Uma abordagem sistemática de teste pode ser aplicada
- Para Sommerville, Testes de Integração e Testes de Release são componentes do Teste de Sistema (em sistemas complexos)
- O teste de integração trata do esforço de verificação em uma combinação de componentes para checar se eles funcionam corretamente juntos, conforme as especificações
- Busca encontrar defeitos nas interfaces e nas interações entre componentes ou sistemas integrados
- Motivação
- Dados podem ser perdidos através de uma interface
- Um componente pode ter um efeito inesperado ou adverso sobre outro
- Subfunções, quando combinadas, podem não produzir a função principal desejada
- Características
Teste de Validação
- Características
- Começa quando termina o teste de integração, quando os componentes individuais já foram exercitados, o software está completamente montado como um pacote e os erros de interface já foram descobertos e corrigidos
- Focaliza simplesmente ações visíveis ao usuário e saídas do sistema reconhecíveis pelo usuário
- A validação tem sucesso quando o software funciona de uma maneira que pode ser razoavelmente esperada pelo cliente
- Guiada pela Especificação de Requisitos de Software
- Testes de Aceitação permitem ao cliente validar todos os requisitos e decidir se ele é bom o suficiente para ser implantado
- Conduzido pelo usuário final e não por engenheiros de software
- Pode variar de um informal Test Drive até uma série de testes planejados e sistematicamente executados
- Podem ser executados por um período de semanas ou meses, descobrindo erros cumulativos que poderiam degradar o sistema ao longo do tempo
- Estratégias de implementação de Testes de Aceitação
- Teste de Aceitação Formal é um processo altamente gerenciado e costuma ser uma extensão do Teste do Sistema, sendo planejado e projetado com o mesmo nível de detalhe
- Os casos de teste escolhidos devem ser um subconjunto dos que foram realizados no teste do sistema
- O teste geralmente é totalmente automatizado
- Teste de Aceitação Informal: utilizado quando um software é desenvolvido como um produto para ser usado por muitos clientes
- Também chamado de Teste Alfa é um conjunto de procedimentos em que são identificadas e documentadas diversas funções e tarefas de negócio
- Não se exigem casos de teste específicos para serem seguidos – o testador individual determina o que fazer
- O Teste de Aceitação Informal é realizado com mais frequência pela organização do usuário final
- Conduzido no ambiente do desenvolvedor por um grupo representativo de usuários finais
- Ocorre em ambiente controlado
- O software é usado em um cenário natural com o desenvolvedor "espiando em cima dos ombros" do usuário
- O desenvolvedor registra os erros e os problemas de uso
- Testes Beta: são os menos controlados das três estratégias
- A quantidade de detalhes, os dados e a abordagem adotada são de inteira responsabilidade do testador individual
- Implementado por usuários finais, geralmente com pouco ou nenhum gerenciamento por parte da organização de desenvolvimento
- Aplicação “ao vivo” do software em um ambiente que não pode ser controlado
- O cliente registra todos os problemas (reais ou imaginários) encontrados durante o Teste Beta e relata esses problemas para o desenvolvedor em intervalos regulares
- Teste de Aceitação do Cliente (variação do Teste Beta), às vezes é executada quando é fornecido software personalizado a um cliente sob contrato
- O cliente executa uma série de testes específicos na tentativa de descobrir erros antes de aceitar o software do desenvolvedor
- Teste de Aceitação Formal é um processo altamente gerenciado e costuma ser uma extensão do Teste do Sistema, sendo planejado e projetado com o mesmo nível de detalhe
- Características
Information
- Description
- Engenharia de software (Teste de software) Mind Map on Teste de unidade, integração e validação, created by Michel Souza on 23/05/2018.
- Created by
- Michel Souza
- Views
- 4
- Rating