ctai teste de software aula 2

134
Victor Hugo Germano Teste de Software CTAI SENAISC Aula - 02

Upload: victor-hugo-germano

Post on 12-Jan-2015

15.367 views

Category:

Technology


1 download

DESCRIPTION

Mais uma aula no SENAI CTAI SCQuando a agilidade alcança os testes de software

TRANSCRIPT

Page 1: Ctai Teste De Software Aula 2

Victor Hugo GermanoTeste de Software

CTAI SENAISC

Aula - 02

Page 2: Ctai Teste De Software Aula 2
Page 3: Ctai Teste De Software Aula 2

Victor Hugo Germano

http://malditacomedia.blogspot.com

Page 4: Ctai Teste De Software Aula 2

Retrospectiva

Page 5: Ctai Teste De Software Aula 2

Por que testar?

Page 6: Ctai Teste De Software Aula 2
Page 7: Ctai Teste De Software Aula 2
Page 8: Ctai Teste De Software Aula 2
Page 9: Ctai Teste De Software Aula 2
Page 10: Ctai Teste De Software Aula 2

Unitários

Page 11: Ctai Teste De Software Aula 2

Unitários

Transição de Estado

Page 12: Ctai Teste De Software Aula 2

Unitários

Integração

Transição de Estado

Page 13: Ctai Teste De Software Aula 2

Unitários

Integração

Transição de Estado

Análise de Valor Limite

Page 14: Ctai Teste De Software Aula 2

Unitários

Integração

Transição de Estado

Testes de Caminho

Análise de Valor Limite

Page 15: Ctai Teste De Software Aula 2

Aceitação

Unitários

Integração

Transição de Estado

Testes de Caminho

Análise de Valor Limite

Page 16: Ctai Teste De Software Aula 2

Unitários

Page 17: Ctai Teste De Software Aula 2

Unitários

JUnit

Page 18: Ctai Teste De Software Aula 2

TDD

Page 19: Ctai Teste De Software Aula 2

TDD

Escreva um teste que falhe

Page 20: Ctai Teste De Software Aula 2

TDD

Escreva um teste que falhe

Faça o teste passar

Page 21: Ctai Teste De Software Aula 2

TDD

Escreva um teste que falhe

Faça o teste passar

Refatore

Page 22: Ctai Teste De Software Aula 2

Bom dia!

Page 23: Ctai Teste De Software Aula 2

Testes de Aceitação

Page 24: Ctai Teste De Software Aula 2

Testes de aceitação

Por quê?

Page 25: Ctai Teste De Software Aula 2

Testes de aceitação

Por quê?Direcionar o desenvolvimento

do produto

Page 26: Ctai Teste De Software Aula 2

Testes de aceitação

Pra quê?Verificar a completude de um

requisito

Page 27: Ctai Teste De Software Aula 2

Testes de aceitação

Como?

Page 28: Ctai Teste De Software Aula 2

Testes de aceitação

• Idealmente escritos antes do desenvolvimento• Idealmente Automatizados• Garantem que o código faz exatamente o que se propõe a fazer

Como?

Page 29: Ctai Teste De Software Aula 2

Tempo

Page 30: Ctai Teste De Software Aula 2

Tempo

1

Page 31: Ctai Teste De Software Aula 2

Tempo

1 2

Page 32: Ctai Teste De Software Aula 2

Tempo

1 2 3

Page 33: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Page 34: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Page 35: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Page 36: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Page 37: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 38: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 39: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 40: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 41: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 42: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 43: Ctai Teste De Software Aula 2

Tempo

1 2 3 4

Explorar RequisitosDefinir Testes de Aceitação para Use Cases

Testes de aceitação garantes conformidade com os requisitos

Page 44: Ctai Teste De Software Aula 2

Mãos à obra!

Page 45: Ctai Teste De Software Aula 2

Selenium

http://seleniumhq.org/

Selenium IDE\\172.16.4.19

Page 46: Ctai Teste De Software Aula 2
Page 47: Ctai Teste De Software Aula 2

<html> <head> <title>My Application Test Suite</title> </head> <body> <table> <tr><td><b>Suite Of Tests</b></td></tr> <tr><td><a href="./TestLogin.html">Test Login</a></td></tr> <tr><td><a href="./TestFormEntry.html">Test Form Entry</a></td></tr> <tr><td><a href="./TestFormSave.html">Test Form Save</a></td></tr> </table> </body> </html>

Test Suite

Page 48: Ctai Teste De Software Aula 2

Exercício V

Integrar Testes numa suite de testes de aceitação

Page 49: Ctai Teste De Software Aula 2

Exercício VConstruir testes de aceitação

Na página principal, devem haver links para outros serviços do google: orkut, email, Imagens e Mapas

Na pagina de Busca avançada, selecionar o idioma Ingles e buscar por “linux” deve retornar a pagina da wikipedia em

inglês como primeiro item da busca

Uma consulta que não apresenta resultados deve apresentar uma mensagem de indicação

Page 50: Ctai Teste De Software Aula 2

Quando Parar de testar?

Page 51: Ctai Teste De Software Aula 2

Quando Parar de testar?

Custo

Page 52: Ctai Teste De Software Aula 2

Quando Parar de testar?

Custo

Prazo

Page 53: Ctai Teste De Software Aula 2

Quando Parar de testar?

Custo

Prazo

Cliente

Page 54: Ctai Teste De Software Aula 2

Criando Test Cases

Page 55: Ctai Teste De Software Aula 2

Test Cases

Comunicação

Page 56: Ctai Teste De Software Aula 2

Test Cases

Comunicação

Encontrar problemas antes que o cliente o faça

Page 57: Ctai Teste De Software Aula 2

Test Cases

Comunicação

Encontrar problemas antes que o cliente o faça

Evitar que problemas ocorram

Page 58: Ctai Teste De Software Aula 2

Test Cases

Comunicação

Encontrar problemas antes que o cliente o faça

Evitar que problemas ocorram

Auxiliar na tomada de decisão

Page 59: Ctai Teste De Software Aula 2

Aderência aos requisitos de negócio,não de sistema

Test Cases

Page 60: Ctai Teste De Software Aula 2

Test Cases

Redução de Riscos

Medir a Qualidade

Page 61: Ctai Teste De Software Aula 2
Page 62: Ctai Teste De Software Aula 2

Encontre as prioridades do projeto!

Page 63: Ctai Teste De Software Aula 2

Encontre as prioridades do projeto!

Um único objetivo por vez!

Page 64: Ctai Teste De Software Aula 2

Encontre as prioridades do projeto!

Um único objetivo por vez!

Está tudo claro? Pergunte!

Page 65: Ctai Teste De Software Aula 2

Encontre as prioridades do projeto!

Um único objetivo por vez!

Pare e pense!

Está tudo claro? Pergunte!

Page 66: Ctai Teste De Software Aula 2

Test Cases

Qualidades

Page 67: Ctai Teste De Software Aula 2

Test Cases

QualidadesFácil de ler- Não há lugar para enrolação!

Page 68: Ctai Teste De Software Aula 2

Test Cases

QualidadesFácil de ler- Não há lugar para enrolação!

Rápido de encontrar o resultado esperado- Interpretação em poucos segundos

Page 69: Ctai Teste De Software Aula 2

Test Cases

QualidadesFácil de ler- Não há lugar para enrolação!

Rápido de encontrar o resultado esperado- Interpretação em poucos segundos

Autoexplicativos- Não necessitam da especificação completa do sistma

Page 70: Ctai Teste De Software Aula 2

Test Cases

QualidadesFácil de ler- Não há lugar para enrolação!

Rápido de encontrar o resultado esperado- Interpretação em poucos segundos

Autoexplicativos- Não necessitam da especificação completa do sistma

Curtos- Elimine todos os desperdícios!

Page 71: Ctai Teste De Software Aula 2

- Seja imperativo

  "clique no botão", "vá ao item 1"

- Seja direto e simples, porém não simplório

- Use nomes exatos e consistentes para campos,

não seja genérico

- Entre 10 e 15 passos

- Siga convenções de nomes

- Se não existem convenções, CRIE-AS!!!

Easy to Test Language

Page 72: Ctai Teste De Software Aula 2

• Identificador• Descricao• Prioridade• Pre-condição• Dependências • Entradas• Instruções de utilização• Resultados esperados• Resultado Atual• Pós-condições• Resultado (passou/falhou)• Número da versao

Atributos Comuns

Page 73: Ctai Teste De Software Aula 2

Linhas Gerais

Page 74: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Page 75: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Descrevem o atual requisito

Page 76: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Descrevem o atual requisito

Siga um padrão, facilite a comunicação

Page 77: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Descrevem o atual requisito

Siga um padrão, facilite a comunicação

Priorize seus testes por valor de negócio

Page 78: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Descrevem o atual requisito

Siga um padrão, facilite a comunicação

Priorize seus testes por valor de negócio

Agrupe testes por domínio

Page 79: Ctai Teste De Software Aula 2

Linhas Gerais

Escrever testes juntamente com os requisitos

Descrevem o atual requisito

Siga um padrão, facilite a comunicação

Priorize seus testes por valor de negócio

Agrupe testes por domínio

Foque no valor! Foque no resultado!

Page 80: Ctai Teste De Software Aula 2

Pratique!!A prática leva à perfeição

Page 81: Ctai Teste De Software Aula 2

Pratique!!Priorize! Remova desperdícios!

A prática leva à perfeição

Page 82: Ctai Teste De Software Aula 2

Pratique!!Priorize! Remova desperdícios!

A prática leva à perfeição

Se possível, automatize!Seja preguiçoso!

Page 83: Ctai Teste De Software Aula 2

http://www.consiste.dimap.ufrn.br/~andre/casouso/

Exercício VI

Sistema de Vendas

Construir testes de aceitação para módulo Fazer Pedido

Page 84: Ctai Teste De Software Aula 2

Fazer Pedido - versão 4

Atores

    Cliente

Pré-condição:

O usuário deve ter feito "log-in" e obtido autorização do sistema

Pós-condição:

O pedido deve ter sido gravado no sistema e marcado como confirmado.

Exercício VI

Applying Use Cases: A Pratical Guide", Geri Schneider & Jason Winters, Addison-Wesley, 1998.

Page 85: Ctai Teste De Software Aula 2

Applying Use Cases: A Pratical Guide", Geri Schneider & Jason Winters, Addison-Wesley, 1998.

Fazer Pedido - versão 4

Fluxo de eventos primário:

1. O caso de uso começa quando po cliente seleciona "fazer pedido". 2. O cliente fornece seu nome e endereço. 3. Se o cliente fornece apenas o CEP, o sistema coloca automaticamente o a cidade e o

estado. 4. Enquanto o cliente quiser pedir itens faça 1. O cliente fornece código do produto 2. O sistema fornece as descrição e preço do produto 3. O sistema atualiza o valor total 5. O cliente fornece as informações sobre cartão de crédito. 6. O cliente submete os dados ao sistema. 7. O sistema verifica as informações fornecidas, marca o pedido como "pendente" e envia as

informações de pagamento para o sistema de contabilidade e pagamento. 8. Quando o pagamento é confirmado, o pedido é marcado como "confirmado" e o número

de pedido (NP) é dado ao cliente.Fluxo de eventos secundário:

A qualquer momento antes de submeter, o cliente pode selecionar cancelar. O pedido não é gravado e o caso de uso termina.

No passo 7, se alguma informação estiver correta, o sistema pede ao cliente para corrigir a informação.

Page 86: Ctai Teste De Software Aula 2

Planejamento de Testes

Page 87: Ctai Teste De Software Aula 2

Por que Planejar?

Page 88: Ctai Teste De Software Aula 2

Por que planejar?

Finalidade:• Localizar e documentar defeitos na qualidade do software.• Avisar de forma geral sobre a qualidade observada no software.• Validar as suposições feitas nas especificações de design e requisito através de demonstração concreta.• Validar as funções do software conforme projetadas.• Verificar se os requisitos foram implementados de forma adequada.

Page 89: Ctai Teste De Software Aula 2

Com Planejar?

Page 90: Ctai Teste De Software Aula 2
Page 91: Ctai Teste De Software Aula 2
Page 92: Ctai Teste De Software Aula 2

Teste antes, teste sempre!

Page 93: Ctai Teste De Software Aula 2

Teste antes, teste sempre!

Comunique-se!

Page 94: Ctai Teste De Software Aula 2

Teste antes, teste sempre!

Comunique-se!

Comunique-se!

Page 95: Ctai Teste De Software Aula 2

Teste antes, teste sempre!

Comunique-se!

Comunique-se!

Se puder, automatize!

Page 96: Ctai Teste De Software Aula 2

Teste antes, teste sempre!

Comunique-se!

Comunique-se!

Se puder, automatize!

Entenda o domínio do negócio

Page 97: Ctai Teste De Software Aula 2
Page 98: Ctai Teste De Software Aula 2

Templates

Page 99: Ctai Teste De Software Aula 2

Introdução

Page 100: Ctai Teste De Software Aula 2

Introdução

Visão Geral:- Escopo, métodos, Padroes

Page 101: Ctai Teste De Software Aula 2

Introdução

Visão Geral:- Escopo, métodos, Padroes

Requisitos:- Hardware, software, Pessoal

Page 102: Ctai Teste De Software Aula 2

Templates

Page 103: Ctai Teste De Software Aula 2

Template

Interação Homem-Computador

• descrição, • objetivos,• métodos, • objetos a serem testados, • eventos a serem testados, • verificação dos testes, • ferramentas de teste.

Page 104: Ctai Teste De Software Aula 2

Template

Testes Funcionais

• objetivos, • métodos, • funções a serem testadas,• projeto de dados para testes, • construção dos dados de teste, • verficação do teste, • ferramentas de teste

Page 105: Ctai Teste De Software Aula 2

Template

Testes de regressão

•Objetivos • O que não funciona mais e o que

continua funcionando na nova versão • Dados para teste • quais casos serão reutilizados

• Execução dos testes • Ferramentas de teste

Page 106: Ctai Teste De Software Aula 2

Template

Testes de desempenho

• Objetivos

• Métodos de teste • Monousuário • Multiusuário

• Criação dos dados de teste • Verficação do teste • Ferramentas de teste

Page 107: Ctai Teste De Software Aula 2

Template

Testes de aceitação

• Objetivos•Cenários de negócio a serem

testados• Projeto dos casos de teste • Métodos de teste• Verficação do teste • Ferramentas de teste

Page 108: Ctai Teste De Software Aula 2

Template

Testes de Sistema

• Objetivos • cenários de negócio a serem testados

• Projeto dos casos de teste • Métodos de teste • Verficação do teste • Ferramentas de teste

Page 109: Ctai Teste De Software Aula 2

Como documentar um Bug

Page 110: Ctai Teste De Software Aula 2

Documentar um Bug

• Seja preciso • Seja claro - explique de forma que outros

possam reproduzir o erro • Um bug por relatório • Nenhum bug é simples o suficiente para não

ser registrado • Separe claramente fatos de especulações • Um printscreen vale mais que mil parágrafos

Page 111: Ctai Teste De Software Aula 2

Documentar um Bug

“Eu estava usando o sistema e então ele deu pau”

Page 112: Ctai Teste De Software Aula 2

Documentar um Bug

“Eu estava usando o sistema e então ele deu pau”

-> Abra o sistema e vá ao item "Arquivo > Novo"

-> Desenhe uma Reta

-> Vá até a função "Salvar Como..." e salve o arquivo

-> Tente abrir o arquivo novo

-> Verifique a mensagem de erro

Page 113: Ctai Teste De Software Aula 2

O que testar?

Page 114: Ctai Teste De Software Aula 2

Análise de Risco & Prioridades

Page 115: Ctai Teste De Software Aula 2

Analise de Risco

Page 116: Ctai Teste De Software Aula 2

Use Case Cenário Risco Frequência Criticidade

UserCase 1 Cenário A Alto Alta Baixa

UserCase 2 Cenario B Médio Baixa Alta

Analise de Risco

Page 117: Ctai Teste De Software Aula 2

Priorização

Page 118: Ctai Teste De Software Aula 2

PriorizaçãoModelo Kano

Page 119: Ctai Teste De Software Aula 2

PriorizaçãoModelo Kano

Priorização Pelo Valor Percebido

Page 120: Ctai Teste De Software Aula 2

http://en.wikipedia.org/wiki/Kano_model

Modelo Kano

Page 121: Ctai Teste De Software Aula 2

Must-have Obrigatórios

http://en.wikipedia.org/wiki/Kano_model

Modelo Kano

Page 122: Ctai Teste De Software Aula 2

Must-have Obrigatórios

http://en.wikipedia.org/wiki/Kano_model

Linear Quanto mais, melhor!

Modelo Kano

Page 123: Ctai Teste De Software Aula 2

Must-have Obrigatórios

http://en.wikipedia.org/wiki/Kano_model

Linear Quanto mais, melhor!

Exciters Necessidades não conhecidas

Modelo Kano

Page 124: Ctai Teste De Software Aula 2

Modelo Kano

http://www.acarlos.com.br/blog/

2 Perguntas:

Page 125: Ctai Teste De Software Aula 2

Modelo Kano

http://www.acarlos.com.br/blog/

2 Perguntas:

FuncionalO que você acha de ter uma

cerveja de graça no quarto de hotel todos os dias?

Page 126: Ctai Teste De Software Aula 2

Modelo Kano

http://www.acarlos.com.br/blog/

2 Perguntas:

FuncionalO que você acha de ter uma

cerveja de graça no quarto de hotel todos os dias?

DysFunctionalChegar em um hotel que não tem cerveja grátis, o que você

acha?

Page 127: Ctai Teste De Software Aula 2

Modelo Kano

DysFunction Question

Like Q E E E L

Expect R I I I M

Neutral R I I I M

Live with R I I I M

Dislike R R R R Q

Like

Expe

ct

Neu

tral

Live

with

Dis

like

Func

tiona

l Que

stio

n

M - MandatoryL - LinearE - ExciterQ - QuestionableR - ReverseI - Indifferent

Page 128: Ctai Teste De Software Aula 2

Benefício Relativo

Page 129: Ctai Teste De Software Aula 2

Benefício Relativo

http://www.acarlos.com.br/blog/

Page 130: Ctai Teste De Software Aula 2

Benefício Relativo

Pré-requisito: Estimativas criadas

http://www.acarlos.com.br/blog/

Page 131: Ctai Teste De Software Aula 2

Benefício Relativo

Pré-requisito: Estimativas criadas

Benefits Penalties Sum(BV) Estimation BV/Est

Feature 1 1 9 10 2 5

Feature 2

Feature 3

Feature 4

Feature 5

http://www.acarlos.com.br/blog/

Page 132: Ctai Teste De Software Aula 2

Benefício Relativo

Pré-requisito: Estimativas criadas

Benefits Penalties Sum(BV) Estimation BV/Est

Feature 1 1 9 10 2 5

Feature 2 2 3 5 5 1

Feature 3

Feature 4

Feature 5

http://www.acarlos.com.br/blog/

Page 133: Ctai Teste De Software Aula 2

Benefício Relativo

Feature 5

Feature 1

Feature 3

Feature 4

Feature 2

Page 134: Ctai Teste De Software Aula 2

Benefício Relativo

Pré-requisito: Estimativas criadas

Benefits Penalties Sum(BV) Estimation BV/Est

Feature 1 1 9 10 2 5

Feature 2 2 3 5 5 1

Feature 3 5 1.6 13 8 8

Feature 4 6 7 13 13 1

Feature 5 5 5 10 2 5

http://www.acarlos.com.br/blog/