Você está na página 1de 17

Engenharia de Software – Testes de

Software(Modelo V)
Prof. Washington Almeida, MSC, ISF 27002
Modelo V

Modelo V (Sommerville, 2011)

3
Modelo V

4
Estágios de Testes
• Geralmente, o sistema de software comercial tem de passar
por três estágios de teste:
1) Testes em desenvolvimento: em que o sistema é testado durante o
desenvolvimento para descobrir bugs e defeitos.
2) Testes de release: em que uma equipe de teste independente testa
uma versão completa do sistema antes que ele seja liberado para os
usuários.
3) Testes de usuário: em que os usuários ou potenciais usuários de um
sistema testam o sistema em seu próprio ambiente.

5
Estágios de Teste

Estágio Tipo Finalidade


Desenvolvimento Unitário Ocorre durante o
Componentes desenvolvimento para descobrir
Sistema bugs e defeitos.
Release Baseado em Requisitos Equipe de teste independente
Cenário testa uma versão completa do
Desempenho sistema antes que ele seja
liberado para os usuários.
Usuário Alfa usuários ou potenciais usuários de
Beta um sistema testam o sistema em
Aceitação seu próprio ambiente

6
Teste em Desenvolvimento
• Realizado pelo próprio programador.
• Pode ser realizado em pares.
• Para sistemas críticos são usadas equipes específicas para
testes.
• Durante o desenvolvimento, o teste pode ocorrer em três
níveis de granularidade:
1. Teste unitário
2. Teste de componentes
3. Teste de sistema
7
Teste em Desenvolvimento

• Teste Unitário:
– As unidades individuais de programa ou classes de objetos são testadas
individualmente.
– Devem centrar-se em testar a funcionalidade dos objetos ou métodos.
– O teste unitário é o processo de testar o código do programa, como
métodos ou classes de objeto. As funções individuais ou métodos são o
tipo mais simples de componente.
– Seus testes devem ser chamadas para essas rotinas com parâmetros
diferentes de entrada.

8
Teste em Desenvolvimento

• Teste de Componentes:
– Várias unidades individuais são integradas para criar componentes
compostos.
– Testes de componentes devem centrar-se em testar as interfaces dos
componentes.
– Testes de componentes compostos devem centrar-se em mostrar que
a interface de componente se comporta de acordo com sua
especificação.

9
Testes em Desenvolvimento
• Teste de Componentes:
– Você pode assumir que os testes unitários sobre os objetos
individuais dentro do componente já foram concluídos.
– Os casos de teste não são aplicados aos componentes individuais,
mas sim à interface de componente criada pela combinação desses
componentes.
– Erros de interface no componente composto podem não ser
detectáveis por meio de testes em objetos individuais, pois esses
erros resultam de interações entre os objetos do componente.

10
Teste de Interface
Erros de Interface
I. Mau uso: Um componente chamador chama outro
componente e comete um erro no uso de sua interface.
Esse tipo de erro é comum com interfaces de parâmetro,
em que os parâmetros podem ser de tipo errado ou ser
passados na ordem errada, ou o número errado de
parâmetros pode ser passado.
II. Mau-entendimento: Um componente chamador
desconhece a especificação da interface. O componente
chamado não se comporta conforme o esperado. Por
exemplo, um método de busca binária pode ser chamado
com um parâmetro que é um vetor não ordenado. A
busca então falharia.
III. Erros de timing: Eles ocorrem em sistemas em tempo real
que usam uma memória compartilhada ou uma interface
de passagem de mensagens. O produtor e o consumidor
de dados podem operar em velocidades diferentes.

11
Teste em Desenvolvimento
• Testes de Sistemas:
– Alguns ou todos os componentes de um sistema estão integrados e o
sistema é testado como um todo.
– O teste de sistema deve centrar-se em testar as interações entre os
componentes.
– Testes de desenvolvimento são essencialmente um processo de teste
de defeitos, em que o objetivo do teste é descobrir bugs.

12
Modelo Tradicional de Testes

13
Questão 1
Ano: 2015 Banca: FCC Órgão: TRT - 3ª Região (MG) Prova: FCC - 2015 - TRT - 3ª Região (MG) - Analista
Judiciário - Tecnologia da Informação
Um profissional está trabalhando no processo de testes de desenvolvimento de
um software orientado a objetos. Inicialmente, realizou o teste das funcionalidades dos
objetos ou métodos das classes individualmente. Em seguida, integrou várias unidades
individuais criando elementos compostos e testou as interfaces desses elementos. Para
concluir a bateria de testes, integrou todos os componentes do software e testou a
integração entre eles como um todo. Os testes realizados pelo profissional foram testes:

a) funcionais, de integração e de aceitação.


b) alfa, beta e de sistema.
c) unitários, de componentes e de sistema.
d) funcionais, de componentes e de integração.
LETRA C
e) unitários, de integração e de aceitação.

14
Questão 2
Ano: 2019 Banca: COSEAC Órgão: UFF Prova: COSEAC - 2019 - UFF - Analista de Tecnologia da Informação
No processo de validação de software, quando os componentes individuais são avaliados para garantir
que eles possam operar corretamente, sendo testados independentemente, isto é, sem a presença
de outros componentes do sistema, isto é conhecido como teste de:
a) módulo.
b) aceitação.
c) subsistema.
d) unidade.
e) sistema.

LETRA D

15
Gabarito

Questão Resposta
1 C

2 D

16
Continua...
• Tipos de Testes
• Finalidades
• Outros Tópicos Relevantes

17
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.

18

Você também pode gostar