1 Orientações iniciais Dê preferência ao uso de uma conexão de banda larga O evento não fará uso do vídeo (webcam), somente slides e áudio Se necessário, ajuste o idioma da sala na barra de ferramentas superior O evento terá ~45 min. de apresentação e ~15 min. finais para perguntas Você pode mandar suas perguntas pelo chat ao longo da apresentação A apresentação será gravada e o vídeo publicado posteriormente Para aqueles que possuem certificação PMP, o evento vale 1 PDU Acompanhe-nos nas redes sociais
FATTO Consultoria e Sistemas Missão: Ajudar nossos clientes a planejar e controlar melhor seus projetos de software. Consultoria e Treinamento em Medição, Estimativas e Requisitos de Software: Análise de Pontos de Função (IFPUG, NESMA, COSMIC) Estimativas de projetos de software Engenharia de Requisitos Medição e auditoria em medição de software Análises de produtividade em projetos de software O livro mais vendido de APF no país foi escrito por nós Formou ~25% de especialistas certificados pelo IFPUG no Brasil Representante do Scope Project Sizing Software Aumenta seu nível de governança nas medições funcionais e na gestão dos ativos de software FATTO Consultoria e Sistemas - www.fattocs.com.br 2
TESTES EXPLORATÓRIOS UMA VISÃO GERAL Instrutor: Marcelo Nascimento Costa, MSc marcelo.costa@fattocs.com.br Sejam Todos Bem-Vindos 3 FATTO Consultoria e Sistemas - www.fattocs.com.br
Introdução Os métodos clássicos de teste envolvem testadores para a criação de Casos de Testes e Scripts de Testes utilizando uma documentação base tais como documentos de especificação de requisitos. O processo é processo conhecido como Test baseado em Script Este tipo de testes leva a geração excessiva de casos de testes irrelevantes, enquanto falha em não permitir sobrar tempo para a realização de testes criativos de casos mais interessantes e complexos Testes Exploratórios é referenciado como uma nova abordagem e foi introduzida por Cem Karner. Utilizado pela Microsoft/Google para testes de todos os seus produtos Serve como a Terceira fase para o TDD, sendo utilizado para os teste fim-afim
Definição de Testes Exploratórios Um estilo de teste de software que enfatiza a liberdade pessoal e responsabilidade do testador individual para continuamente otimizar a qualidade do seu trabalho tratando aprendizado relacionado a teste, projeto de teste, execução de testes e interpretação de resultados (Kaner C., 1983) Pontos-chave: - Estimula o compromisso cognitivo do testador - Aumenta a responsabilidade pela gerência do tempo apropriadamente
Mas o que realmente são os Testes Exploratórios? FATTO Consultoria e Sistemas - www.fattocs.com.br Representam: Uma técnica para projetar e executar testes melhores Aprendizado, desenho de testes e execução de testes simultaneamente Adaptar os testes conforme são executados Não Representa: Como as atividades de testes devem ser planejadas, gerenciadas e controladas Como o ambiente de teste deve ser configurado Avaliação de riscos para aplicações críticas de segurança Quais ferramentas devem ser utilizadas
Quais as Vantagens? Encoraja criativade, adaptação e intuição Aumenta a chance de encontrar bugs em um período de tempo mais curto O testador é livre para explorar novas áreas enquanto idéias de testes surgem durante a execução dos testes É útil quando a documentação completa não está sempre disponível É mais divertido que o Testes baseado em Script
Quais as Desvantagens? Depende fortemente das habilidades de testes e conhecimento do domínio do testador Quando combinado com Testes baseado em Scripts envolve o risco de redundância Não fornece garantia absoluta que os bugs mais importantes foram encontrados testador sem conhecimento do domínio
Ad hoc x Exploratório São bem diferentes Ad-hoc soa: aleatório caótico incontrolável descuidado Perdido Exploratório significa: orientado a pensamento focado disciplinado acurado missão cumprida FATTO Consultoria e Sistemas - www.fattocs.com.br
Como efetivamente funcionam os Tests Exploratórios? Planejar Sessões de Testes Exploratórios Verificar a necessidade de mais Sessões de Testes Exploratórios Executar Sessões de Testes Exploratórios
Executandos testes exploratórios Foco e Análise Foco: Determinar um Objetivo para a sua missão nos testes exploratórios para manter um foco específico na sua sessão, como: Explorar uma User Story recém-concluído Explorar a interações entre os cenários Testar algum requisito de qualidade, como estabilidade, confiabilidade, ou desempenho Análise: Os humanos verificam situações mais sutis que os testes automatizados: Um campo editável de um formulário que deveria estar somente leitura Um disco entrou em operação quando o software não acessaria o disco Um valor deslocado no relatório Uma sessão de testes exploratórios normalmente demora de uma a duas horas FATTO Consultoria e Sistemas - www.fattocs.com.br
Executandos testes exploratórios Anotações FATTO Consultoria e Sistemas - www.fattocs.com.br Devem manter um bloco de notas ao lado durante a exploração, como se fosse um diário de bordo Podem ser utilizadas ferramentas de gravação de ações como o Camtasia.
Executandos testes exploratórios Heurísticas de Teste FATTO Consultoria e Sistemas - www.fattocs.com.br Análise de Permissões: None, Some, All Limites em arquivos/campos Posição de edição: começo, meio e fim Contagem: zero, um, vários Realizar CRUDs para cada entidade do sistema Injeção de comandos
Alguns Tours Exploratórios (1) Nome do Tour Resumo Onde se aplica em uma Organização? Baseado em Histórico Baseado em Modelos Verificando Especificações Baseado em bugs conhecidos do sistema Baseado em diagrama de estados e de atividades Baseado na especificação funcional ou regulamentações Reteste de bugs em produção Teste de aplicação com estados complexos e um diagrama de estados desenhado. Baseado na Especificação Funcional ou User Stories do projeto Intellectual Tour The FedEx Tour Supermodel tour Saboteur tour The Back Alley Tour Tenta stressar o sistema com valores que geram erro Verifica a integração entre sistemas com o envio e o recebimento de pacotes na outra ponta Verificar questões relacionadas a corretude e usabilidade da interface Inserção de arquivos nulos ou com problemas para sabotar o sistema Utiliza opções e trechos do código nunca utilizados The Mixed- Utiliza combinações de valores raramente FATTO Destination Consultoria Tour e Sistemas utilizados - www.fattocs.com.br Entrada de valores financeiros que possam gerar erros, principalmente valores muito altos ou baixos Utilizado para testes da integração dos sistemas. Análise de problemas na interface gráfica dos projetos Simular ao envio de arquivos para terceiros, principalmente problemas na comunicação. Forçar as exceções que acontecem no sistemas, como, operações incomuns no sistema Mesmo caso anterior. Combinar operações comuns com opções incomuns.
Resumo dos Tours (2) Nome do Tour Resumo Onde se aplica uma organização? Guidebook Tour Gabarge Collector Tour Baseado em um passo-a-passo básico da utilização do sistema pelo usuário Baseado na visitação e execução de todos os itens do sistema Importante para verificação da aplicação antes de subir para homologação Importante para verificação da aplicação antes de subir para homologação The Bad- Neighborhood Tour The Lonely Businessman Tour Rained-Out Tour The Obsessive- Compulsive Tour Busca dos bugs mais comuns dentro do sistema Executar funcionalidades mais escondidas do sistema. Verificação da capacidade de abertura e fechamento de conexão, limpeza de memória, etc Testar a execução repetitiva das mesmas ações dentro do sistema. Teste de telas mais complexas que possam gerar entregas com bugs Executar as funcionalidades utilizadas pelo usuário porém que são menos testadas Testes principalmente com transações distribuídas e leituras síncronas de informações Importante para testes consecutivos do comportamento das threads no sistema
Exemplo de ferramenta de apoio Microsoft Test Manager FATTO Consultoria e Sistemas - www.fattocs.com.br 16
17 Ferramenta OpenSource Microsoft Plug-in instalado no Chrome: https://marketplace.visualstudio.com/items/ms.vssexploratorytesting-web
18 Bibliografia http://sembugs.blogspot.com.br/2011/12/dicas-leitura-testeexplorarorio.html Whittaker, James A. Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design. Whittaker, J. A. (2002). How to Break Software. Boston: Addison Wesley. https://blogs.msdn.microsoft.com/visualstudioalm/2015/11/18/ann ouncing-easy-to-use-browser-based-exploratory-testing-for-visualstudio-team-services/
19 RESPONDER A PESQUISA SOBRE O WEBINAR