• Nenhum resultado encontrado

Níveis de Teste

N/A
N/A
Protected

Academic year: 2021

Share "Níveis de Teste"

Copied!
35
0
0

Texto

(1)



Processo de teste



Fundamentos de teste



Estratégias de teste



Níveis de teste



Depuração



Princípios de teste

Sumário

(2)

108

teste de unidade teste de integração

teste de validação/ aceitação

teste de sistema

(3)

O modelo V

especificar requisitos projetar codificar revisar especificação revisar projeto revisar código testes de especificar testes de integração especificar e projetar codificar testes de sistema especificar e projetar codificar revisar plano de teste de unidade executar teste de unidade executar teste de integração revisar plano de teste de integração revisar plano de teste de sistema executar teste de sistema

(4)

Testes de unidade



Uma unidade é o menor componente

testável de software

 função, método, classe, objeto



Objetivo principal do teste de unidade é

garantir que cada unidade funciona de

acordo com sua especificação

(5)

Testes de unidade



devem ser planejados e seus resultados

devem ser relatados e se tornarem públicos



devem prever casos de testes que sejam

projetados seguindo ambas estratégias

(caixa preta e caixa branca)



devem ser realizados por uma pessoa

diferente do desenvolvedor



os resultados e defeitos encontrados devem

ser armazenados

(6)

Tarefas de preparação para testes de

unidade



Planejar a abordagem geral dos testes de

unidade



Projetar os casos de testes e os

procedimentos de teste



Definir relações entre os testes



Preparar o código auxiliar necessário para o

teste

(7)

unidade

stub stub

driver

casos de teste

(8)

Execução de testes de unidade

 após a execução, armazenar e analisar resultados

 detectar se o teste produziu a saída esperada ou não

 em caso negativo armazenar o acontecido em um relatório de incidentes de teste

 causas do teste não produzir a saída esperada

 defeitos na implementação da unidade,

 falhas na especificação do caso de teste (a entrada ou saída não foi especificada corretamente),

 falhas na execução do procedimento de teste,

 falha no ambiente de teste,

 falha no desenho da unidade (o código reflete a especificação do desenho mas a especificação está incorreta)

(9)

Testes de Integração



Objetivos principais

 detectar defeitos que ocorrem nas interfaces das unidades

 montar subsistemas compostos das unidades individuais até chegar a um sistema completo que pode ser exercitado através dos testes de sistema

(10)

Estratégias de integração



O processo de testes de integração deve

ocorrer iterativamente e incrementalmente

(11)

módulo raiz é testado com stubs

stubs são trocados pelos módulos reais, um de cada vez, seguindo o critério da profundidade ou amplitude

a medida que novos módulos são integrados testes de regressão são executados.

A B C D E F G

Integração top-down

(12)

drivers são removidos uma vez que o teste do subsistema é feito

módulos são integrados usando um driver A B C D E F G subsistema

Integração bottom-up

(13)

Integrando classes

Classe 1 Método a Método b Classe 2 Método d Método h Classe 3 Método c Método g Classe 4 Método e Método f Mensagem 1 Cluster A Mensagem de entrada Mensagem de saída Mensagem 2 Mensagem 3 Mensagem 4

(14)

Testes de sistema



Objetivo:

 garantir que o sistema funciona de acordo com seus requisitos funcionais e de qualidade

(confiabilidade, usabilidade, desempenho, etc)



Tipos de defeitos que são detectados com

teste de sistema:

 condições de corrida, deadlock, uso ineficiente de memória

(15)

Tipos de teste de sistema

Documentos de requisitos Sistema de software integrado Sistema pronto Testes

funcionais Testes destress e carga Testes desegurança Testes deconfiguração Testes dedesempenho

Testes aprovados Testes de recuperação Testes de sistema Perfil de uso Manuais do usuário

(16)

Teste de Ambiente e Arquitetura

 Teste de GUIs (Graphical User Interface)

 Padronização

 Automatização

 Complexidade

 Teste de arquitetura cliente/servidor

 Performance

 Complexidade de rede

(17)

Teste de Documentação

 Tipos  Revisão e inspeção  Teste “vivo”  Precisão  Exemplificação  Coerência  Facilidade de uso  Resolução de problemas  Formatação  Mensagens de erro  Navegação

(18)

Testes de aceitação



Objetivo:

 permitir aos usuários e clientes avaliarem o software com relação as suas expectativas e objetivos



Os testes de aceitação

 são baseados

 nos requisitos do sistema

 no manual do usuário do sistema

 devem ser executados

 sob condições reais de operação por várias horas ou dias submetendo entradas típicas e ilegais.

(19)

Testes de regressão



Objetivo:

 retestar o software quando alguma mudança for feita para garantir que a nova versão do

software não possui nenhum defeito acrescentado durante a mudança.



Teste de regressão

 pode acontecer em qualquer um dos níveis

 importante se várias versões de um mesmo sistema são desenvolvidas

(20)

Documentação de testes

 Plano de teste

 especificação dos casos de teste

 especificação dos procedimentos de teste

 Relatórios de teste

 log dos testes

 contém tudo que foi feito

 incidentes de testes

 eventos que merecem investigação

 podem ou não revelar defeitos

 resumo de testes

 avaliação da eficácia dos testes

(21)

Componentes de um plano de teste

 identificador  itens a testar  aspectos a testar  abordagem  critérios de completeza e sucesso  critérios de suspensão e retomada  resultados (relatórios)  tarefas de teste  ambiente de teste  responsabilidades  agenda  riscos e contingências  custos  aprovação  anexos  casos de teste

(22)



Processo de teste



Fundamentos de teste



Estratégias de teste



Níveis de teste



Depuração



Princípios de teste

Sumário

(23)

Depuração: um processo de

diagnóstico

(24)

casos de teste resultados Depuração causas suspeitas causas identificadas correções testes de regressão novos casos de teste

O processo de depuração

(25)

tempo requerido para diagnosticar o sintoma e determinar a causa tempo requerido para corrigir um erro e conduzir testes de regressão

O esforço de depuração

(26)

sintoma

causa

o sintoma e a causa podem estar geograficamente separados

o sintoma pode desaparecer quando um outro problema é consertado

a causa pode ser uma combinação de fatores que não são erros

a causa pode ser devido a um erro de sistema ou de compilador

a causa pode ser devido a uma

premissa errada que todos acreditam

o sintoma pode ser intermitente

(27)

Depuração: sugestões



Não saia fazendo tudo que der na cabeça,

pense sobre o sintoma



Use ferramentas (por exemplo, um

debugger) para obter um entendimento

maior



Se ficar agarrado, peça ajuda a outra

pessoa



Faça testes de regressão quando você

“consertar” o erro

(28)



Processo de teste



Fundamentos de teste



Estratégias de teste



Níveis de teste



Depuração



Princípios de teste

Sumário

(29)

Princípios de teste

 Uma parte necessária na definição de um caso de teste é a saída ou resultado esperado.

 Um programador não é a pessoa mais indicada para testar seus próprios programas

 ele deve testar o suficiente para garantir que seu programa faz o que se espera

 porém em geral não é capaz de ter uma atitude destrutiva após ter uma atitude construtiva

 Casos de testes devem ser escritos para condições de entrada inválidas, inesperadas e também para

(30)

Princípios de teste

 Um bom caso de testes é aquele que tem alta probabilidade de revelar defeitos.

 Não planeje a atividade de teste assumindo que erros não serão encontrados.

 Evitar casos de testes descartáveis.

 testes devem ser reutilizáveis e repetíveis

 Testes devem ser planejados

 Atividades de testes devem ser integradas ao ciclo de vida de desenvolvimento e manutenção de

(31)

Princípios de teste



Examinar um programa para ver se ele faz

o que é esperado é apenas metade da

atividade. A outra metade é verificar se ele

não faz o que não deveria fazer.



A probabilidade da existência de mais erros

em uma seção do programa é proporcional

ao números de erros que já foram

(32)

Princípios de teste



O PARADOXO DO PESTICIDA

A Lei de Darwin ao universo dos testes. Um novo

inseticida afasta os insetos até o momento em que aparece uma variante que não é afetada pelo

princípio ativo e eles voltam a incomodar. Da

mesma maneira, um sistema será cada vez mais resistente ao mesmo conjunto de testes executado diversas vezes.

(33)

Princípios de teste



A FALÁCIA DA AUSÊNCIA DE ERROS

De nada adianta eliminar um grande número de defeitos se os testes não foram projetados com

foco nas necessidades do negócio. Em casos como este, os testes só terão contribuído para fazer com que o sistema funcione perfeitamente da maneira que o cliente NÃO precisa.

(34)

Bibliografia



BURNSTEIN, Ilene. Practical software

testing, a process-oriented approach.

Springer, 2003



MYERS, Glenford. The art of software

testing, John Willwey & Sons, 1979

 capítulos 1 e 2



PAULA FILHO, Wilson de Pádua. Engenharia

de Software: fundamentos, métodos e

padrões. 2a ed. Rio de Janeiro: LTC - Livros

Técnicos Científicos. 2003.

(35)

Bibliografia



PFLEEGER, Shari Lawrence. Engenharia de

Software: Teoria e Prática. 2a ed. São

Paulo: Prentice Hall. 2004.



capítulo 8 e 9



PRESSMAN, Roger S. Engenharia de

Software. 6a ed. Rio de Janeiro: McGraw

Hill. 2006.



capítulo 18



SOMMERVILLE, Ian. Software engineering.

6th ed. Harlow: Addison-Wesley, 2001.

Referências

Documentos relacionados

Nesse contexto, Placco (2001) comenta sobre formação continuada, considerando-a.. Nesta perspectiva, a Comunidade de Tutores oportuniza a construção e a reconstrução do

Chen e Stuart 21 conduziram um estudo prospectivo em 1986 e apesar de não encontrarem diferença significativa entre as complicações de ileostomias em alça e colostomias em

Carcinoma basocelular ulcerado no canto interno da órbita, com comprometimento da região nasal e orbitária inferior -Visualização da área avermelhada pela hiperemia na

Os grupos de abelhas que tem desencadeado mais estudos a seu respeito e tornado-se mais conhecidos, são as abelhas melíferas do gênero Apis, com destaque para Apis mellifera

Em oposição com a Lua, o astro também pode favorecer a sua criatividade e garantir boas ideias de coisas que você pode fazer em casa como profissão e fonte de renda, ainda mais neste

Da mesma forma é interessante refletir sobre a importância das vitórias dos britânicos sobre os alemães em 1942. Mas só os britânicos lutaram em prol da

V.4 – A origem e evolução da vida ao longo da história do planeta Agora que você já viu como nós podemos determinar a idade de uma rocha, o que é paleontologia e

A maioria dos idosos observados neste estudo, apresentou comportamento contrário a esta recomendação; exibiram consumo de ácidos graxos saturados acima das recomendações