Testes Ágeis. Malba Jacob Prudente



Documentos relacionados
Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA METODOLOGIAS ÁGEIS

Engenharia de Software. Ciclos de Vida do Software. 1. Sistemas

Unidade II Atividades em PDS: Testes. Unidade III Suporte e Manutenção. Processo Desenvolvimento Software

1.1. Definição do Problema

Qualidade de Produto. Maria Cláudia F. P. Emer

Engenharia de Software

3 Informações para Coordenação da Execução de Testes

Gerenciamento de Integração. Prof. Anderson Valadares

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

Processo de Desenvolvimento de Software

Introdução. Qualidade de Produto. Introdução. Introdução ISO/IEC Normas

Entendendo o Processo de Desenvolvimento com Scrum

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Termos de Referência para Serviços especializados de consultoria Individual na área de Arquitetura de Sistemas

Por que não (não testar)? Danilo Sato

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Interpretações de Qualidade de Software. Interpretações de Qualidade de Software. Aspectos Importantes das Definições de Qualidade

Gerenciamento da Comunicação 1

ANÁLISE DE SISTEMAS SCRUM

ETA - Easy Test Automation: uma ferramenta para automação de testes funcionais web baseada em Selenium Webdriver e TestNG

Prototipação Exploratória

Gestão de Testes e Defeitos. Malba Jacob Prudente

4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software

Modelagem de Processos de Negócio Aula 3 Gestão de Processos de Negócio (BPM) Andréa Magalhães Magdaleno andrea@ic.uff.br

Desenvolvimento guiado por testes e ferramentas xunit

Gerenciamento de projetos (Project Management).

FSW CTIS FÁBRICA DE SOFTWARE. case fsw ctis

SIMULADO A - COBIT 5 PORTUGUES

Modelos de Ciclo de Vida de Software

Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

Gerenciamento da Comunicação 1

Melhorias de Processos segundo o PDCA Parte IV

FUNÇÃO DESENVOLVER PESSOAS:

PROVA DISCURSIVA. CESPE CEBRASPE TRT8 Aplicação: 2016

Plano de Teste. Arndt von Staa Departamento de Informática PUC-Rio Maio 2014

Título do Slide Máximo de 2 linhas

Treinamento e Desenvolvimento

Documento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0

INTRODUÇÃO A CONTABILIDADE

Documento de Processo

Trilha Análise de Negócios A Transformação da Análise de Negócios frente às Mudanças de Metodologias Alexandre Xavier / Fernanda Matzenbacher

Capítulo 3: Qualidade de Produto e a ISO 9126

TÉCNICAS DE GESTÃO E EMPREENDEDORISMO

e ao Introdução ao BPM Guia BPM CBOK Instrutor: Eduardo Oliveira Slide XII Semana de Administração Orçamentária, Financeira e de Contratações Públicas

ATMM uma ferramenta para gerenciamento de métricas de teste no contexto de métodos ágeis

8 SINAIS QUE ESTÁ NA HORA DE MUDAR A FORMA COMO VOCÊ GERENCIA SEUS PROCESSOS DE MENTORING

As atividades que conciliam

Ferramenta 8: Fluxograma

6 dicas para reduzir o custo médio por incidente e aumentar a produtividade

SIG. USANDO A TECNOLOGIA COMO SUPORTE Tecnologias de Apoio

TESTANDO MAIS PARA DEPURAR MENOS: OS BENEFICIOS DOS TESTES PARA O DESENVOLVIMENTO DE SOFTWARE

Programação de Computadores I. Linguagem C Função

Um estudo de caso do processo de testes automáticos e manuais de software no desenvolvimento ágil

ANEXO 3 GERENCIAMENTO DE MODIFICAÇÕES

Apresentação Comercial Proposta de Suporte Técnico Informática

O Processo de Design de Interação

Modelo CMMI em Fábrica de Software

Backup. O que é um backup?

DESIGN GRÁFICO QUE NEGÓCIO É ESSE?

Manutenção total aplicada em ferramentarias

ATIVIDADES PRÁTICAS SUPERVISIONADAS

BABok 2.0, O Guia de Referência de Análise de Negócio

Termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos.

Motivação Este trabalho apresenta o desenvolvimento do controle da interatividade num sistema para a área de computação gráfica, mais especificamente

ELIPSE POWER CONFERE MAIOR CONFIANÇA E SEGURANÇA AO CENTRO DE OPERAÇÃO INTEGRADO DA DISTRIBUIÇÃO NA CEMAR

Metodologias de alinhamento PETI. Prof. Marlon Marcon

Introdução à Manutenção O QUE VOCÊ ENTENDE POR MANUTENÇÃO?

Avaliação da Satisfação do Cliente de Informática

OpenPDV: Sistema aberto para gerenciamento de restaurantes

Verificação e validação

Visão prática do BDD (Behavior Driven Design) para agilizar o processo de desenvolvimento

Gabinete do Procurador-Geral da República. 3 Procedimento de Sistema de Auditoria Interna

SERG 2014 SEMIOTIC ENGINEERING RESEARCH GROUP

AUTOMAÇÃO EM TESTES ÁGEIS AUTOMATION IN AGILE TESTING. Monique F. da Silva 1, Autran G. Moreno 2

GESTÃO DA MANUTENÇÃO

Tutorial Sistema de Planejamento

FELIPE MASSARDO PROJETO DE INTERFACE PARA UM SISTEMA DE AVALIAÇÃO DE USABILIDADE DE SITES TRANSACIONAIS

Levantamento de Requisitos

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Programação de Computadores - I. Profª Beatriz Profº Israel

Gestão do Conhecimento. Conversão de conhecimento. Conversão de conhecimento 12/3/2011. Prof. Luiz A. Nascimento

Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros

Acompanhamento Individual

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Testes Ágeis com BDD. Por que o BDD pode salvar o agile? Paloma Costa

GESTÃO POR PROCESSOS. Formação de Facilitadores para Melhoria de Processos

A Automação do Processo Judicial Trabalhista

Administração Central Unidade de Ensino Médio e Técnico - CETEC. Plano de Trabalho Docente 2012

AUTOMAÇÃO COMERCIAL UNIDADE VI

Recursos Humanos Recursos Humanos 2007

LIDERANÇA. Conteúdo: O que é liderança Estilos de liderança Delegação Feedback

Transcrição:

Testes Ágeis Malba Jacob Prudente

Objetivos do treinamento 1. Expor os conceitos sobre Testes Ágeis; 2. Testes Ágeis x Testes Tradicionais 3. Testador Ágil; 4. Planejando os Testes; 5. Teste de Regressão; 6. Quadrantes dos Testes Ágeis.

Conceitos de Testes Ágeis

1. Indivíduos e interações; Valores Ágeis 2. Software em funcionamento; 3. Colaboração com o cliente; 4. Responder as mudanças.

Princípios Ágeis 1. Priorizar entrega Entrega contínua gerando maior valor e satisfação ao cliente; 2. Gerar mudanças Prover vantagem competitiva ao cliente; 3. Freqüência de entrega entre 2 semanas a 2 meses; 4. Área de negócio e desenvolvimento trabalhando em conjunto;

Princípios Ágeis 5. Equipe motivada e confiante; 6. Comunicação face a face; 7. Software funcionando é medida de progresso; 8. Ritmo de trabalho adequado; 9. Técnicas e design aprimoradas;

10. Evitar desperdícios; Princípios Ágeis 11. Equipes auto-gerenciáveis; 12. Melhoria contínua (inspeção e adaptação); 13. Documentar apenas o necessários.

Métodos Ágeis 1. Scrum; 2. XP; 3. Etc.

Testar de forma ágil 1. Prover informações rapidamente; 2. Orientar o desenvolvimento; 3. Acompanhar status dos entregáveis; 4. Conhecimento de riscos e benefícios; 5. Automatizar o máximo de testes; 6. Colaborar com a entrega de VALOR aos clientes.

Testes Tradicionais x Testes Ágeis

Testes Tradicionais 1. Desenvolvimento cascata; 2. Testes ao final do desenvolvimento; 3. Requisitos podem estar desatualizados; 4. Reporte de defeitos indevidos (item 3); 5. Documentação extensa; 6. Descumprimento de prazos.

Testes Tradicionais 7. Falta de comprometimento; 8. Teste vira gargalo para entrega do release; 9. Comunicação falha entre as equipes; 10. Acumulo de atividades de correção, desenvolvimento e testes ao final dos prazos.

Testes Ágeis 1. Multidisciplinaridade: Todos devem possuir habilidade para testar; 2. Foco em entregar um produto de qualidade; 3. Busca por agregar valor ao negócio; 4. Compromisso e responsabilidade de toda equipe; 5. Produzir com qualidade;

Testes Ágeis 6. Teste não assegura a qualidade, faz com qualidade; 7. Não apontar defeitos, colaborar para a solução dos defeitos. 8. Corrigir um defeito imediatamente; - Parar a produção; - Identificar e corrigir a causa-raiz; - Retomar a produção.

Testes Ágeis 9. Não há uma fase de teste; 10. Testar assim que implementar; 11. Feedback imediato; 12. Pronto apenas quando Testado; 13. Automatizar o máximo possível ; 14. Regressão para identificar o que deixou de 14. Regressão para identificar o que deixou de funcionar;

Testes Ágeis 15. Testes independentes: - Ambientes complexos; - Sistemas extensos; - Execução de testes pré-release; - Foco em testes mais críticos do negócio; - Viabilizar a automatização dos testes; - Atua em vários projetos.

Testador Ágil

Testador Ágil 1. Ser corajoso (não temer mudanças); 2. Ser colaborativo (técnico e negócio); 3. Busque constate conhecimento do negócio; 4. Ter habilidade técnica e comunicativa; 5. Atitudes proativas na resolução de problemas;

Testador Ágil 6. Facilitador entre Cliente e Desenvolvedor; 7. Ser envolvido do início ao fim das iterações; 8. Estimar todas tarefas das iterações; 9. Especifica testes de aceitação; 10.Executar testes (exploratórios, funcionais, Não-Funcionais, performance, etc.)

Plano de Teste - Ágil 1. Definição de tipos de testes serão executados; 2. Definir responsabilidades; 3. Definir ferramentas a serem utilizadas; 4. Identificar e acompanhar riscos, estabelecendo ações em caso de incidência; 5. Único para cada projeto; 6. Especificar o status de Pronto.

Teste de Regressão - Ágil 1. Identificar defeitos inseridos a partir de mudanças; 2. Executados com freqüência (compilação, diário, semanal, etc.); 3. Testes unitários, componentes, aceitação, comportamento, funcionais, etc. 4. Buscar sempre aumentar a cobertura dos testes automatizados.

Quadrantes de Testes Ágeis

Quadrantes de Testes Ágeis 1. Ajudam na definição do Plano de Teste.

Quadrante 1

Testes Ágeis - Q1 1. Testes de tecnologia que dão respaldo à programação; 2. Testes unitários e de componentes; 3. Base para demais tipos de testes; 4. Auxiliam no entendimento do que o código deve fazer; 5. Fazer mais, mais rápido e com maior qualidade.

Testes Ágeis - Q1 6. Executado pelo desenvolvedor. 7. Unitários: - TDD (Test-Driven Development); - Menor unidade de software testável; - Foco na entrada e saída de dados; - Devem rodar com sucesso ao final do DES.

Testes Ágeis - Q1 8. Componentes: - Tratam componentes isolados; - Verificam as interações entre suas classes; - Lidam com multiplas camadas (BD, arquivos, redes, etc.). 9. Uso de frameworks xunit junto às IDE de DES; 10. Compõe os testes de regressão (automatizados).

Quadrante 2

Testes Ágeis - Q2 1. Testes de regras de negócio que dão respaldo à programação; 2. Testes de aceitação, funcionais e exemplos; 3. Fácil entendimento pelos clientes e integrantes da equipe (Stories); 4. Sempre que possível devem ser automatizados; 5. Uma vez automatizados, farão parte dos testes de 5. Uma vez automatizados, farão parte dos testes de regressão;

Testes Ágeis - Q2 6. Uso de diagramas, mapas mentais, planilhas, etc; 7. Não existem detalhes de implementação; 8. As stories devem expressar: - Quem precisa; - O que é a funcionalidade; - Para que ele serve; - Informações suficientes para seu funcionamento.

9. As stories (INVEST): - Independente; - Negociável; - Valiosa; - Estimável; - Small (Pequena); - Testável. Testes Ágeis - Q2

Testes Ágeis - Q2 10. Funcionais (Automação): - Geração de scripts para execução automatizada; - Reprodução de eventos (mouse, teclado, etc.) - Execução mais lenta; - Vulneráveis a manutenção (ajustes à mudanças); - Selenium, Sikuli, TestComplete, etc.

Testes Ágeis - Q2 11. Aceitação (ATDD - Acceptance Test Driven Development): - Desenvolver dirigido ao requisitos executáveis; - Elaborados antes do desenvolvimento; - Uso de exemplos reais; - Verificação realizadas após a implementação; - FitNesse.

Testes Ágeis - Q2 12. Exemplo (BDD - Behavior Driven Development): - Próximo ao ATDD, porém faz uso de linguagem natural; - Uso de exemplos de comportamentos esperados da aplicação; - Verificação realizada durante a implementação de uma storie; - Jbehave, Cucumber, Rspec, etc.

Testes Ágeis - Q2 Funcionalidade: <descrição da funcionalidade> Como um <usuário/ator> Eu quero <meta a ser alcançada> De modo que <a razão para alcançar a meta> Cenário: <descrição do teste> Dado <um estado conhecido> Quando <um determinado evento ocorre> Então <isso deve ocorrer>

Testes Ágeis - Q2 scenario <descrição do teste>, { given <um estado conhecido>, {...comandos... } when <um determinado evento ocorre>, {...comandos... } then <isso deve ocorrer>, {...comandos... } }

Quadrante 3

Testes Ágeis Q3 1. Testes de regras de negócio que criticam o produto; 2. Testes exploratórios, usabilidade e aceitação (cliente); 3. Complementos aos Q1 e Q2; 4. Realizados após o desenvolvimento; 5. Testes não automatizados em Q1 e Q2; 6. Faz uso da experiência, instinto, habilidade, etc; 7. Visão de um usuário final.

Testes Ágeis Q3 7. Testes Exploratórios: - Execução manual; - Não possui roteiros específicos; - Aleatórios; - Requer criatividade, experiência, intuição e técnica; - Extremamente utilizado em sistemas legados; - Utilizados para situações que requerem maior atenção e complexos; - Executados em áreas de frágeis e de alto risco do software;

Testes Ágeis Q3 8. Testes de Usabilidades: - Personas: Faz uso dos diversos perfis de usuários; Verifica as diversas necessidades destes usuários; Faz uso da experiência esperada para cada tipo de usuário; Uso devido, Inexperientes, Manipuladores, Mal intencionados, etc. - Navegação: Seqüência de telas; Links quebrados; Comportamentos indevidos, etc.

Testes Ágeis Q3 9. Testes de Aceitação (Cliente): - Prover envolvimento do cliente; - Ganhar a confiança do cliente; - Obter um feedback do cliente; - Corrigir aspectos não identificados antes da entrega em produção; - Evitar danos à imagem ou financeiros ao cliente.

Quadrante 4

Testes Ágeis Q4 1. Testes de tecnologia que criticam o produto; 2. Testes performance, segurança, recuperação, confiabilidade, stress, etc.; 3. Abrange os requisitos não-funcionais; 4. Busca deficiências técnicas no produto; 5. Envolvimento de toda equipe; 6. Requer especialistas para determinados tipos de testes; 7. Planejar testes conforme os riscos do sistema.

Definindo os Testes Release Planning 1. Todas atividades devem estar estimadas; - Rever estimativas sempre que necessário. 2. Refinamento constante do plano de testes; - Escopo, prioridades, riscos, etc. 3. Estruturar o ambiente de testes; - Ferramentas, infraestrutura, banco de dados, etc.

Definindo os Testes Release Planning 4. Especificar a documentação a ser produzida; 5. Definir envolvimento dos clientes; 6. Obter metas de qualidade a ser atingida.

Concluindo os Testes 1. Momento anterior à entrega do release; 2. Realização de pequenos ajustes necessários; 3. A duração dependerá de: maturidade da equipe; utilização de ferramentas; ciclo de desenvolvimento definido. 4. Execução de testes exploratórios, sistemas, aceitação, etc. 5. Liberando release e comemorar!

Pirâmide de Automação

Dúvidas? Perguntas?

Obrigado! E-mail: malbajp@gmail.com.br malba@qualiis.com.br Celular: (62) 9181-2157