Post on 09-Nov-2018
26/08/2014
1
ENGENHARIA DE SOFTWARE
Profª: Janaide Nogueira
Curso: Sistemas de Informação
ENGENHARIA DE SOFTWARE
3
O QUE SÃO TESTES ?“Teste é um processo de avaliar um sistema ou um componente de um sistema para verificar se ele satisfaz os requisitos especificados ou identificar diferenças entre resultados esperados e obtidos.” (ANSI/IEEE Standard 729,1983)
“Processo de executar um programa com objetivo de encontrar erros.” (Myers, 1979)
4
TESTES
�São pontuais;
�São previsíveis;
�São finitos;
�Testes não verificam completamente a saída
de um programa, pois as entradas são infinitas.
5
TESTES
Antigamente...
�No passado, a tarefa de efetuar testes em software era considerada secundária.�Os testes eram feitos por desenvolvedores.�Os usuários eram envolvidos para aprovar o resultado dos testes ou para gerar massa de dados.
6
TESTES
Atualmente...�Empresas tem visto a atividade de teste como prioritária para a maior qualidade de suas aplicações.�Não testar o software pode gerar perdas financeiras e de imagem irreparáveis.�Complexidade das aplicações que estão cada vez mais distribuídas.
26/08/2014
2
7
TESTES
Naturalmente o assunto não é tão simples
�Erros nem sempre são óbvios;
�Erros diferentes podem ter a mesma manifestação;
�Saber que um programa não está correto não necessariamente é saber como corrigir o erro.
8
TESTES
Verificação = Validação?
-Nós construímos o sistema correto?VERIFICAÇÃO
-Nós construímos corretamente o sistema?VALIDAÇÃO
9
TESTES
AtividadesVERIFICAÇÃO: - Revisões de requisitos;- Revisões de modelos;- Fiscalização de códigos e etc.
VALIDAÇÃO- Testes unitários;- Testes de sistemas;- Testes de aceitação e etc.
10
TESTES
11
TESTES
Falhas no Software- 1/3 das falhas de software poderiam ser evitadas com teste;- Aproximadamente 50% das falhas só são encontradas em produção.
12
TESTES
Falhas custam caro-Segundo uma pesquisa do Departamento de Comércio dos EUA, publicada em 2002, falhas de software são tão comuns e tão danosas que se estima que causem prejuízo anual de mais de 60 bilhões de dólares para a economia americana.
26/08/2014
3
13
TESTES
• Você confia no que faz?
• Cliente:
Isso aqui não está funcionando!
• Programador:
Mas como?! Na minha máquina estava funcionando até ontem.
14
TESTES• Garanta o seu trabalho, seja profissional
Errado
-Num mundo capitalizado não há tempo para teste;
-cliente não quer saber como é feito, ele quer que funcione.
Realidade
-O cliente não quer saber se X virou Y. Ele quer que o problema não aconteça e se acontecer seja corrigido rapidamente.
-Não se consegue qualidade e confiabilidade
sem teste.
15
TESTES
Pré-Conceitos-O testador é um inimigo do desenvolvedor;-A equipe de teste pode ser montada com os desenvolvedores menos qualificados, pois qualquer um pode testar sistemas;
16
TESTES
Geralmente temos as seguintes situações:“Depois eu escrevo o plano de testes...”
“Vamos deixar os testes para a próxima fase...”
“Na minha máquina funcionou...”
“Temos que entregar o produto na semana que vem...”
17
TESTES
18
TESTES
Fases do teste de software
26/08/2014
4
19
TESTESModelo de integração entre os processos de
desenvolvimento e teste
20
TESTESCategorias de teste
Teste de caixa branca(White box)
Teste de caixa preta(Black box)
21
TESTESTeste de Caixa Branca
-Testes de unidade de código;
-Testam parte da solução;
-São escritos e mantidos pelo programador e devem estar sempre atualizados.
22
TESTESTeste de Caixa Branca
Quando construímos um teste de unidade, o principal desafio é isolar a classe ou trecho de código que está sendo testado, para que nenhuma outra classe do sistema seja envolvida no teste e influencie no resultado esperado.
23
TESTESTeste de Caixa Preta
-Testes funcionais e de aceitação;
-Testes de integração;
-Testam a solução “completa”.
24
TESTESTeste de Caixa Preta X Teste de Caixa Branca
Teste de caixa preta é fácil de usar, como o testador não tem que se preocupar sobre o funcionamento interno do software. Os casos de teste devem ser escritos em torno da aplicação, exatamente da maneira que o usuário final seria usar o aplicativo. No entanto, com o teste de caixa branca, o testador tem de olhar para dentro da aplicação e projetar os casos de teste.
26/08/2014
5
25
TESTESTeste de Caixa Preta X Teste de Caixa Branca
A outra diferença entre caixa branca e testes de caixa-preta é que, em testes de caixa-preta de um script é usado para testar o aplicativo. Quando as mudanças de interface, a entrada válidos e inválidos ea saída também mudanças, devido a que ela se torna muito difícil manter um script. No entanto, com o teste de caixa branca, os objetos a serem testados são identificados através de programação, o que prova ser útil na mudança de cenários de interface.
26
TESTESPrincípios de qualidade e controle de qualidade
FURPS
UsabilidadeUsability
ConfiabilidadeReliability
FuncionalidadeFunctionality
SuportabilidadeSupportability
DesempenhoPerfomance
27
TESTESFuncionalidade
De acordo com a especificação funcional.-Teste funcional;
-Teste de regressão;
-Teste de volume;
-Teste de segurança.
28
TESTESUsabilidade
Facilidade de uso do sistema pelos usuários.
-Teste de interface;
-Teste de usabilidade.
29
TESTESConfiabilidade
Confiabilidade do sistema, a permanência de operação, a integridade dos dados, a confiabilidade da estrutura e da aplicação.-Teste de integridade;-Teste de estrutura;-Teste de estresse;-Smoke teste.
30
TESTESConfiabilidade
Confiabilidade do sistema, a permanência de operação, a integridade dos dados, a confiabilidade da estrutura e da aplicação.
-Teste de integridade;
-Teste de estrutura;
-Teste de estresse;
-Smoke teste.
26/08/2014
6
31
TESTESDesempenho
Velocidade de processamento da informação.
-Teste de avaliação de desempenho;
-Teste de contenção;
-Teste de carga;
-Perfil de desempenho.
32
TESTESSuportabilidade
Capacidade do programa de funcionar em diversos ambientes diferentes.
-Teste de configuração;
-Teste de instalação.
33
TESTESCobertura dos testes
-Dificilmente consegue-se 100% de cobertura de testes.
-Quanto maior cobertura dos testes na aplicação, maior a confiabilidade nas alterações e novos recursos.
34
TESTESCobertura dos testesAplicações cobertas por bons testes propiciam:
-Facilidade de manutenção;
-Menos problemas e relação de custos em manutenção.
35
EXERCÍCIOS