teste de software - sistemas.riopomba.ifsudestemg.edu.br · • determina a capacidade do software...

Post on 07-Nov-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pedro de Assis Sobreira Jr.

Teste de Software

Prof. Camila

2

Técnicas de Testes

•Técnica de Teste Funcional

•Técnica de Teste Estrutural

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

13

Testes Estruturais

•Teste de Execução.

•Teste de Estresse.

•Teste de Recuperação.

•Teste de Operação.

•Teste de Conformidade.

14

Testes Estruturais

•Teste de Segurança.

•Teste de Unidade.

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

•Teste de Sistema.

•Teste de Aceitação

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.

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.

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.

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.

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

20

Teste de

Conformidade

•Verifica se o software foi desenvolvido

de acordo com padrões, normas,

procedimentos e guias de TI.

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.

22

Teste de Unidade

•É aplicado aos menores componentes

de código, é feito pelos programadores e

testa as unidades individuais: funções,

objetos e componentes.

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.

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.

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.

26

Ciclo de Vida dos

Testes

•Planejamento.

•Preparação.

•Especificação.

•Execução.

•Entrega.

27

Planejamento

•Nesta fase é elaborada a Estratégia de

Teste e o Plano de Teste.

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.

29

Especificação

•Nesta fase temos as seguintes

atividades: Elaborar/ Revisar casos de

testes e Elaborar/ Revisar roteiros de

testes.

30

Execução

•Os testes são executados e os

resultados obtidos são registrados.

31

Entrega

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

testes, onde o projeto é finalizado e toda

documentação é finalizada e arquivada.

32

Fundamentos do

Teste de Software

Características que levam um software

testável:

•Operabilidade.

•Observabilidade.

•Controlabilidade.

33

Fundamentos do

Teste de Software

Características que levam um software

testável:

•Decomponibilidade.

•Simplicidade.

•Estabilidade.

•Compreensibilidade.

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.

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.

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.

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.

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.

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.

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.

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.

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.

43

Tipos de teste

Teste de Caixa Preta

Teste de Caixa Branca

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.

45

Teste Caixa Preta

Exemplo:

Testar telas e resultados, entrada e

saída.

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.

47

Teste Caixa Branca

Exemplo:

Garante que todos os caminhos foram

percorridos pelo menos uma vez.

Executa os loops.

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.

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.

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.

top related