O que é teste de integração? (Exemplo)

O que é teste de integração?

Teste de integração é definido como um tipo de teste onde os módulos de software são integrados logicamente e testados como um grupo. Um projeto de software típico consiste em vários módulos de software, codificados por diferentes programadores. O objetivo deste nível de teste é expor defeitos na interação entre esses módulos de software quando eles são integrados

O Teste de Integração concentra-se na verificação da comunicação de dados entre esses módulos. Por isso também é denominado como 'ISTO' (Integração e Teste), 'Teste de cordas' e às vezes 'Teste de thread'.

Por que fazer testes de integração?

Teste de integração

Embora cada módulo de software seja testado em unidade, ainda existem defeitos por vários motivos, como

  • Um Módulo, em geral, é projetado por um desenvolvedor de software individual cuja compreensão e lógica de programação podem diferir de outros programadores. O Teste de Integração torna-se necessário para verificar se os módulos de software funcionam em unidade
  • No momento do desenvolvimento do módulo, há grandes chances de mudança de requisitos por parte dos clientes. Esses novos requisitos podem não ser testados em unidade e, portanto, o teste de integração do sistema torna-se necessário.
  • As interfaces dos módulos de software com o banco de dados podem estar erradas
  • Interfaces de hardware externo, se houver, podem estar erradas
  • O tratamento inadequado de exceções pode causar problemas.

Clique aqui se o vídeo não estiver acessível

Exemplo de caso de teste de integração

Integração Caso de teste difere de outros casos de teste no sentido de que concentra-se principalmente nas interfaces e fluxo de dados/informações entre os módulos. Aqui deve ser dada prioridade ao integrando links em vez das funções da unidade que já foram testadas.

Exemplos de casos de teste de integração para o seguinte cenário: O aplicativo tem 3 módulos, digamos 'Página de login', 'Mailcaixa' e 'Excluir e-mails' e cada um deles é integrado logicamente.

Aqui não se concentre muito no teste da página de login, pois já foi feito em Teste de Unidade. Mas verifique como está vinculado ao Mail Box Página.

Similarmente Mail Box: Verifique sua integração com o Delete Mails Módulo.

ID do caso de teste Objetivo do caso de teste Caso de teste Descriptíon resultado esperado
1 Verifique o link da interface entre o Login e Mailmódulo de caixa Insira as credenciais de login e clique no botão Login Para ser direcionado ao Mail Box
2 Verifique o link da interface entre o Mailcaixa e Excluir MailMódulo s De Mailcaixa selecione o e-mail e clique no botão excluir O e-mail selecionado deve aparecer na pasta Excluído/Lixeira

Tipos de testes de integração

A Engenharia de Software define uma variedade de estratégias para executar testes de integração, viz.

  • Abordagem do Big Bang:
  • Abordagem Incremental: que é subdividida nas seguintes
    • Abordagem de cima para baixo
    • Abordagem de baixo para cima
    • Abordagem Sanduíche – Combinação de cima para baixo e de baixo para cima

Abaixo estão as diferentes estratégias, a forma como são executadas e suas limitações e vantagens.

Teste do Big Bang

Teste do Big Bang é uma abordagem de teste de integração na qual todos os componentes ou módulos são integrados de uma só vez e depois testados como uma unidade. Este conjunto combinado de componentes é considerado uma entidade durante o teste. Se todos os componentes da unidade não forem concluídos, o processo de integração não será executado.

Vantagens:

  • Conveniente para sistemas pequenos.

Desvantagens:

  • A localização de falhas é difícil.
  • Dado o grande número de interfaces que precisam ser testadas nesta abordagem, alguns links de interfaces a serem testados podem ser facilmente perdidos.
  • Como os testes de integração só podem começar depois que “todos” os módulos forem projetados, a equipe de testes terá menos tempo para execução na fase de testes.
  • Como todos os módulos são testados de uma só vez, os módulos críticos de alto risco não são isolados e testados com prioridade. Módulos periféricos que lidam com interfaces de usuário também não são isolados e testados com prioridade.

Teste Incremental

De acordo com o relatório Teste Incremental abordagem, o teste é feito integrando dois ou mais módulos que estão logicamente relacionados entre si e depois testados para o funcionamento adequado da aplicação. Em seguida, os outros módulos relacionados são integrados de forma incremental e o processo continua até que todos os módulos logicamente relacionados sejam integrados e testados com êxito.

A Abordagem Incremental, por sua vez, é realizada por dois Métodos distintos:

  • Debaixo para cima
  • Cima para Baixo

Stubs e Drivers

Stubs e Drivers são os programas fictícios em testes de integração usados ​​para facilitar o teste de software atividade. Esses programas atuam como substitutos dos modelos ausentes nos testes. Eles não implementam toda a lógica de programação do módulo de software, mas simulam a comunicação de dados com o módulo chamador durante o teste.

Stub: é chamado pelo Módulo em Teste.

Dirigir: Chama o Módulo a ser testado.

Teste de integração ascendente

Teste de integração ascendente é uma estratégia na qual os módulos de nível inferior são testados primeiro. Esses módulos testados são então usados ​​para facilitar o teste de módulos de nível superior. O processo continua até que todos os módulos de nível superior sejam testados. Depois que os módulos de nível inferior forem testados e integrados, o próximo nível de módulos será formado.

Representação Diagramatica:

Teste de integração ascendente

Vantagens:

  • A localização de falhas é mais fácil.
  • Não se perde tempo esperando que todos os módulos sejam desenvolvidos, ao contrário da abordagem Big-bang

Desvantagens:

  • Os módulos críticos (no nível superior da arquitetura de software) que controlam o fluxo da aplicação são testados por último e podem estar sujeitos a defeitos.
  • Um protótipo inicial não é possível

Teste de integração de cima para baixo

Teste de integração de cima para baixo é um método no qual o teste de integração ocorre de cima para baixo seguindo o fluxo de controle do sistema de software. Os módulos de nível superior são testados primeiro e depois os módulos de nível inferior são testados e integrados para verificar a funcionalidade do software. Stubs são usados ​​para teste se alguns módulos não estiverem prontos.

Representação diagramática:

Teste de integração de cima para baixo

Vantagens:

  • A localização de falhas é mais fácil.
  • Possibilidade de obter um protótipo antecipado.
  • Módulos Críticos são testados com prioridade; as principais falhas de projeto poderiam ser encontradas e corrigidas primeiro.

Desvantagens:

  • Precisa de muitos stubs.
  • Módulos de nível inferior são testados de forma inadequada.

Teste Sanduíche

Teste Sanduíche é uma estratégia na qual os módulos de nível superior são testados com módulos de nível inferior ao mesmo tempo que os módulos inferiores são integrados com módulos superiores e testados como um sistema. É uma combinação de abordagens Top-down e Bottom-up, portanto é chamada Teste de integração híbrida. Ele faz uso de stubs e também de drivers.

Teste Sanduíche

Como fazer testes de integração?

O procedimento de teste de integração, independentemente das estratégias de teste de software (discutidas acima):

  1. Prepare a integração Plano de Testes
  2. Projete os cenários de teste, casos e scripts.
  3. Execução dos casos de teste seguido de relato dos defeitos.
  4. Rastreando e testando novamente os defeitos.
  5. As etapas 3 e 4 são repetidas até que a integração seja concluída com sucesso.

breve Descriptíon de Planos de Teste de Integração

Inclui os seguintes atributos:

  • Métodos/abordagens para testes (conforme discutido acima).
  • Escopos e itens fora do escopo do teste de integração.
  • Papéis e responsabilidades.
  • Pré-requisitos para testes de integração.
  • Ambiente de testes.
  • Planos de Risco e Mitigação.

Critérios de entrada e saída de testes de integração

Critérios de entrada e saída para fase de testes de integração em qualquer modelo de desenvolvimento de software

Critério de entrada:

  • Componentes/módulos testados na unidade
  • Todos os bugs de alta prioridade corrigidos e fechados
  • Todos os módulos devem ser concluídos com código e integrados com sucesso.
  • Testes de integração Plano, caso de teste, cenários a serem aprovados e documentados.
  • Exigido Ambiente de teste a ser configurado para testes de integração

Critérios de Saída:

  • Teste bem-sucedido de aplicativo integrado.
  • Os casos de teste executados são documentados
  • Todos os bugs de alta prioridade corrigidos e fechados
  • Documentos técnicos a serem enviados seguidos de notas de lançamento.

Melhores Práticas/ Diretrizes para Testes de Integração

  • Primeiro, determine a Integração Estratégia de Teste que poderiam ser adotados e posteriormente preparar os casos de teste e os dados de teste adequadamente.
  • Estude o Archidesign da arquitetura do Aplicativo e identificar os Módulos Críticos. Eles precisam ser testados com prioridade.
  • Obtenha os designs de interface do Archiequipe de arquitetura e criar casos de teste para verificar detalhadamente todas as interfaces. A interface com o banco de dados/hardware/software externo deve ser testada detalhadamente.
  • Depois dos casos de teste, são os dados de teste que desempenham o papel crítico.
  • Sempre tenha os dados simulados preparados antes da execução. Não selecione dados de teste ao executar os casos de teste.