![Page 1: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/1.jpg)
Introdução ao Teste de Software
Uma abordagem prática
![Page 2: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/2.jpg)
Licença Creative Commons
![Page 3: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/3.jpg)
![Page 4: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/4.jpg)
![Page 5: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/5.jpg)
![Page 7: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/7.jpg)
![Page 8: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/8.jpg)
![Page 9: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/9.jpg)
![Page 10: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/10.jpg)
![Page 11: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/11.jpg)
![Page 12: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/12.jpg)
![Page 13: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/13.jpg)
![Page 14: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/14.jpg)
![Page 15: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/15.jpg)
Design do sistema
Design da arquitetura
Design dos módulos
Análise de Requisitos
Codificação
Teste de sistema
Teste de integração
Teste de unidade
Teste de aceitação
![Page 16: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/16.jpg)
Desenvolvimento:desenvolve; verifica
Planejamento da próxima iteração
Ativação:determina objetivos, alternativas e restrições
Análise dos riscos:avalia alternativas; identifica e resolve riscos
![Page 17: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/17.jpg)
Alguns modelos do processo de desenvolvimento de software
• RUP
![Page 18: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/18.jpg)
Alguns modelos do processo de desenvolvimento de software
• Ágil
![Page 19: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/19.jpg)
![Page 20: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/20.jpg)
O processo de Teste de Software
• Dependerá do processo de desenvolvimento de software
• Comparação com irmãos siameses
![Page 21: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/21.jpg)
As atividades de Teste de Software
Planejar
Controlar
Analisar
Modelar
Implementar
Executar
Avaliar critérios de saída e reportar resultados
Encerramento
![Page 22: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/22.jpg)
O que testar/avaliar?
• Norma ISO/IEC 9126/1991 ou NBR 13596:
O que testar
![Page 23: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/23.jpg)
A importância dependerá do software sob teste (SUT)
Funcionalidade
Confiabilidade
Usabilidade
Eficiência
Manutenibilidade
Portabilidade
Web SiteSistema embarcado
no carro
![Page 24: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/24.jpg)
Verificação X Validação
• Verificação:
– estamos desenvolvendo o produto corretamente?
• Validação:
– estamos desenvolvendo o produto correto?
![Page 25: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/25.jpg)
Teste Estático X Teste Dinâmico
• No teste estático:
– O código é examinado.
• No teste dinâmico:
– O código é testado.
![Page 26: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/26.jpg)
Técnicas Estáticas
• Revisões:– Revisão informal;
– Acompanhamento;
– Revisões técnicas;
– Inspeção.
• Análise estática:– Objetivo encontrar defeitos no
código/modelagem;
– Geralmente utilizando uma ferramenta.
![Page 27: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/27.jpg)
Teste de Caixa Branca e Caixa Preta
• Teste de Caixa Branca: teste baseado na análise da estrutura interna de um componente ou sistema.
• Teste de Caixa Preta: teste funcional ou não funcional, sem referência à estrutura interna do componente ou do sistema.
Como testar
![Page 28: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/28.jpg)
![Page 29: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/29.jpg)
Níveis de teste
• Unidade: teste realizado com os componentes individuais de um software, na maioria das vezes feito pelo desenvolvedor.
• Integrado: teste realizado com a finalidade de expor defeitos nas interfaces e nas interações entre componentes ou sistemas integrados.
Quando testar
![Page 30: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/30.jpg)
Níveis de teste
• Sistema: testa um sistema integrado para verificar se ele atende aos requisitos especificados. Realizado pelos testadores.
• Aceitação: Teste formal relacionado às necessidades dos usuários e aos requisitos e processos de negócios. Realizado pelos usuários/stakeholders para estabelecer a confiança no sistema.
Quando testar
![Page 31: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/31.jpg)
![Page 32: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/32.jpg)
![Page 33: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/33.jpg)
![Page 34: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/34.jpg)
Planejamento do Teste de Software
• Definir o objetivo do teste;
• O que testar? Como testar? Quando testar?
• A estratégia que será adotada;
• A equipe de teste;
• O ambiente de teste;
• Análise de riscos.
![Page 35: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/35.jpg)
![Page 36: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/36.jpg)
IEEE 829
• É o padrão criado pelo IEEE para documentação de Teste de Software;
• A melhor fonte para criarmos nossos próprios documentos;
• Mais uma vez devemos avaliar quais documentos e itens podem ser úteis para a nossa realidade.
![Page 37: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/37.jpg)
IEEE 829
• Apresenta 8 documentos:– Especificação
• Plano de Teste;
• Especificação de Projeto de Teste;
• Especificação de Caso de Teste;
• Especificação de Procedimento de Teste.
– Relatório• Log de Teste;
• Relatório de Incidente de Teste;
• Relatório de Sumário de Teste;
• Relatório de Encaminhamento de Item de Teste.
![Page 38: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/38.jpg)
Relação dos documentos com o processo de Teste de Software
Plano de TesteEspecificação de Projeto de Teste
Especificação de Caso de Teste
Especificação de Procedimento de
Teste
Log de Teste
Relatório de Encaminhamento de Item de Teste
Relatório de Sumário de Teste
Relatório de Incidente de Teste
Execução dos testes
Documentação do Projeto &
Desenvolvimento
Documentação do Item
![Page 39: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/39.jpg)
O Plano de Teste
• É o documento mais importante!
• Deve ser feito a partir da documentação do projeto e do desenvolvimento do software;
• Todos os demais documentos serão baseados nele.
![Page 40: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/40.jpg)
Prática 1
![Page 41: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/41.jpg)
![Page 42: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/42.jpg)
de Teste de Software.
![Page 43: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/43.jpg)
![Page 44: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/44.jpg)
Técnicas de modelagem de testes
• Baseadas em especificação
• Baseadas em estrutura
• Baseadas na experiência
![Page 45: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/45.jpg)
Baseadas em especificação
• Partição de Equivalência
• Análise do Valor Limite
• Tabela de Decisão
• Teste de Transição de Estados
• Teste de Caso de Uso
![Page 46: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/46.jpg)
Partição de Equivalência
• Aplicada em qualquer nível de teste
• É muitas vezes uma boa técnica para ser aplicada primeiro
• Muitos testadores aplicam ela sem saber (informalmente)
• O seu uso formal pode proporcionar melhores resultados
![Page 47: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/47.jpg)
Partição de Equivalência
• A idéia é divivir/particionar as entradas em grupos que tenham um comportamento similar, podendo ser tratados da mesma forma
• Se tiver tempo, você pode tentar mais de um valor por partição, principalmente, se quiser confirmar uma entrada típica do usuário
![Page 48: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/48.jpg)
Partição de Equivalência
Exemplo bolo:
• Vamos imaginar que esse delicioso bolo ao lado, tem 6 sabores: chocolate, nozes, morango, maracujá, baunilha e limão.
• Quantos testes são necessários,
usando a técnica de partição de
equivalência?
![Page 49: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/49.jpg)
Partição de Equivalência~ ^
Temos 6 sabores diferentes, e a técnica de partição de equivalência, diz que precisamos dividir as entradas, fazendo com que cada divisão/partição , seja equivalente com um comportamento do sistema.Ou seja, precisamos dividir o bolo em pedaços de diferentes sabores. Totalizando 6 pedaços (partições) de bolo, que equivalem aos 6 sabores.
![Page 50: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/50.jpg)
Análise do Valor Limite
• Complementar a técnica de partição de equivalência;
• Limites são áreas onde os testes estão mais propensos a indicar defeitos;
• Os valores limites de uma partição são seu máximo e seu mínimo.
![Page 51: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/51.jpg)
Análise do Valor Limite
Voltando ao bolo...Agora vamos considerar que cada “camada” do bolo tem 10cm. Desta maneira, o nosso bolo tem 60cm, sendo composto de:10cm de chocolate10cm de morango10cm de nozes10cm de maracujá10cm de baunilha10cm de limão
Portanto, agora é a hora de fazer um teste mais “guloso”...vamos lá
![Page 52: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/52.jpg)
Análise do Valor Limite
No teste anterior...Comemos 6 pedaços de bolo para verificar se o bolo contém os seis sabores mesmo.
Além de verificar se o bolo contém os seis sabores, vamos verificar cada sabor tem exatamente 10 cm de altura. O teste usando a técnica de análise do valor limite, irá resultar em 24 entradas diferentes, ou seja, iremos precisar comer 24 pedaços de bolo, nada ruim, neh...
Agora...
![Page 53: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/53.jpg)
Análise do Valor Limite
Entendo melhorUsando a análise de valor limite são 14 pedaços de bolo, necessários para o teste. O motivo para esse resultado é:
= 11cm
Valor limite mínimo inválido= 0cm
Valor limite mínimo válido= 1cm
Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1, 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12 pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes aos valores inferiores inválidos 0cm e 61cm. Totalizando 14 pedaços. BOM APETITE!
Valor limite máximo válido= 10cm
Valor limite máximo inválido (chocolate)Valor limite mínimo válido (nozes)
![Page 54: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/54.jpg)
Tabela de Decisão
• Focada nas regras de negócio
• É uma boa maneira de lidar com combinações de valores de entrada
• As condições de entrada e ações são declaradas de uma forma que possam ser entendidas, como verdadeiras ou falsas
• Às vezes, é chamada de “causa e efeito”
![Page 55: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/55.jpg)
Tabela de Decisão
• O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testes
• Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
![Page 56: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/56.jpg)
Tabela de Decisão
• O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testes
• Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
![Page 57: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/57.jpg)
Tabela de Decisão
Regra
Condições de entrada
Ações/Resultados
![Page 58: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/58.jpg)
Tabela de Decisão
Condição Regra 1 Regra 2 Regra 3Valor>100
quant>100
VV V
Regra 4VF
FFF
dar brindedar descontomensagem
de erro
Ações
X
X
X
![Page 59: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/59.jpg)
Teste de Transição de Estados
• É utilizado quando algum aspecto do sistema pode ser descrito usando uma máquina de estados
• Ou seja, o sistema pode ter um número (finito) de estados diferentes, e as transições de um estado para outro são determinadas por regras de "máquina"
![Page 60: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/60.jpg)
Teste de Transição de Estados
• Os testes podem ser construídos para cobrir uma sequência típica de estados, cobrir todos os estados, exercitar todas as transições, exercitar uma seqüência específica de transições ou testar transições inválidas
![Page 61: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/61.jpg)
Teste de Transição de Estados
inserecartão
digita senha NOK NOK
NOK
OKOKOK
![Page 62: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/62.jpg)
Teste de Caso de Uso
• Ajuda a identificar casos de testes que exercitam todo o sistema, transação por transação, do início ao fim
• Baseada em casos de uso
• Um caso de uso é a descrição de um uso particular do sistema feito por um ator (usuário do sistema)
![Page 63: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/63.jpg)
Teste de Caso de Uso
• Casos de uso muitas vezes são tratados como cenários, e úteis para construir testes de aceite com a participação do usuário final
• Eles podem ajudar a descobrir defeitos de integração causados pela interação e interferência de diferentes componentes, que testes individuais de componentes podem não ter detectado
![Page 64: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/64.jpg)
Teste de Caso de Uso
• Casos de uso são definidos de acordo com o autor, não com o sistema, descrevendo o que o ator ver, mais do que as entradas e resultados esperados do sistema
• Eles costumar usar uma linguagem e termos a nível de negócio, ao invés de termos técnicos, especialmente quando o ator é parte do negócio
![Page 65: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/65.jpg)
Teste de Caso de Uso
Criar post
Publicarpost
SistemaAtor
![Page 66: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/66.jpg)
Teste de Caso de Uso
Pré-condição:Usuário logado no sistema
Cenário:1. A: Seleciona opção de novo post;2. S: Abre página de postagem;3. A: Digita post;4. A: Seleciona opção de salvar o post;5. S: Salva o post;6. S: Carrega a página com o post salvo.
A: atorS: sistema
Cenário – criar post (fluxo principal)
![Page 67: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/67.jpg)
Teste de Caso de Uso
Pré-condição:Usuário logado no sistema
Cenário:1. Clicar no botão ‘novo post’;2. Digitar texto;3. Clicar no botão 'salvar como rascunho‘.
Resultado esperado:Sistema salvar o post e apresentar a página com o post salvo.
Caso de teste – criar post
![Page 68: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/68.jpg)
Saiba mais: Técnicas de modelagem de teste (parte 2)(QualidadeBR)
![Page 69: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/69.jpg)
Baseadas na experiência
• Suposição de erro
• Teste exploratório
![Page 70: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/70.jpg)
Especificação dos Casos de Testes
• Basicamente: pré-condições, ações, resultado esperado e pós-condições;
• Organizado em suítes de testes = conjunto de casos de testes;
• Deve ser de auto-explicativo;
• Defina padrões entre a equipe.
Saiba mais: Test Case Writing Best Practices(SlideShare)
![Page 71: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/71.jpg)
Prática 2
![Page 72: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/72.jpg)
Implementação de Teste
• Criar o procedimento de execução dos testes, priorizando-os;
• Criar massa de dados, caso necessário;
• Preparar o ambiente de teste;
• Escrever scripts para automatização dos testes.
![Page 73: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/73.jpg)
Preparando o ambiente de teste
• O ambiente de teste deve ser o mais próximo possível do de produção;
• O procedimento de criação do ambiente de teste deve ser documentado;
• O ambiente de teste deve
ser isolado dos demais;
• Caso seja preciso, envolver
o pessoal de infra o mais
cedo possível.
![Page 74: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/74.jpg)
![Page 75: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/75.jpg)
Prática 3
![Page 76: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/76.jpg)
![Page 77: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/77.jpg)
![Page 78: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/78.jpg)
Nunca é demais lembrar...
• Documente toda execução dos testes;
• Tenha todos os casos de testes prontos e atualizados;
• Use a sua experiência e conhecimento ao seu favor;
• Testar não é só seguir um procedimento!
• Se algo estiver errado no caso de teste, avise!
• Atenção é a palavra chave!
![Page 79: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/79.jpg)
Top Five: 5 métodos para encontrar falhas
• Aprenda a quebrar as regras, de vez em quando. Explore!
• Busque padrões!
• Toque onde dói mais!
• Escute os passos do bug se
aproximando!
• Dois é melhor do que um.
Trabalhe em par!
![Page 80: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/80.jpg)
O custo dos defeitos
![Page 81: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/81.jpg)
![Page 82: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/82.jpg)
Reporte de falha
• Detalhe ao máximo!– A caixa de mensagem não segue o padrão.
– Após não preencher os dados de critério do filtro de mensagens, a mensagem de erro foi apresentada num message box diferente do padrão das demais mensagens de erro.
• Descreva o passo-a-passo, informe as configurações do ambiente de teste, prioridade, impacto, tipo, coloque provas do incidente (ex. log, printscreen, etc).
![Page 83: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/83.jpg)
A falha foi corrigida, e agora?
• Reteste;
• Teste de regressão.
![Page 84: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/84.jpg)
Prática 4
![Page 85: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/85.jpg)
Gerenciamento de incidentes
• Incidente = qualquer evento que requeira investigação;
• O gerenciamento de incidentes é uma tarefa em conjunto da equipe de desenvolvimento e testes;
• Máquina de estados definida de acordo com as necessidades da equipe;
• Uma ferramenta bug tracking pode ajudar.
![Page 86: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/86.jpg)
Ferramentas Bug Tracking
• Bugzilla;
• Eventum;
• Jira;
• Mantis;
• Trac;
• Etc.
Saiba mais: Comparação de ferramentas bug tracking(Wikipedia)
![Page 87: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/87.jpg)
Avaliar critérios de saída e reportar resultados
• Checar os registros de teste (logs) mediante o critério de encerramento especificado;
• Avaliar se são necessários testes adicionais ou se o critério de saída especificado deve ser alterado;
• Elaborar um relatório de
teste resumido para os
interessados.
![Page 88: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/88.jpg)
![Page 89: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/89.jpg)
Prática 5
![Page 90: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/90.jpg)
Quando os testes devem parar?
• O número de bugs achados que estão fechados é maior do que o número de bugs que se esperava achar;
• Todos os testes foram executados; • A porcentagem de cobertura da aplicação pelos testes já é o suficiente; • Todas as funcionalidades funcionam corretamente; • O sistema atende as métricas de confiabilidade, disponibilidade e
durabilidade definidas no Plano de Teste; • O software tornou-se confiável; • A estabilidade alcançada atingiu o
esperado; • O número e severidade dos bugs caíram
a um nível satisfatório; • O tempo médio entre defeitos
encontrados é muito alto.
![Page 91: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/91.jpg)
![Page 92: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/92.jpg)
Relatório de Resumo de Teste
• O objetivo é resumir os resultados da atividades de teste executadas e prover avaliações baseadas nesses resultados;
• Nele também é registrado o que foi testado e em quanto tempo; as melhorias identificadas e qualquer plano futuro de teste;
• É o documento final que apresenta, se o que foi acordado no plano de teste, foi
realmente realizado ou não.
![Page 93: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/93.jpg)
![Page 94: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/94.jpg)
![Page 95: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/95.jpg)
Prática 6
![Page 96: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/96.jpg)
![Page 97: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/97.jpg)
Carreira – Teste de Software
![Page 98: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/98.jpg)
Carreira – Teste de Software
• Tester: responsável pela execução dos testes, que em muitas vezes incluem as seguintes atividades: testar configurações de hardware e software, executar scripts simples de teste, reproduzir e reportar bugs.
• Analista de Teste: responsável pela modelagem e elaboração dos casos de teste e pelos scripts de teste.
![Page 99: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/99.jpg)
Carreira – Teste de Software
• Analista de Automação de Teste: tem como objetivo principal, buscar a automatização de testes, sempre que ela for possível e viável.
• Arquiteto de Teste: responsável pela montagem da infra-estrutura de teste, monta o ambiente de teste, escolhe as ferramentas de teste e capacita a equipe para executar seu trabalho nesse ambiente de teste.
![Page 100: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/100.jpg)
Carreira – Teste de Software
• Líder de Teste: responsável pela condução dos testes e pela equipe de Testes. Geralmente é um profissional com alto grau de conhecimento da área de Teste de Software.
• Gerente de Teste: tem como função primordial a iniciação do projeto de teste a ser realizado no produto a ser testado. Lida com todas tarefas gerenciais.
![Page 101: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/101.jpg)
Carreira – Teste de Software
• Os cargos e as tarefas dos cargos podem variar (muito) de empresa para empresa;
• A área de Testes está a pleno vapor e os seus profissionais são cada vez mais valorizados;
• É difícil encontrar profissionais qualificados.
![Page 102: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/102.jpg)
Saiba mais: Guia Completo para Certificações em Teste de Software(TestExpert - Fábio Martinho Campos)
![Page 103: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/103.jpg)
Saiba muito mais!
• Grupos de discussão:
– Agile-Testing;
– BSTQB;
– Certificações - Qualidade e Teste de SW;
– DFTestes;
– GUTS;
– QAI-Brasil;
– etc.
![Page 104: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/104.jpg)
Saiba muito mais!
• Sites e blogs: – Diário da Qualidade;– Ensaios de Qualidade;– Falando em Teste e Qualidade de Software;– One Stop Testing;– QualidadeBR;– Sem Bugs;– StickyMinds;– TESTAVO;– TestExpert.– zezologs;– etc.
![Page 105: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/105.jpg)
Saiba muito mais!
• Livros:– Agile Testing;
– Análise de Riscos Em Projetos de Teste de Software;
– Base de Conhecimento em Teste de Software;
– Critical Testing Processes: Plan, Prepare, Perform, Perfect;
– Garantia da Qualidade de Software;
– How We Test Software at Microsoft;
– Lessons Learned in Software Testing;
– Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional;
– etc.
![Page 106: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/106.jpg)
Saiba muito mais!
• Twitter;
• Troca de e-mails;
• Eventos;
• etc.
![Page 107: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/107.jpg)
![Page 108: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/108.jpg)
Obrigado!
• E-mail/gtalk: [email protected]
• MSN: [email protected]
• Twitter: fabricioffc
• Blog: qualidadebr.wordpress.com
• Ensina aí!
– ensinar.wordpress.com
![Page 109: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/109.jpg)
Fonte
• ISO/IEC 9126
– http://pt.wikipedia.org/wiki/ISO/IEC_9126
• Deception and Self-deception in Software Testing
– www.stickyminds.com/se/S15016.asp
• Testing Lessons - Top 5 Secrets to Bug Hunting Success!
– http://software-testing-zone.blogspot.com/2007/09/testing-lessons-bug-hunting-success.html
• Aulas da professora Dra. Eliane Martins (UNICAMP)
– http://www.ic.unicamp.br/~eliane/Cursos/
• Comparison of issue tracking systems
– http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems
• Black R. Advanced Software Testing Vol. 1. Rocky Nook, 2008.
![Page 110: Introdução ao Teste de Software - Uma abordagem prática](https://reader030.vdocuments.site/reader030/viewer/2022020110/5553ace1b4c905d9448b48f6/html5/thumbnails/110.jpg)
Fonte
• BSTQB. Base de Conhecimento para Certificação em Teste - FoundationLevel Syllabus . 2007br.
• D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006.
• ISTQB – Glossário de Termos de Teste (Versão 1.3 – Português/Brasil).
• Bastos, A.; Rios, E.; Cristalli, R. & Moreira, T. Base de conhecimento em teste de software. São Paulo, Martins Fontes, 2007.