No teste de integração, verificam-se o funcionamento em conj...
Unidade: Focaliza o esforço na menor unidade de projeto do software. Geralmente é feita pelo desenvolvedor. Caminhos são testados para descobrir erros dentro dos limites de módulos.
Integração: Testa componentes com o objetivo de encontrar problemas durante suas interações; Objetiva construir uma estrutura de programa a partir dos componentes testados individualmentes; Sistemas devem ser integrados gradualmente para facilitar a localização de erros.
Validação: Começa quando termina o teste de integração, quando os componentes individuais já foram exercitados; "Validação tem sucesso quando o software funciona de uma maneira que pode ser razoavelmente esperada pelo cliente"; Objetiva demostrar conformidade com os requisitos do cliente.
Aceitação: Alfa(Conduzido na instalação do desenvolvedor pelos usuários finais); Beta (Conduzido nas instalações de um ou mais usuários finais).
bons estudos
Não é UIVA? ehhe Segundo Sommerville: "O Processo de integração do sistema envolve a construção de um sistema com base em componentes e o teste do sistema resultante dos problemas ocorridos nas interações entre os componentes. Os componentes integrados podem ser comerciais, reusáveis adaptados a determinado sistema ou componentes novos desenvolvidos. Para muitos sistemas de grande porte, provavelmente são usados os três tipos de componentes.
O teste de integração verifica se esses componentes funcionam realmente em conjunto, se são chamados corretamente e se transferem dados corretos no tempo correto por meio de suas interfaces."
Fonte: Engenharia de Software, Pág. 357, Cap. 23. 8ª Edição. Ian Sommerville. Editora Pearson Adison Wesley.
Discordo do gabarito: Segundo (SOMMERVILLE,I. Engenharia de Software - 9 edicao,pag.153), "Testes de Sistema verifica se os componentes sao compativeis, se integram corretamente e transferem os dados certos no momento certo, por interfaces". No livro do Sommervile 9ed, ele considera o Teste de sistema um teste de integração, portanto correto.
Nesse livro, os testes são dividos em teste unitário, teste de componente e teste de sistema. Não existe um teste de integração separado.
Quem usa essa nomenclatura é o Pressman. Conforme o trecho abaixo:
"Considerando o processo de um ponto de vista procedimental, o teste dentro do contexto de engenharia de software é na realidade um a série de quatro etapas que são implementadas sequencialmente. As etapas estão ilustradas na Figura 17.2. Inicialmente, os testes focalizam cada componente individualmente, garantindo que ele funcione adequadamente como uma unidade, daí o nome teste de unidade. O teste de unidade usa intensamente técnicas de teste com caminhos específicos na estrutura de controle de um componente para garantir a cobertura completa e a máxima detecção de erro. Em seguida, o componente deve ser montado ou integrado para formar o pacote completo de software. O teste de integração cuida de problemas associados com aspectos duais de verificação e construção de programa. Técnicas de projeto de casos de teste que focalizam em entradas e saídas são mais predominantes durante a integração, embora técnicas que usam caminhos específicos de programa possam ser utilizadas para segurança dos principais caminhos de controle. Depois que o software foi integrado (construído), é executada uma série de testes de ordem superior. Os critérios de validação (estabelecidos durante a análise de requisitos) devem ser avaliados. O teste de validação proporciona a garantia final de que o software satisfaz a todos os requisitos informativos, funcionais, comportamentais e de desempenho.
A última etapa de teste de ordem superior extrapola os limites da engenharia de software, entrando em um contexto mais amplo de engenharia de sistemas de computadores. O software, uma vez validado, deve ser combinado com outros elementos do sistema (por exemplo, hardware, pessoas, base de dados). O teste de sistema verifica se todos os elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida."
"...transferência de dados acontece no tempo correto...". Para mim está ambíguo, os testes que abordam essa perpesctiva são os testes de performance, podendo ser:
-Teste de carga:
Avalia o software sob as condições normais de uso. Ex.: tempo de resposta, número de transações por minuto, usuários simultâneos etc.
-Teste de stress:
Avalia o software sob condições extremas de uso. Grande volume de transações e usuários simultâneos. Picos excessivos de carga em curtos períodos de tempo.
-Teste de estabilidade:
Avalia se o sistema se mantém funcionando de maneira satisfatória após um período de uso.
Alternativa correta: C - certo
O teste de integração é uma etapa crucial no processo de desenvolvimento de software. Seu objetivo é verificar a interação entre diferentes módulos ou componentes do sistema. Diferentemente do teste unitário, que se concentra em partes isoladas do software, o teste de integração foca na combinação e no funcionamento conjunto dessas partes.
O enunciado menciona aspectos fundamentais dos testes de integração:
- Funcionamento conjunto dos componentes: Essa é a essência do teste de integração, assegurando que quando módulos individuais são combinados, eles operam como esperado em conjunto.
- Chamadas corretas entre componentes: Durante o teste, é verificado se as interações entre módulos (chamadas de métodos ou funções, por exemplo) são realizadas corretamente, sem erros ou chamadas indevidas.
- Transferência de dados no tempo correto: É fundamental que as informações fluam entre os componentes sem atrasos ou adiantamentos, o que poderia levar a erros de execução ou resultados incorretos.
Portanto, o enunciado está correto ao afirmar que o teste de integração avalia o funcionamento em conjunto dos componentes do sistema, a correta chamada entre eles e a adequada transferência de dados em suas interfaces. Por essas razões, a alternativa C está correta.