Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre...

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

Transcript of Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre...

Page 1: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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.

Page 2: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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.

Page 3: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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

Page 4: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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.

Page 5: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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.

Page 6: Aula4 Engenharia de Software£o escritos e mantidos pelo programador e devem estar sempre atualizados. 22 TESTES Teste de Caixa Branca Quando construímos um teste de unidade, o principal

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