Engenharia de Software – Testes de
Software(Tipos)
Prof. Washington Almeida, MSC, ISF 27002
Classificação
Estágio Justificativa Tipo Como funciona ?
Desenvolvimento Ocorre durante o Unitário As unidades individuais de programa ou classes de objetos
desenvolvimento para são testadas individualmente.
descobrir bugs e Componentes Os casos de teste não são aplicados aos componentes
defeitos. individuais, mas sim à interface de componente criada
pela combinação desses componentes.
Sistema Alguns ou todos os componentes de um sistema estão
integrados e o sistema é testado como um todo.
Release Equipe de teste Baseado em Considera cada requisito e deriva um conjunto de testes
independente testa Requisitos para eles. Demonstrar que o sistema implementou
uma versão completa adequadamente seus requisitos.
do sistema antes que Cenário Cria cenários típicos de uso e os usa para desenvolver
ele seja liberado para casos de teste para o sistema
os usuários.
Desempenho Precisam ser projetados para assegurar que o sistema
possa processar a carga a que se destina. Analisar critérios
ligados a consumo de recursos de processamento,
memória e tempo de resposta. 3
Classificação
Estágio Justificativa Tipo Como funciona ?
Usuário Usuários ou potenciais Alfa Tipo de teste onde os usuários do software trabalham
usuários testam o com a equipe de desenvolvimento para testar o
sistema. software no local do desenvolvedor.
Beta Ocorre quando um release antecipado, por vezes
inacabado, de um sistema de software é
disponibilizado aos clientes e usuários para avaliação.
Aceitação O cliente testa formalmente o sistema para decidir se
ele deve ser aceito por parte do fornecedor do sistema
ou se é necessário um desenvolvimento adicional.
4
Outras denominações
Estágio Justificativa Tipo Como funciona ?
Release Teste de release Caixa-Preta O objetivo é verificar se o sistema atende a seus requisitos e é
(Funcionais) costuma ser um bom o suficiente para uso externo (teste de validação).
processo de teste no Caixa-Branca Testes de caixa-branca buscam verificar o comportamento interno
qual, os testes são do software (código-fonte).
derivados da
especificação de Regressão Reexecução de testes anteriores para verificar se as alterações no
sistema. programa não introduziram novos bugs. Em testes automatizados,
os testes são codificados em um programa que é executado cada
vez que o sistema em desenvolvimento é testado.
Release Uma vez que o sistema Carga Precisam ser projetados para assegurar que o sistema possa
(Desempenho) tenha sido totalmente processar a carga a que se destina. Ex: 300 usuários simultâneos.
integrado, é possível
testá-lo para Estresse Estão interessados tanto em demonstrar que o sistema atende
propriedades seus requisitos quanto em descobrir problemas e defeitos do
emergentes (RNF), sistema. Uma forma eficaz de descobrir os defeitos é projetar
como desempenho e testes para os limites do sistema.
confiabilidade. 5
Modelo V
• Aceitação: conduzido pelo cliente
voltado para empregar todos os
fatores e funções requisitados.
• Sistema: avalia se os requisitos
foram atendidos para o sistema
completo (ou incremento de
software)
• Integração: realizado à medida que
o sistema é construído, analisando a
integração entre os componentes
compostos.
• Unidade: menor unidade, métodos,
funções ou componentes simples.
(PRESSMAN, 2016) 6
Questão 1
Ano: 2018 Banca: FAURGS Órgão: UFRGS Prova: FAURGS - ( ) Seu objetivo é verificar o comportamento do software contra a
2018 - UFRGS - Técnico de Tecnologia da Informação - lógica de negócio descrita nos documentos de requisitos e
Sistema da Informação. especificação.
Numere a segunda coluna de acordo com a primeira,
associando os termos com suas respectivas definições. ( ) Teste que foca na lógica interna de processamento e nas estruturas
de dados dentro dos limites de um componente.
(1) Teste de regressão
(2) Teste funcional ( ) Verifica a performance do software durante a execução,
(3) Teste caixa-branca principalmente em relação aos critérios ligados a consumo de recursos
(4) Teste unitário de processamento, memória e tempo de resposta.
(5) Teste de estresse
( ) Processo de retestar um software que sofreu modificações.
(6) Teste de desempenho
(7) Teste de segurança
(8) Teste de software A sequência numérica correta de preenchimento dos parênteses da
(9) Teste de carga segunda coluna, de cima para baixo, é
a) 5 – 3 – 9 – 6.
b) 2 – 4 – 6 – 1.
c) 4 – 6 – 9 – 1.
d) 2 – 3 – 5 – 9.
LETRA B
e) 5 – 4 – 6 – 8.
7
Questão 2
Ano: 2018 Banca: CESPE Órgão: BNB Prova: CESPE - 2018 - BNB - Especialista Técnico - Analista de Sistema
O item a seguir apresenta uma situação hipotética, seguida de uma assertiva a ser julgada, com relação
a testes de software.
Determinada equipe de desenvolvimento de softwares pretendia realizar testes que permitissem avaliar
cenários com os quais os usuários reais do sistema pudessem se relacionar. Esses cenários deveriam
descrever uma maneira de usar o sistema. Para isso, foram sugeridos os testes de release e de
cenário. Nessa situação, será correto aplicar testes de cenários, que são incompatíveis com os
de release, devendo a aplicação desses últimos ser descartada.
ERRADO
Justificativa: Teste de cenário é um dos tipos de Teste de Release.
8
Questão 3
Ano: 2018 Banca: CESPE Órgão: BNB Prova: CESPE - 2018 - BNB - Especialista Técnico - Analista de Sistema
O item a seguir apresenta uma situação hipotética, seguida de uma assertiva a ser
julgada, com relação a testes de software.
Uma equipe de desenvolvimento de softwares pretendia realizar testes de forma
incremental durante o desenvolvimento de um programa, a fim de verificar se
mudanças no programa não haviam nele introduzido novos bugs; para isso, foram
sugeridos os testes unitários e de regressão. Nessa situação, será correto utilizar os
testes unitários, mas não os testes de regressão, pois esses últimos não visam
verificar novos bugs, mas sim, tão somente, avaliar as funcionalidades do sistema.
ERRADO
Justificativa: Testes de Regressão visam verificar se surgiram bugs aonde antes não existiam.
9
Questão 4
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 unitários são aplicados em subprogramas individuais ou em componentes maiores construídos com unidades altamente
coesas e são executados:
I. sempre com acesso ao código que está sendo testado.
II. normalmente com o suporte de ferramentas de depuração.
III. sempre pelos programadores que escreveram o código.
IV. para verificar o funcionamento dos elementos de software separadamente.
Está correto o que consta de
a) I e IV, apenas.
b) I, II e III, apenas.
c) I, II e IV, apenas.
d) II, III e IV, apenas.
e) I, II, III e IV. LETRA C
Justificativa:
III. Errado pois pode ser escrito por testadores, além de serem automatizados logo não precisa ser o
programador que escreveu que vá executar.
10
Questão 5
Ano: 2018 Banca: UFPR Órgão: COREN-PR Prova: UFPR - 2018 - COREN-PR - Analista de Tecnologia da Informação
Sobre testes de software, identifique como verdadeiras (V) ou falsas (F) as seguintes afirmativas:
( ) Um teste bem-sucedido identifica defeitos.
( ) Casos de teste são especificações das entradas para o teste e da saída esperada do sistema.
( ) Um teste caixa-preta é um teste estrutural, em que partes específicas de componentes são testadas.
( ) Um teste de aceitação foca em cada unidade do software, ou seja, seu código-fonte.
Assinale a alternativa que apresenta a sequência correta, de cima para baixo.
a) V – V – F – F.
b) F – F – V – V.
c) V – F – F – V. LETRA A
d) F – V – V – F.
e) V – V – V – V.
Justificativa:
III. Caixa-preta é o teste que não se preocupa com detalhes da implementação nem em partes específicas de
componentes.
IV. Teste a nível de usuário e não se preocupa com código-fonte, está no nível mais alto do modelo V. 11
Gabarito
Questão Resposta
1 LETRA B
2 ERRADO
3 ERRADO
4 LETRA C
5 LETRA A
12
Continua...
• Tipos de Testes
• Finalidades
• Outros Tópicos Relevantes
13
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.
14