Você está na página 1de 15

Engenharia de Software – Testes de

Software (Tipos – 3ª parte)


Prof. Washington Almeida, MSC, ISF 27002
Teste de Integração
• É uma técnica sistemática para construir a arquitetura de software
ao mesmo tempo que conduz testes para descobrir erros
associados com as interfaces.
• O objetivo é construir uma estrutura de programa determinada
pelo projeto a partir de componentes testados em unidade.
• Muitas vezes há uma tendência de tentar integração não
incremental;
• Construir o programa usando uma abordagem big bang. Todos os
componentes são combinados com antecedência. O programa
inteiro é testado como um todo. E, usualmente, o resultado é o
caos!
3
Integração Incremental
• É o oposto da abordagem big bang.
• O programa é construído e testado em pequenos incrementos,
em que os erros são mais fáceis de isolar e corrigir;
• As interfaces têm maior probabilidade de ser testadas
completamente;
• Uma abordagem sistemática de teste pode ser aplicada.
• Integração descendente: top-down.
• Integração ascedente: bottom-up.
4
Integração Incremental
Descendente – top-down Ascendente – bottom-up

5
Teste de Regressão
• Sempre que o software é corrigido, algum aspecto da
configuração do software (o programa, sua documentação, ou
os dados que o suportam) é alterado.
• Ajuda a garantir que as alterações (devido ao teste ou por
outras razões) não introduzam comportamento indesejado ou
erros adicionais.
• Podem ser executado manualmente, reexecutando um
subconjunto de todos os casos de teste ou usando ferramentas
automáticas de captura/reexecução

6
Teste Fumaça
• Abordagem de teste de integração usada frequentemente quando
produtos de software são desenvolvidos.
• É projetado como um mecanismo de marca-passo para projetos
com prazo crítico, permitindo que a equipe de software avalie o
projeto frequentemente.
• Pode ser caracterizado como uma estratégia de integração rolante.
O software é recriado (com novos componentes acrescentados) e o
teste fumaça é realizado todos os dias.
• A finalidade deverá ser descobrir erros “bloqueadores”
(showstopper) que apresentam a mais alta probabilidade de atrasar
o cronograma.
7
Contexto O.O
• O teste de classe para software OO é o equivalente ao teste de
unidade para software convencional.
• Diferentemente do teste de unidade do software convencional, que
tende a focalizar o detalhe algorítmico de um módulo e os dados
que fluem através da interface do módulo.
• Controlado pelas operações encapsuladas na classe e pelo estado
de comportamento da classe.
• Devido ao software orientado a objeto não ter uma estrutura óbvia
de controle hierárquico, as estratégias tradicionais de integração
descendente e ascendente têm pouco significado.
8
Contexto O.O
• Teste baseado em sequência de execução (thread-based
testing), integra o conjunto de classes necessárias para
responder a uma entrada ou um evento do sistema.
• O teste de agregado (cluster) é uma etapa no teste de
integração de software OO.
• Nesse caso, um agregado de classes colaboradoras é exercitado
projetando casos de teste que tentam descobrir erros nas
colaborações.

9
Teste de Validação
• Como todas as outras etapas de teste, a validação tenta descobrir
erros, mas o foco está no nível de requisitos — em coisas que
ficarão imediatamente aparentes para o usuário final.
• Teste Alfa e Beta.
• Revisão da configuração: Sua finalidade é garantir que todos os
elementos da configuração do software tenham sido
adequadamente desenvolvidos, estejam catalogados e tenham os
detalhes necessários para amparar as atividades de suporte.
• A revisão de configuração, também chamada de auditoria.
10
Questão 1
Ano: 2018 Banca: FCC Órgão: SEFAZ-SC Prova: FCC - 2018 - SEFAZ-SC - Auditor-Fiscal da Receita Estadual - Tecnologia da
Informação (Prova 3)
Os testes de integração:
a) são processos para verificar as iterações entre os componentes de software.
b) incrementais são frequentemente usados com software estruturado hierarquicamente.
c) top-down e bottom-up são os preferidos para reunir todos os componentes de uma só vez,
chamado de teste “big bang”.
d) geralmente são atividades contínuas em cada estágio do desenvolvimento.
e) envolvem gradualmente os componentes ou subsistemas de software com base em segmentos não-
funcionais.
LETRA D
Justificativa:
a) troca iteração por interação
b) Incrementais são frequentemente usados no contexto O.O
c) big bang, abordagem não incremental
d) segmentos funcionais
11
Questão 2
Ano: 2016 Banca: IF-RS Órgão: IF-RS Prova: IF-RS - 2016 - IF-RS - Professor - Informática Geral
Cada vez que um novo módulo é adicionado como parte do teste de integração, o software se modifica.
Novos caminhos de fluxo de dados são estabelecidos, nova lógica de controle é acionada. Para
garantir que este tipo de alteração não ocasione algum efeito colateral indesejável no sistema já
desenvolvido, devem ser executados testes de:
a) Regressão.
b) Fumaça.
c) Estresse.
d) Segurança.
e) Caso de uso.
LETRA A

12
Questão 3
Ano: 2017 Banca: CESPE Órgão: TRT - 7ª Região (CE) Prova: CESPE - 2017 - TRT - 7ª Região (CE) - Analista Judiciário - Tecnologia da
Informação
Considere um teste de software com a seguinte definição: abordagem de teste de integração usada em
tempo de desenvolvimento, como um mecanismo de marca-passo para projetos com prazo crítico,
em que a construção é integrada a outras construções e o produto inteiro (em sua forma atual) passa
diariamente pelo teste. Essas são características do teste:
a) de segurança.
b) de funcionalidade.
c) fumaça.
d) de carga (stress). LETRA C

13
Gabarito

Questão Resposta
1 LETRA D

2 LETRA A

3 LETRA C

14
Continua...
• Testes de Sistema
• Finalidades
• Outros Tópicos Relevantes

15
Referências
• PRESSMAN, Roger S. ; Bruce R. Maxim. Engenharia de Software, Uma Abordagem Profissional, 8° ed.
Porto Alegre: AMGH, 2016. ISBN 978-85-8055- 533-2.
• SOMMERVILLE, Ian. Engenharia de Software, 9. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN 978-
85-7936-108-1.

16

Você também pode gostar