alm - testes exploratórios

53
Test es Exploratório

Upload: alan-carlos

Post on 06-Jun-2015

799 views

Category:

Documents


0 download

DESCRIPTION

Uma abordagem de Testes Exploratórios.

TRANSCRIPT

Page 1: ALM - Testes Exploratórios

TestesExploratórios

Page 2: ALM - Testes Exploratórios

- glossário- definição- abordagens- planejamentos- laboratório

agenda

Page 3: ALM - Testes Exploratórios

Glossário

Glo

ssár

io

Page 4: ALM - Testes Exploratórios

Glo

ssár

io

Suíte de Testes: Conjunto de Casos de Testes.

Ex.: Suíte de Testes Exploratórios, Suíte de Testes de Desempenho, Suíte de Testes de Relatórios. Ficando a critério do Analista de Testes quais Casos fazem parte da Suíte em questão.

Cenário de Testes: É a situação a ser testada.

Ex.: DOC para Conta Corrente

Pode se ter Passos do Cenário para se criar os Casos de Testes:

1. Consultar o saldo da conta de origem;2. Consultar o saldo da conta destino;3. Transferir um valor da conta origem para conta destino;4. Consultar novamente o saldo da conta origem, verificando que o saldoinicial menos o valor transferido é igual ao saldo atual;5. Consultar o saldo da conta destino, verificando que o saldo inicialacrescido do valor transferido é igual ao saldo atual;

Glossário

Page 5: ALM - Testes Exploratórios

Glo

ssár

io

Casos de Testes: É um conjunto de condições usadas para o teste de software

Ex.: CT01 - Validação de CPF

Script de Testes/Passos do Caso de Testes: É o descritivo de como deve ser feito o Caso de teste descrito. O mais formal deve conter entrada, saída e resultado esperado.

Ex: CT01 – Validação de CPF

Abra seu navegador;Digite o endereço http://internetbanking.com;No campo conta corrente, digite a conta 01212;No campo senha, digite a senha abcdef;Clique em OK;Logo que abrir o Menu, vá na opção Transferência DOC;No campo CPF, digite o numero 000.000.000-00;Clique em “Verificar CPF”;Resultado: Deverá aparecer a mensagem “CPF Inválido, favor confirmar”.Clique em OK;Clique em Log OFF;Feche seu navegador;

Page 6: ALM - Testes Exploratórios

Definição

Defi

niçã

o

Page 7: ALM - Testes Exploratórios

O termo Teste Exploratório, preconizado por Cem Kaner no livro Testing Computer Software, refere-se a uma abordagem de teste muito diferente do teste orientado, ou teste com roteiro.

Ao invés de realizar uma análise sequencial de necessidades, seguida pela concepção, documentação e execução de casos de teste, o teste exploratório foi definido, por James Bach (2009), como um processo em que o testador aprende, elabora o design do teste e executa simultaneamente enquanto explora o produto.

O que é?

Page 8: ALM - Testes Exploratórios

Quando usar?

Para Bach (2009) o teste exploratório deve ser utilizado nas seguintes situações:

· Necessidade em fornecer feedback rápido sobre um novo produto ou serviço;

· Necessidade de aprender o produto rapidamente;

· Diversificar os testes e melhorá-los;

· Encontrar o erro mais importante no menor espaço de tempo;

· Investigar e isolar um defeito específico;

· Investigar a situação de risco em especial, a fim de avaliar a necessidade detestes com script nessa área;

Page 9: ALM - Testes Exploratórios

Quando usar?

- Realização de testes quando não existem requisitos;

- Realização de testes quando existe pouco tempo disponível;

- Realização de testes quando não se conhece o aplicativo a ser testado;

- Realização de testes em ambientes pouco testados pelos testes convencionais;

- Identificação dos passos para tentar reproduzir um defeito aleatório;

- Diagnóstico de comportamentos inesperados;

- Investigação de efeitos colaterais;

- Investigação de defeitos semelhantes;

- Medição de riscos;

Page 10: ALM - Testes Exploratórios

Elementos do Teste Exploratório

- Exploração do produto: descobrir e registrar o objetivo e as funções do produto,tipos de dados processados e áreas de potencial instabilidade. Esta fase dependedo entendimento da tecnologia utilizada, informações sobre o produto e usuários,e a quantidade de tempo disponível para fazer o trabalho;

- Projeto de teste: determinar as estratégias de operação, observação e avaliação do produto;

- Execução do teste: operar o produto, observar o comportamento e utilizarinformações para formar hipóteses de como o produto funciona;

- Heurísticas: são guias ou regras que ajudam o testador a decidir o que fazer, o que deverá ser testado e como testá-lo;

- Resultados: é o resultado do teste. Este é finalizado uma vez que o testadorproduziu resultados que atendam os requisitos especificados.

Page 11: ALM - Testes Exploratórios

Requisitos

Page 12: ALM - Testes Exploratórios

Requisitos do Testador

Criatividade

testador

Observação cuidadosa

Metódico

Pensamento crítico

Aprendizado rápido

Intuição

Improviso

Autogerenciamento

Page 13: ALM - Testes Exploratórios

Requisitos do Software

Para que o teste exploratório ocorra, é necessário que o software ou parte dele já tenha sido desenvolvido. (funcionalidade, tela, etc.).

software

Como normalmente não há documentação nesse caso, a única fonte de informação é o próprio software.

Page 14: ALM - Testes Exploratórios

Abordagens

Abor

dage

ns

Page 15: ALM - Testes Exploratórios

Heurísticas

Page 16: ALM - Testes Exploratórios

Exemplos de Estratégias:

- Heurística HICCUPPS (Michael Bolton);- Heurística IOSC;- Heurística de consistência;- Atributos da Qualidade (Ex: Heurística de Usabilidade de Nielsen);- Outras...

Heurísticas (Estratégias)

Page 17: ALM - Testes Exploratórios

(H)istory: As funcionalidades do software devem se comportar de forma consistente ao longo do tempo;

(I)mage: O comportamento e aparência do software está alinhadacom a imagem que o fabricante deseja expor ao usuário;

(C)omparable products: O software é compatível com software similares;

(C)laims: O software se comporta de acordo com os requisitos;

(U)ser expectation: As funcionalidades se comportam conforme aexpectativa do usuário;

(P)roduct itself: As funcionalidades são consistentes entre si;

(P)urpose: As funcionalidades atendem o seu propósito;

(S)tatuses: O produto está em conformidade, com leis, regulamentos, diretrizes, etc.

Heurística HICUPPS

Page 18: ALM - Testes Exploratórios

(I)nput: Exploração do comportamento do software sob a perspectiva das entradas de dados;

(O)utput: Exploração do comportamento do software sob a perspectiva das saídas de dados;

(S)torage: Exploração do comportamento do software sob a perspectiva dos dados armazenados;

(C)omputation: Exploração do comportamento do software sob a perspectiva da computação/processamento dos dados.

Heurística IOSC

Page 19: ALM - Testes Exploratórios

Consistência é uma das Heurísticas de Nielsen e significa que o mesmo comando ou ação deve ter sempre o mesmo efeito e se localizar sempre no mesmo lugar. A consistência melhora o reconhecimento, o aprendizado, a memorização e transmite até mais credibilidade ao usuário do sistema.

Existem quatro espécies de consistências:

- Consistência Estética: O estilo e a aparência aumentam o reconhecimento e comunicam de uma forma bem mais efetiva a mensagem. Um exemplo de consistência estética seria a mesma escala de cores usadas por empresas do mesmo ramo, facilitando o reconhecimento por parte do usuário/cliente;

- Consistência Funcional: Mesmas ações com significados iguais melhoram a usabilidade e a funcionalidade para que os usuários aproveitem ao máximo a interface. Controles remotos e aparelhos tocadores de mp3 possuem a mesma linguagem, havendo consistência de informação;

Heurística de Consistência

Page 20: ALM - Testes Exploratórios

Consistência Interna: Unidade visual interna no ambiente a ser projetado. Um site, por exemplo, deve ter a localização dos seus elementos internos e o uso das cores de forma padronizada;

Consistência Externa: Um ambiente quando for projetado fora do seu lugar comum deve ter a mesma consistência para haver o reconhecimento por parte do usuário. Por exemplo, um banner referente a um site, ele deve ter a mesma representação em todos os sites externos nos quais ele se apresentar, para o usuário reconhecê-lo e poder acessá-lo.

Heurística de Consistência

Page 21: ALM - Testes Exploratórios

1. Visibilidade de Status do SistemaIsso significa que você precisa se certificar de que a interface sempre informe ao usuário o que está acontecendo, ou seja, todas as ações precisam de feedback instantâneo para orientá-lo.

2.Relacionamento entre a interface do sistema e o mundo realOu não usar palavras de sistema, que não fazem sentido pro usuário. Toda a comunicação do sistema precisa ser contextualizada ao usuário, e ser coerente com o chamado modelo mental do usuário.

3. Liberdade e controle do usuárioFacilite as “saídas de emergência” para o usuário, permitindo desfazer ou refazer a ação no sistema e retornar ao ponto anterior, quando estiver perdido ou em situações inesperadas.

4. ConsistênciaFale a mesma língua o tempo todo, e nunca identifique uma mesma ação com ícones ou palavras diferentes. Trate coisas similares, da mesma maneira, facilitando a identificação do usuário.

Heurística Atributos da QualidadeAs 10 Heurísticas de Usabilidade de Nielsen

Page 22: ALM - Testes Exploratórios

5. Prevenção de errosNa tradução livre das palavras do próprio Nielsen “Ainda melhor que uma boa mensagem de erro é um design cuidadoso que possa prevenir esses erros”. Por exemplo, ações definitivas, como deleções ou solicitações podem vir acompanhadas de um checkbox ou uma mensagem de confirmação.

6. Reconhecimento ao invés de lembrançaEvite acionar a memória do usuário o tempo inteiro, fazendo com que cada ação precise ser revista mentalmente antes de ser executada. Permita que a interface ofereça ajuda contextual, e informações capazes de orientar as ações do usuário – ou seja – que o sistema dialogue com o usuário.

7. Flexibilidade e eficiência de usoO sistema precisa ser fácil para usuários leigos, mas flexível o bastante para se tornar ágil à usuários avançados. Essa flexibilidade pode ser conseguida com a permissão de teclas de atalhos, por exemplo. No caso de websites, uso de máscaras e navegação com tab em formulários são outros exemplos.

Heurística Atributos da Qualidade

Page 23: ALM - Testes Exploratórios

8. Estética e design minimalistaEvite que os textos e o design fale mais do que o usuário necessita saber. Os “diálogos” do sistema precisam ser simples, diretos e naturais, presentes nos momentos em que são necessários.

9. Ajude os usuários a reconhecer, diagnosticar e sanar errosAs mensagens de erro do sistema devem possuir uma redação simples e clara que ao invés de intimidar o usuário com o erro, indique uma saída construtiva ou possível solução.

10. Ajuda e documentação Um bom design deveria evitar ao máximo à necessidade de ajuda na utilização do sistema. Ainda assim, um bom conjunto de documentação e ajuda deve ser utilizado para orientar o usuário em caso de dúvida. Deve ser visível, facilmente acessada, e com oferecer uma ferramenta de busca na ajuda.

Heurística Atributos da Qualidade

Page 24: ALM - Testes Exploratórios

Teste Oracle

Page 25: ALM - Testes Exploratórios

Teste Oracle é uma técnica comumente empregada para auxiliar o testador a predizer o funcionamento supostamente correto do aplicativo ou de determinada função do aplicativo.

A idéia fundamental dos Test Oracles é garantir consistência por meio da observação e comparação. Digamos, por exemplo, que um novo portal de vendas online está sendo construído para substituir um outro mais antigo. Durante a realização dos testes do novo portal, o portal antigo sempre será usado como referência. Ele será um Test Oracle para garantir que o comportamento do novo portal seja consistente.

Por outro lado, vamos supor que um aplicativo de contabilidade sempre exibe um preview dos relatórios antes iniciar a impressão. O Test Oracle nesse caso é a consistência desse comportamento em todo o aplicativo, ou seja, poderíamos considerar um defeito caso algum relatório não exibisse o preview antes de iniciar a impressão.

Teste Oracle

Page 26: ALM - Testes Exploratórios

- Consistência com a proposta: o comportamento deve ser consistente com a sua proposta;

- Consistência com o resto do aplicativo: o comportamento deve ser consistente com o comportamento de outras áreas do aplicativo;

- Consistência histórica: o comportamento deve ser consistente ao longo do tempo;

- Consistência com aplicativos semelhantes: o comportamento deve ser consistente com o comportamento de aplicativos similares, concorrentes, etc.

Teste Oracle

Page 27: ALM - Testes Exploratórios

Testes Não Funcional – Função Processamento de Arquivos TXT

Histórico: Versão 1.0

Requisito/Especificação: Não háAmbiente: Processador Xeon 1,5 GHZ – HD 1 TB 7200 RPM, 04 GB de RAM,Windows 2003 x64 Enterprise Edition – SQL Server 2008 R2 x64 Standard EditionMassa: 1000 arquivos TXT de 1 kb Tempo de Processamento: 10 segundos

Current: Versão 2.0

Requisito/Especificação: Não háAmbiente: Processador Xeon 1,5 GHZ – HD 1 TB 7200 RPM, 04 GB de RAM,Windows 2003 x64 Enterprise Edition – SQL Server 2008 R2 x64 Standard EditionMassa: 1000 arquivos TXT de 1 kb Tempo de Processamento: 100 segundos

Exemplo

Page 28: ALM - Testes Exploratórios

Planejamentos

Plan

ejam

ento

s

Page 29: ALM - Testes Exploratórios

Testes Baseados em Seção (SBTM)

Page 30: ALM - Testes Exploratórios

Durante a jornada de estudos sobre o teste exploratório, Bach (2009) percebeu que testadores faziam muitas coisas durante o dia além de testar. Para monitorar os testes, seria preciso encontrar uma forma de distinguir o teste de qualquer outra coisa. Foi quando surgiu a idéia das seções.

Uma seção não é um caso de teste ou registro de um bug, mas uma unidade básica de teste. Um bloco ininterrupto, revisável e objetivo de um esforço de teste.

As seções de teste são divididas em três tipos de tarefas (Bach 2009) (Crispin 2009): Design e Execução, Investigação e Report de bugs e Setup da sessão, que são chamadas de TBS (Task Breakdown Structure). Após, é necessário que os testadores estimem o tempo gasto para cada tipo de tarefa. Isso inclui, também, os tempos gastos em missões associadas às seções e o tempo de teste gasto em oportunidades, ou seja, o tempo despendido a qualquer teste que não esteja descrito na missão da sessão.

Session-Based Test Management (SBTM)

sbtm

Page 31: ALM - Testes Exploratórios

Setup da seção, Design (Modelagem) e Execução, Investigação e Report de bugs, que são chamadas de TBS (Task Breakdown Structure).

Session-Based Test Management (SBTM)

sbtm

Page 32: ALM - Testes Exploratórios

Missão: Objetivo do Teste. Ex.: analisar uma função, ou procurar um problema particular, ou verificar um conjunto de bugs consertados.

Tempo da Seção: Média de 45 à 120 minutos. Sendo que 45 minutos é classificado como seção curta e mais de 02 horas classificado como seção longa.

Passos: Não há.

Registros: Para saber quais tarefas foram realizadas durante o teste, é necessário que os testadores as reportem de forma genérica. O testador precisa registrar a atividade executada, reações do sistema, dados utilizados, condições, diagnósticos ou idéias.

Características SBTM

Page 33: ALM - Testes Exploratórios

Não deve ser muito específica nem muito genérica;

A missão determina o que deve ser testado (não como o teste deve ser realizado);

Ao final da seção de teste exploratório, novas idéias, oportunidades ou problemas encontrados pelo testador podem ser usados para a criação denovas missões;

Importante que sempre tenha uma reunião de alinhamento após a conclusão das missões para discutirem os vídeos gravados, anotações feitas, possíveis erros identificados.

Missão

Page 34: ALM - Testes Exploratórios

Formato da MissãoElisabeth Hendrickson recomenda...

Page 35: ALM - Testes Exploratórios

Seção - Etapas

Preparação (Setup): Preparação do ambiente de testes, configuração de massa de dados, leitura de manuais, requisitos, diagramas, etc.

Especificação (Design): Definição (modelo mental) dos casos de testes (hipóteses) baseados em heurísticas, idéias, checklists, etc.

Execução (Execution): Execução propriamente dita do teste exploratório para demonstrar se as hipóteses/expectativas foram atendidas (ou não).

Oportunidades (Opportunities): Tempo gasto em atividades, explorações, investigações que não estão no escopo ou foco da missão.

Relato de defeitos (Bug investigation/Report): Investigação e registro de defeitos.

Page 36: ALM - Testes Exploratórios

Pontos de Testes (sbtm)

Page 37: ALM - Testes Exploratórios

Pontos de Testes

Lyndsay (2009) introduz um conceito importante que contribuiu ao método de Bach (2009), que são os pontos de teste (test points) com o objetivo de controlar o escopo do teste.

No projeto no qual Lyndsay (2009) participou não existia uma lista de teste nem tampouco requisitos do software e histórico de testes realizados. Para que ele pudesse controlar o que estava sendo testado, foi necessário levantar os aspectos que deveriam ser explorados e identificar as fontes de apoio (oracles/sources).

test points

Page 38: ALM - Testes Exploratórios

Pontos de Testes

Com base nessas informações, partiu-se para elaboração dos test points que teriam como características:

- Um test point levaria entre 20 minutos à 4 horas. Esta estimativa de tempo éfeita no momento em que o ponto de teste é definido. Pode ser redefinidodurante os testes;

- Cada test point possui uma escala de risco. Esta avaliação também é feitacomo parte do processo de definição do ponto de teste;

- Cada trabalho de teste está relacionado a test point. Pode conter um ou vários pontos que deverão ser investigados durante o tempo da seção.

O que difere um ponto de teste de uma seção é que o primeiro está relacionado com a unidade de trabalho, enquanto que o segundo com a unidade de tempo (Lyndsay 2009);

Page 39: ALM - Testes Exploratórios

Pontos de Testes

- Um ponto de teste pode ser repetido e uma seção de testes está prevista, acontece e é registrada;

- A lista de test points é dinâmica, ou seja, novos pontos são adicionados com base em erros encontrados e correções. Além disso, uma nova compreensão da funcionalidade do software pelo testador é adquirida durante a exploração.

Page 40: ALM - Testes Exploratórios

Resultados

Durante o teste exploratório o testador registra os resultados no Relatório da Seção.

O relatório inclui notas sobre o que foi testado, o ambiente de testes, arquivos de dados, defeitos encontrados, algumas métricas básicas, etc.

reports

Page 41: ALM - Testes Exploratórios

Exemplos – Missão Teste Exploratório

Obs.: Os tests points devem ser testados conforme o risco, sendo os de maior

risco primeiro, pois normalmente requer mais tempo, além de ser mais

importante para o negócio.

Page 42: ALM - Testes Exploratórios

Exemplos – Relatório da Seção

Page 43: ALM - Testes Exploratórios

Reunião de Alinhamento

Após a conclusão da missão ou missões, deve-se realizar uma reunião de alinhamento com o Analista de Testes e/ou Gerência de Testes afim de discutir os resultados para:

- Registrar possíveis falhas;- Criar possíveis casos de testes formais;- Criar novas missões;- Registrar possíveis requisitos;- Registrar novos tests points.

Page 44: ALM - Testes Exploratórios

Reunião de Alinhamento

Para auxiliar, pode-se realizar a reunião de alinhamento, usando o método PROOF.

Page 45: ALM - Testes Exploratórios

Fluxo de Testes Exploratórios

Page 46: ALM - Testes Exploratórios

Testes Free Style (AD-HOC)

Page 47: ALM - Testes Exploratórios

Estilo Livre (Free Style)

O teste exploratório estilo livre (Free Style) é o oposto do teste exploratório baseado em sessões.

Nesta modalidade, não existe nenhuma definição formal de quanto tempo ou o que será testado. Esta abordagem é normalmente utilizada por testadores realmente experientes para identificar defeitos críticos quando não existe muito tempo para a criação de estratégias formais.

Page 48: ALM - Testes Exploratórios

Características

- Não possui script de execução;

- Não tem tempo de execução;

- Deve ser executado por pessoas que possuem experiência e conhecimento;

- Deve ser de preferência gravado ou descrito após a execução para relatar o bug que foi detectado;

- Deve-se repetir os passos mais de uma vez para avaliar se o bug identificado ocorre novamente;

Page 49: ALM - Testes Exploratórios

Exemplo Testes AD-HOC

Veja para mim rapidinho se os relatórios estão funcionando!

Dê uma geral e veja se está tudo OK!

Teste como um todo!

Teste o que der e vamos liberar assim mesmo!

Page 50: ALM - Testes Exploratórios

Ferramentas

Ferr

amen

tas

Page 51: ALM - Testes Exploratórios

Ferramentas

Page 52: ALM - Testes Exploratórios

Ferramentas

Gravador de passos do Windows – para gravar as atividades passo a passo e gerar um relatório para enviar ao desenvolvedor

Session Tester – Ajuda a controlar as sessões e gera relatórios HTML

Rapid Reporter – Ferramenta para ajudar a gerar relatórios

Testpad – Ferramenta para ajudar a estruturar o planejamento de teste.

Kanbanflow – Painel online de KANBAN para ajudar a organizar atividades.

Page 53: ALM - Testes Exploratórios

Lab

Labo

rató

rio