O que é teste de integração?
O teste de integração é uma fase de desenvolvimento e teste de software na qual várias unidades ou módulos em uma configuração de programa ou hardware são reunidos e testados. Essas várias unidades geralmente foram testadas individualmente para garantir que cada unidade funcione adequadamente sozinha; essa fase de teste integra essas unidades díspares em um sistema maior. Isso pode ser feito no desenvolvimento de software para garantir que diferentes aspectos de um programa maior possam trabalhar juntos ou em testes de hardware para garantir a funcionalidade adequada entre diferentes unidades. O teste de integração é uma fase essencial do teste, pois muitos bugs podem ser encontrados e versões de lançamento inicial do software ou hardware geral podem ser desenvolvidas.
Também conhecido como integração e teste, ou I&T, o teste de integração é normalmente visto como a segunda fase principal do teste. A primeira fase é chamada de teste de unidade e concentra-se principalmente no teste de unidades individuais ou partes de um programa ou sistema maior para garantir que cada unidade funcione por conta própria. Essas unidades separadas são reunidas no teste de integração, uma vez que cada um deles passou no teste de unidade, para garantir que eles possam trabalhar juntos em grupos maiores. Posteriormente, eles normalmente serão reunidos no sistema ou programa completo sendo desenvolvido e testado como parte desse sistema completo, que é chamado de teste do sistema.
Existem várias maneiras de executar o teste de integração, embora existam alguns métodos comuns normalmente usados. O teste de baixo para cima é bastante comum e geralmente envolve testar diferentes aspectos de um sistema integrado, começando pelos níveis mais baixos do sistema. Depois que esses aspectos "inferiores" do sistema passam no teste, o teste passa "para cima" para aspectos mais importantes. Uma forma descendente de teste de integração também pode ser realizada, na qual os níveis mais altos de um sistema são testados primeiro e o processo continua se movendo "para baixo" para níveis mais baixos.
Um dos principais problemas com esses dois tipos de teste de integração, no entanto, é que nenhum deles pode estabelecer facilmente um lançamento antecipado de um produto com funcionalidade básica. Esse tipo de lançamento da versão alfa pode ser vital para maiores oportunidades de teste e, portanto, outras abordagens geralmente devem ser adotadas para permitir esse lançamento. Uma dessas abordagens é uma forma de teste "big bang", na qual todas as partes do sistema integrado são testadas simultaneamente. Isso pode ser vantajoso se houver poucos problemas ou bugs no software sendo testado, mas pode ser difícil identificar problemas específicos se houver muitos.
Há também um tipo de teste de integração chamado de "teste sanduíche" que visa aliviar alguns desses problemas. Basicamente, esse tipo de teste começa com os testes de cima para baixo e de baixo para cima simultaneamente, e as duas formas de teste "se encontram efetivamente no meio". Isso permite o teste inicial de sistemas lógicos básicos, uma vantagem dos testes de cima para baixo, e identifica problemas menores anteriormente, como nos testes de baixo para cima. Esses testes também podem produzir mais rapidamente uma versão de lançamento antecipado do produto para testes em larga escala ou demonstrações avançadas da mídia.