Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software...

50
Pedro de Assis Sobreira Jr. Teste de Software Prof. Camila

Transcript of Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software...

Page 1: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

Pedro de Assis Sobreira Jr.

Teste de Software

Prof. Camila

Page 2: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

2

Técnicas de Testes

•Técnica de Teste Funcional

•Técnica de Teste Estrutural

Page 3: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

3

Testes Funcionais

•Teste de Especificação de Requisitos.

•Teste de Regressão.

•Teste de Tratamento de erro.

•Teste de Suporte Manual.

•Teste de Interconexão.

•Teste de Controle.

•Teste Paralelo.

Page 4: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

4

Teste de Especificação

de Requisitos

• Verifica se o sistema é executado

conforme o que foi especificado. São

realizados através da criação de

condições de testes e cheklists de

funcionalidades.

Page 5: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

5

Teste de Regressão

• Testa se algo mudou em relação ao

que já estava funcionando corretamente,

ou seja, é voltar a testar segmentos já

testados após uma mudança em outra

parte do software. Os testes de

regressão devem ser feitos tanto no

software quanto na documentação.

Page 6: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

6

Teste de Tratamento

de Erro

• Determina a capacidade do software de

tratar transações incorretas. Esse tipo de

teste requer que o testador pense

negativamente e conduza testes como:

entrar com dados cadastrais impróprios,

tais como preços, salários, etc., para

determinar o comportamento do software

na gestão desses erros.

Page 7: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

7

Teste de Tratamento

de Erro

•Produzir um conjunto de transações

contendo erros e introduzi-los no sistema

para determinar se este administra os

problemas.

Page 8: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

8

Teste de Suporte

Manual

•Verifica se os procedimentos de suporte

manual estão documentados e

completos, determina se as

responsabilidades pelo suporte manual

foram estabelecidas.

Page 9: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

9

Teste de Interconexão

•Garante que a interconexão entre os

softwares de aplicação funcione

corretamente. Pois, softwares de

aplicação costumam estar conectados

com outros softwares de mesmo tipo.

Page 10: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

10

Teste de Controle

•Assegura que o processamento seja

realizado conforme sua intenção. Entre

os controles estão a validação de dados,

a integridade dos arquivos, as trilhas de

auditoria, o backup e a recuperação, a

documentação, entre outros.

Page 11: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

11

Teste de Paralelo

•Comparar os resultados do sistema

atual com a versão anterior

determinando se os resultados do novo

sistema são consistentes com o

processamento do antigo sistema ou da

antiga versão.

Page 12: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

12

Teste de Paralelo

•O teste paralelo exige que os mesmos

dados de entrada rodem em duas

versões da mesma aplicação. Por

exemplo: caso a versão mude e os

requisitos não, os dados de saída das

duas versões devem ser iguais.

Page 13: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

13

Testes Estruturais

•Teste de Execução.

•Teste de Estresse.

•Teste de Recuperação.

•Teste de Operação.

•Teste de Conformidade.

Page 14: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

14

Testes Estruturais

•Teste de Segurança.

•Teste de Unidade.

•Teste de Interação ou Integração.

•Teste de Sistema.

•Teste de Aceitação

Page 15: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

15

Teste de Execução

•Verifica os tempos de resposta, de

processamento e o desempenho

(performance), avaliando o

comportamento do software no ambiente

de produção e verificando se as

premissas de desempenho são

atendidas.

Page 16: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

16

Teste de Execução

•Em um sistema que possui dez módulos

diferentes e que foi desenvolvido por

equipes diferentes, o teste de execução

avalia o sistema como um todo, é como

se o teste de execução fosse um “play”

no sistema.

Page 17: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

17

Teste de Estresse

•Avalia o comportamento do software

sob condições críticas, tais como

restrições significativas de memória,

espaço em disco, etc., ou seja, coloca o

software sob condições mínimas de

operação.

Page 18: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

18

Teste de Recuperação

•A recuperação é a capacidade de

reiniciar operações após a perda da

integridade de uma aplicação como, por

exemplo: Ao desligar o computador,

queda de energia elétrica, entre outros.

O teste de recuperação garante a

continuidade das operações após um

desastre.

Page 19: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

19

Teste de Operação

•Avalia o processo e sua execução, são

desenhados para estabelecer se o

sistema é executável durante a operação

normal, é um tipo de teste muito

específico, depende do software a ser

testado um exemplo é o software de

“Call Center”.

Page 20: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

20

Teste de

Conformidade

•Verifica se o software foi desenvolvido

de acordo com padrões, normas,

procedimentos e guias de TI.

Page 21: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

21

Teste de Segurança

•Avalia a adequação dos procedimentos

de proteção e as contramedidas

projetadas, para garantir a

confidencialidade das informações e a

proteção dos dados contra o acesso não

autorizado de terceiros.

Page 22: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

22

Teste de Unidade

•É aplicado aos menores componentes

de código, é feito pelos programadores e

testa as unidades individuais: funções,

objetos e componentes.

Page 23: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

23

Teste de Integração

ou Interação

•É feito ao término de cada iteração para

validar a execução das funções

referentes aos casos de uso, é feito

normalmente pelo analista de sistemas.

Page 24: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

24

Teste de Sistema

•Executa o sistema como um todo para

validar a execução das funções

acompanhando cenários elaborados

(casos de teste) por um analista de

testes em um ambiente de testes.

Page 25: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

25

Teste de Aceitação

•É feito antes da implantação do

software, o cliente é quem executa este

tipo de teste no ambiente de

homologação, tem como objetivo

verificar se o software está pronto para

ser utilizado pelos usuários finais.

Page 26: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

26

Ciclo de Vida dos

Testes

•Planejamento.

•Preparação.

•Especificação.

•Execução.

•Entrega.

Page 27: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

27

Planejamento

•Nesta fase é elaborada a Estratégia de

Teste e o Plano de Teste.

Page 28: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

28

Preparação

•O objetivo desta fase é preparar o

Ambiente de Teste (equipamentos,

pessoal, ferramentas de automação,

massa de testes) para que os testes

sejam executados conforme planejados.

Page 29: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

29

Especificação

•Nesta fase temos as seguintes

atividades: Elaborar/ Revisar casos de

testes e Elaborar/ Revisar roteiros de

testes.

Page 30: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

30

Execução

•Os testes são executados e os

resultados obtidos são registrados.

Page 31: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

31

Entrega

•Esta é a última fase do ciclo de vida de

testes, onde o projeto é finalizado e toda

documentação é finalizada e arquivada.

Page 32: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

32

Fundamentos do

Teste de Software

Características que levam um software

testável:

•Operabilidade.

•Observabilidade.

•Controlabilidade.

Page 33: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

33

Fundamentos do

Teste de Software

Características que levam um software

testável:

•Decomponibilidade.

•Simplicidade.

•Estabilidade.

•Compreensibilidade.

Page 34: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

34

Operabilidade

“Quanto melhor funciona, mais

eficientemente pode ser testado.”

Se um sistema é projetado e

implementado com qualidade em mente,

poucos defeitos vão bloquear a

execução dos testes, permitindo que o

teste progrida sem arrancos.

Page 35: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

35

Observabilidade

“O que você vê é o que você testa”.

Entradas fornecidas como parte do teste

produzem saídas distintas. Estados e

variáveis do sistema são visíveis ou

consultáveis durante a execução. Saída

incorreta é facilmente identificada. Erros

internos são automaticamente

detectados. O código- fonte é acessível.

Page 36: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

36

Controlabilidade

“Quanto melhor você pode controlar o

software, mais o teste pode ser

automatizado e otimizado.” Estados e

variáveis do software e do hardware

podem ser controlados diretamente pelo

engenheiro de teste. Testes podem ser

especificados, automatizados e

reproduzidos.

Page 37: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

37

Decomponibilidade

“Controlando o escopo do teste,

podemos isolar problemas mais

rapidamente e realizar retestagem mais

racionalmente.” O sistema de software é

construído por meio de módulos

independentes, que podem ser testados

independentemente.

Page 38: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

38

Simplicidade

“Quanto menos houver a testar, mais

rapidamente podemos testá-los”. O

programa deve exibir:

• Simplicidade Funcional: por exemplo, o

conjunto de características é mínimo

necessário para satisfazer aos

requisitos.

Page 39: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

39

Simplicidade

•Simplicidade Estrutural: por exemplo, a

arquitetura é modularizada para limitar a

propagação de defeitos.

•Simplicidade do código:por exemplo,

uma norma de codificação é adotada

para facilitar a inspeção e a manutenção.

Page 40: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

40

Estabilidade

“Quanto menos modificações, menos

interrupções no teste”. Modificações no

software não são frequentes, controladas

quando ocorrem e não invalidam os

testes existentes. O software recupera-

se bem das falhas.

Page 41: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

41

Compreensibilidade

“Quanto mais informações temos, mais

racionalmente vamos testar.” O projeto

arquitetural e as dependências entre

componentes internos, externos e

compartilhados são bem compreendidos.

Page 42: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

42

Compreensibilidade

Documentação técnica é acessível

instantaneamente, bem organizada,

específica, detalhada e precisa.

Modificações ao projeto são

comunicadas aos testadores.

Page 43: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

43

Tipos de teste

Teste de Caixa Preta

Teste de Caixa Branca

Page 44: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

44

Teste Caixa Preta

•Testa-se as funcionalidades verificando

sua correta operação segundo uma ótica

externa a implementação.

•É baseado no que o software faz.

•Teste voltado para depois do término do

software.

Page 45: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

45

Teste Caixa Preta

Exemplo:

Testar telas e resultados, entrada e

saída.

Page 46: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

46

Teste Caixa Branca

Teste mais a nível de código.

•Testa os IF, WHILE e todas as

estruturas de controle, acesso a dados e

interface. Verificando seu correto

funcionamento.

Page 47: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

47

Teste Caixa Branca

Exemplo:

Garante que todos os caminhos foram

percorridos pelo menos uma vez.

Executa os loops.

Page 48: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

48

Quem testa?

Caixa Preta: São Analistas/ Usuários

Finais/ Engenheiros de Teste/ Equipe de

Teste.

Caixa Branca: São os Desenvolvedores/

Programadores/ Analistas/ Engenheiros

de Teste.

Page 49: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

49

Porque investir

em testes?

•Diminui o custo do retrabalho de

desenvolvimento do software.

•Garantia da qualidade nos sistemas

desenvolvidos.

•Maior credibilidade da empresa no

mercado.

Page 50: Teste de Software - sistemas.riopomba.ifsudestemg.edu.br · • Determina a capacidade do software de tratar transações incorretas. Esse tipo de ... testes em um ambiente de testes.

50

Porque investir

em testes?

•Menor tempo para detectar defeitos

(menor custo de desenvolvimento).

•Pessoas treinadas e capacitadas para

testes.

•Utilização de ferramentas apropriadas

para automação de teste.