Você está na página 1de 134

Teste de Software

Victor Hugo Germano

Aula - 02

CTAI SENAISC

Victor Hugo Germano http://malditacomedia.blogspot.com

Retrospectiva

Por que testar?

Unitrios

Unitrios

Transio de Estado

Unitrios Integrao
Transio de Estado

Unitrios Integrao
Transio de Estado Anlise de Valor Limite

Unitrios Integrao
Transio de Estado Testes de Caminho Anlise de Valor Limite

Unitrios Integrao Aceitao


Transio de Estado Testes de Caminho Anlise de Valor Limite

Unitrios

Unitrios

JUnit

TDD

TDD

Escreva um teste que falhe

TDD

Escreva um teste que falhe Faa o teste passar

TDD

Escreva um teste que falhe Faa o teste passar Refatore

Bom dia!

Testes de Aceitao

Testes de aceitao
Por qu?

Testes de aceitao
Por qu? Direcionar o desenvolvimento do produto

Testes de aceitao
Pra qu? Vericar a completude de um requisito

Testes de aceitao Como?

Testes de aceitao Como?


Idealmente escritos antes do desenvolvimento

Idealmente Automatizados Garantem que o cdigo faz exatamente o que


se prope a fazer

Tempo

Tempo

Tempo

Tempo

Tempo

Tempo

Tempo

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Tempo
Testes de aceitao garantes conformidade com os requisitos

Explorar Requisitos Denir Testes de Aceitao para Use Cases

Mos obra!

Selenium

http://seleniumhq.org/ Selenium IDE \\172.16.4.19

Test Suite
<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>

Exerccio V
Integrar Testes numa suite de testes de aceitao

Exerccio V
Construir testes de aceitao
Na pgina principal, devem haver links para outros servios do google: orkut, email, Imagens e Mapas Na pagina de Busca avanada, selecionar o idioma Ingles e buscar por linux deve retornar a pagina da wikipedia em ingls como primeiro item da busca Uma consulta que no apresenta resultados deve apresentar uma mensagem de indicao

Quando Parar de testar?

Quando Parar de testar?

Custo

Quando Parar de testar?

Custo Prazo

Quando Parar de testar?

Custo Prazo Cliente

Criando Test Cases

Test Cases
Comunicao

Test Cases
Comunicao
Encontrar problemas antes que o cliente o faa

Test Cases
Comunicao
Encontrar problemas antes que o cliente o faa Evitar que problemas ocorram

Test Cases
Comunicao
Encontrar problemas antes que o cliente o faa Evitar que problemas ocorram Auxiliar na tomada de deciso

Test Cases

Aderncia aos requisitos de negcio, no de sistema

Test Cases
Reduo de Riscos Medir a Qualidade

Encontre as prioridades do projeto!

Encontre as prioridades do projeto! Um nico objetivo por vez!

Encontre as prioridades do projeto! Um nico objetivo por vez! Est tudo claro? Pergunte!

Encontre as prioridades do projeto! Um nico objetivo por vez! Est tudo claro? Pergunte! Pare e pense!

Test Cases
Qualidades

Test Cases
Qualidades
Fcil de ler - No h lugar para enrolao!

Test Cases
Qualidades
Fcil de ler - No h lugar para enrolao! Rpido de encontrar o resultado esperado - Interpretao em poucos segundos

Test Cases
Qualidades
Fcil de ler - No h lugar para enrolao! Rpido de encontrar o resultado esperado - Interpretao em poucos segundos Autoexplicativos - No necessitam da especicao completa do sistma

Test Cases
Qualidades
Fcil de ler - No h lugar para enrolao! Rpido de encontrar o resultado esperado - Interpretao em poucos segundos Autoexplicativos - No necessitam da especicao completa do sistma Curtos - Elimine todos os desperdcios!

Easy to Test Language


- Seja imperativo "clique no boto", "v ao item 1" - Seja direto e simples, porm no simplrio - Use nomes exatos e consistentes para campos, no seja genrico - Entre 10 e 15 passos - Siga convenes de nomes - Se no existem convenes, CRIE-AS!!!

Atributos Comuns
Identificador Descricao Prioridade Pre-condio Dependncias Entradas Instrues de utilizao Resultados esperados Resultado Atual Ps-condies Resultado (passou/falhou) Nmero da versao

Linhas Gerais

Linhas Gerais
Escrever testes juntamente com os requisitos

Linhas Gerais
Escrever testes juntamente com os requisitos Descrevem o atual requisito

Linhas Gerais
Escrever testes juntamente com os requisitos Descrevem o atual requisito Siga um padro, facilite a comunicao

Linhas Gerais
Escrever testes juntamente com os requisitos Descrevem o atual requisito Siga um padro, facilite a comunicao Priorize seus testes por valor de negcio

Linhas Gerais
Escrever testes juntamente com os requisitos Descrevem o atual requisito Siga um padro, facilite a comunicao Priorize seus testes por valor de negcio Agrupe testes por domnio

Linhas Gerais
Escrever testes juntamente com os requisitos Descrevem o atual requisito Siga um padro, facilite a comunicao Priorize seus testes por valor de negcio Agrupe testes por domnio Foque no valor! Foque no resultado!

Pratique!!
A prtica leva perfeio

Pratique!!
A prtica leva perfeio

Priorize! Remova desperdcios!

Pratique!!
A prtica leva perfeio

Priorize! Remova desperdcios! Se possvel, automatize! Seja preguioso!

Exerccio VI
Sistema de Vendas Construir testes de aceitao para mdulo Fazer Pedido

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

Exerccio VI
Fazer Pedido - verso 4 Atores Cliente Pr-condio: O usurio deve ter feito "log-in" e obtido autorizao do sistema Ps-condio: O pedido deve ter sido gravado no sistema e marcado como conrmado.
Applying Use Cases: A Pratical Guide", Geri Schneider & Jason Winters, Addison-Wesley, 1998.

Fazer Pedido - verso 4 Fluxo de eventos primrio: 1. O caso de uso comea quando po cliente seleciona "fazer pedido". 2. O cliente fornece seu nome e endereo. 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 faa 1. O cliente fornece cdigo do produto 2. O sistema fornece as descrio e preo do produto 3. O sistema atualiza o valor total 5. O cliente fornece as informaes sobre carto de crdito. 6. O cliente submete os dados ao sistema. 7. O sistema verica as informaes fornecidas, marca o pedido como "pendente" e envia as informaes de pagamento para o sistema de contabilidade e pagamento. 8. Quando o pagamento conrmado, o pedido marcado como "conrmado" e o nmero de pedido (NP) dado ao cliente. Fluxo de eventos secundrio: A qualquer momento antes de submeter, o cliente pode selecionar cancelar. O pedido no gravado e o caso de uso termina. No passo 7, se alguma informao estiver correta, o sistema pede ao cliente para corrigir a informao.
Applying Use Cases: A Pratical Guide", Geri Schneider & Jason Winters, Addison-Wesley, 1998.

Planejamento de Testes

Por que Planejar?

Por que planejar?


Finalidade:
Localizar e documentar defeitos na qualidade do
software. Avisar de forma geral sobre a qualidade observada no software. Validar as suposies feitas nas especificaes de design e requisito atravs de demonstrao concreta. Validar as funes do software conforme projetadas. Verificar se os requisitos foram implementados de forma adequada.

Com Planejar?

Teste antes, teste sempre!

Teste antes, teste sempre! Comunique-se!

Teste antes, teste sempre! Comunique-se! Comunique-se!

Teste antes, teste sempre! Comunique-se! Comunique-se! Se puder, automatize!

Teste antes, teste sempre! Comunique-se! Comunique-se! Se puder, automatize! Entenda o domnio do negcio

Templates

Introduo

Introduo
Viso Geral: - Escopo, mtodos, Padroes

Introduo
Viso Geral: - Escopo, mtodos, Padroes Requisitos: - Hardware, software, Pessoal

Templates

Template
Interao Homem-Computador
descrio, objetivos, mtodos, objetos a serem testados, eventos a serem testados, vericao dos testes, ferramentas de teste.

Template
Testes Funcionais
objetivos, mtodos, funes a serem testadas, projeto de dados para testes, construo dos dados de teste, vercao do teste, ferramentas de teste

Template
Testes de regresso
Objetivos O que no funciona mais e o que
continua funcionando na nova verso Dados para teste quais casos sero reutilizados Execuo dos testes Ferramentas de teste

Template
Testes de desempenho
Objetivos Mtodos de teste Monousurio Multiusurio Criao dos dados de teste Vercao do teste Ferramentas de teste

Template
Testes de aceitao

Objetivos

testados Projeto dos casos de teste Mtodos de teste Vercao do teste Ferramentas de teste

Cenrios de negcio a serem

Template
Testes de Sistema
Objetivos cenrios de negcio a serem testados Projeto dos casos de teste Mtodos de teste Vercao do teste Ferramentas de teste

Como documentar um Bug

Documentar um Bug
Seja preciso Seja claro - explique de forma que outros possam reproduzir o erro Um bug por relatrio Nenhum bug simples o suciente para no ser registrado Separe claramente fatos de especulaes Um printscreen vale mais que mil pargrafos

Documentar um Bug
Eu estava usando o sistema e ento ele deu pau

Documentar um Bug
Eu estava usando o sistema e ento ele deu pau
-> Abra o sistema e v ao item "Arquivo > Novo" -> Desenhe uma Reta -> V at a funo "Salvar Como..." e salve o arquivo -> Tente abrir o arquivo novo -> Verique a mensagem de erro

O que testar?

Anlise de Risco & Prioridades

Analise de Risco

Analise de Risco

Use Case

Cenrio

Risco Alto Mdio

Frequncia Criticidade Alta Baixa Baixa Alta

UserCase 1 Cenrio A UserCase 2 Cenario B

Priorizao

Priorizao
Modelo Kano

Priorizao
Modelo Kano Priorizao Pelo Valor Percebido

Modelo Kano

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

Modelo Kano
Must-have Obrigatrios

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

Modelo Kano
Must-have Linear Obrigatrios Quanto mais, melhor!

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

Modelo Kano
Must-have Linear Exciters Obrigatrios Quanto mais, melhor! Necessidades no conhecidas
http://en.wikipedia.org/wiki/Kano_model

Modelo Kano
2 Perguntas:

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

Modelo Kano
2 Perguntas:
Funcional
O que voc acha de ter uma cerveja de graa no quarto de hotel todos os dias?

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

Modelo Kano
2 Perguntas:
Funcional
O que voc acha de ter uma cerveja de graa no quarto de hotel todos os dias?

Chegar em um hotel que no DysFunctional tem cerveja grtis, o que voc acha?
http://www.acarlos.com.br/blog/

Modelo Kano
DysFunction Question Live with Neutral Expect Dislike L M M M Q

Like

Functional Question

Like Expect Neutral Live with Dislike

Q R R R R

E I I I R

E I I I R

E I I I R

M - Mandatory L - Linear E - Exciter Q - Questionable R - Reverse I - Indifferent

Benefcio Relativo

Benefcio Relativo

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

Benefcio Relativo
Pr-requisito: Estimativas criadas

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

Benefcio Relativo
Pr-requisito: Estimativas criadas
Benets Penalties Sum(BV) Estimation BV/Est Feature 1 Feature 2 Feature 3 Feature 4 Feature 5
http://www.acarlos.com.br/blog/

10

Benefcio Relativo
Pr-requisito: Estimativas criadas
Benets Penalties Sum(BV) Estimation BV/Est Feature 1 Feature 2 Feature 3 Feature 4 Feature 5
http://www.acarlos.com.br/blog/

1 2

9 3

10 5

2 5

5 1

Benefcio Relativo
Feature 5 Feature 1 Feature 3 Feature 4 Feature 2

Benefcio Relativo
Pr-requisito: Estimativas criadas
Benets Penalties Sum(BV) Estimation BV/Est Feature 1 Feature 2 Feature 3 Feature 4 Feature 5 1 2 5 6 5 9 3 1.6 7 5 10 5 13 13 10 2 5 8 13 2 5 1 8 1 5

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

Você também pode gostar