Os rumos do teste de software
“Uma abordagem prática do mercado”
Nome: André Vinícius Diegues Rodrigues
Email: andrevdrodrigues@hotmail.com
 Graduado em tecnologia pela FATEC
 MBA Universidade Paulista
 Mestrado IPT-USP
 Certificado ITIL, ISTQB, ISO 27002
 Profissional atuante em tecnologia da informação há 11 anos
 Experiência nas áreas de análise e desenvolvimento de software em linguagens de
baixa e alta plataforma para instituições bancárias e telefonia
 Atuante há 6 anos na área de Qualidade de Software
 Entusiasta de processos e técnicas de teste aplicáveis ao contexto organizacional
 Atualmente Coordenador de Testes e Requisitos no grupo Tecnowise
Apresentação
 Introdução e Definições
 Contexto Atual
 Guerra dos Métodos “I”
 Tester no Contexto Tradicional
 Guerra dos Métodos “II”
 Tester no Contexto Ágil
 Futuro do Teste
Agenda
Teste de Software – “O que é?”
 “Teste de Software é o processo
de execução de um programa ou
aplicação que tem por objetivo a
descoberta de defeitos” – ISTQB
 Erro
 Defeito
 Falha
Teste de Software – “O que é?”
Teste de Software – “Bug”
Níveis de Teste
Aceitação
Funcionalidade
Integração
Unidade
Tipos de Teste
Caixa Preta, Caixa Branca,
Caixa Cinza, Positivo,
Negativo, Regressão
Performance, Carga, Stress,
Pico, Configuração,
Segurança, Usabilidade,
Disponibilidade.Testes Funcionais
Testes Não Funcionais
 Técnicas Baseada em Especificações
 Partição de Equivalência
 Análise de Valores-Limite
 Teste de Caso de Uso
Técnicas de Teste
 Técnicas Baseada na Experiência
 Teste Baseado em Checklists
 Teste Exploratório
 Teste de Características de Qualidade de Software
 Teste de Interoperabilidade
 Teste de Usabilidade
Roteiros de Teste
Cobertura e Eficácia
(ID + Cenário + Parâmetro)
Ferramentas de Teste
 Segundo o SWEBOK 3.0, qualidade de
software é uma área do conhecimento
da engenharia de software que pode se
referir a: "as características desejadas de
produtos de software, a extensão em que
um produto de software em particular
possui essas características e aos
processos, ferramentas e técnicas que são
usadas para garantir essas
características".
“Teste é mais que testar...”
“Onde estávamos..?” – 1ª Guerra dos Métodos
 Guerra dos Métodos “I”
 OOSE (James Rumbaugh)
 OMT (Ivar Jacobson)
 Booch Method (Grady Booch)
 OAA/FDD (Peter Coad)
 Shlaer-Mellor (Sally Shlaer and Stephen Mellor)
“Onde estávamos..?” – No desenvolvimento...
 Modelagem de casos de teste
baseadas em documentação robusta;
 Execução de testes funcionais
manuais;
 Acompanhamento junto à
homologação do cliente;
 Atuação na verificação de correção de
incidentes.
“Onde estávamos..?” – Nos testes...
“Onde estávamos..?” – No ciclo de dev...
Meu Processo!
Meu Cliente!
Eu... Tester!
“Onde estamos..?” – 2ª Guerra dos Métodos
 Guerra dos Métodos “II”
 Extreme Programming x Scrum
 Scrum x Kanban
 PMBOK x Scrum
 ScrumAlliance x Scrum.org
 Todos contra o RUP, CMMi, MPS.br
“Onde estamos..?”
 Agile Tester
 Foco em automação de testes
 O teste guiando o desenvolvimento
 Novas Técnicas – “ATDD, TDD, BDD”
 Testes em dispositivos móveis e
integração de serviços (SOAP/REST)
 Forte conhecimento do negócio
“Onde estamos..?”
Agilidade <> Rapidez
 Mudança de Paradigma
 “O teste é uma atividade
de codificação e não mais
uma fase do Ciclo de
Desenvolvimento”
“Onde estamos..?”
“Onde estamos..?”
“Onde vamos..?”
 Dispositivos inteligentes poderão ser capazes de
aprender, monitorar, pesquisar, gerenciar,
controlar, jogar, etc...
 Testes tradicionais possuem como entrada dados
de entrada via dispositivos com ações humanas
(mouse, teclado, touch)
 Testes em IOT receberão informações via sensores
e saídas de outros dispositivos
“Onde vamos..?” - IOT
 Processo de Testes (IOT).:
1. Planejar testes com dispositivos interconectados e inteligentes;
2. Considerar novas integrações como entrada de dados de
acelerômetros, giroscópios, sensores de luz ambiente, altímetros,
localizadores de GPS e inúmeros outros tipos de sensores;
3. Testar equipamentos em campo e imaginar cenários do mundo real
com conectividade irregular e com “personas” distintas;
4. Aliar-se à especialistas específicos de cada área de aplicação da
solução inteligente.
“Onde vamos..?” - IOT
 Refere-se a plataformas de
computadores aprendendo
por um longo período de
tempo através do
reconhecimento de padrões
e da teoria do aprendizado
computacional em IA;
“Onde vamos..?” – Aprendizagem de Máquina
 Processo de Testes.:
1. Máquina aprenderá através de tarefas complexas e saídas de outros
programas a reproduzir os erros humanos, prevenir bugs, fazer
sugestões para remediar o problema em tempo real ou mesmo ter
a capacidade de resolver o problema por conta própria.
2. O papel do “tester” estará focado em garantir que as máquinas
estejam aprendendo corretamente, consumindo as informações
corretas, seguindo o reconhecimento de padrões de forma assertiva
e gerando as devidas saídas (cientista de dados);
“Onde vamos..?” – Aprendizagem de Máquina
 O planejamento destes tipos de
validações ainda é um desafio
para a “machine learning”, então
neste sentido o papel do “tester”
ainda será extremamente
importante.
“Onde vamos..?” – Aprendizagem de Máquina
 Microsoft lançou o Security
Risk Detection para correção de
bugs e vulnerabilidades
baseado em IA;
 Facebook lançou o Infer para
análise estática também
baseada em IA.
“Onde vamos..?” – Ferramentas IA
▪ Desafios e Oportunidades para o “Tester”.:
1. Planejar cenários de testes orientado à emoções/sensações.:
• Cenário Positivo.: Validar o grau de felicidade de um adulto de meia idade ao acordar, sua
cortina abrir sozinha na altura que ele deseja e o rádio ligar automaticamente no volume ideal.
• Cenário Negativo.: Validar o nível de irritação de uma senhora de 60 anos ao passar com um
carrinho de compras no mercado e a tecnologia RFID não contabilizar corretamente o preço de
seus produtos
2. Como executar estes testes? O dilema ainda sem respostas...
“Onde vamos..?” – Ferramentas IA
 Testes fora do “escritório” simulando cenários
reais caóticos;
 Conhecimentos profundos de hardware e
contextos sociais distintos;
 Testes de “personas”;
 Testes de “emoções e sensações”;
 Foco em ensinar o software entender-se a si
mesmo para se “auto testar” e corrigir eventuais
defeitos;
“Onde vamos..?” - Resumo
“Onde vamos..?” - Artigos
“Linha da Evolução...”
Testes Manuais.:
“Software não sabe o
que está errado”
Testes
Automatizados.:
“Software repete o
que foi feito uma vez
e consegue identificar
alguns problemas”
Testes Manuais.:
“Software com níveis
de log detalhados
conseguem informar
onde está o
problema”
Testes “Aprendidos”.:
“Software aprende
sobre si mesmo,
detecta e erros e os
corrige”
 Profissionais maduros com excelência saberem argumentar,
propor e explicitar claramente os benefícios de qualquer
inovação tecnológica;
 Sustentar o modelo proposto de acordo com novas tendências
de mercado e principalmente com o contexto organizacional;
 Não culpar a organização;
 Menor grau de vitimismo.
Desafios da Mudança
 “Esforcem-se para tornarem-se inúteis. Este é o primeiro
sintoma de maturidade profissional, ou seja, a
excelência foi alcançada e a passagem de conhecimento
foi eficaz. Assim estarão prontos para um degrau
acima.”
Mensagem final
Rumos do teste de software

Rumos do teste de software

  • 1.
    Os rumos doteste de software “Uma abordagem prática do mercado” Nome: André Vinícius Diegues Rodrigues Email: andrevdrodrigues@hotmail.com
  • 2.
     Graduado emtecnologia pela FATEC  MBA Universidade Paulista  Mestrado IPT-USP  Certificado ITIL, ISTQB, ISO 27002  Profissional atuante em tecnologia da informação há 11 anos  Experiência nas áreas de análise e desenvolvimento de software em linguagens de baixa e alta plataforma para instituições bancárias e telefonia  Atuante há 6 anos na área de Qualidade de Software  Entusiasta de processos e técnicas de teste aplicáveis ao contexto organizacional  Atualmente Coordenador de Testes e Requisitos no grupo Tecnowise Apresentação
  • 3.
     Introdução eDefinições  Contexto Atual  Guerra dos Métodos “I”  Tester no Contexto Tradicional  Guerra dos Métodos “II”  Tester no Contexto Ágil  Futuro do Teste Agenda
  • 4.
    Teste de Software– “O que é?”
  • 5.
     “Teste deSoftware é o processo de execução de um programa ou aplicação que tem por objetivo a descoberta de defeitos” – ISTQB  Erro  Defeito  Falha Teste de Software – “O que é?”
  • 6.
    Teste de Software– “Bug”
  • 7.
  • 8.
    Tipos de Teste CaixaPreta, Caixa Branca, Caixa Cinza, Positivo, Negativo, Regressão Performance, Carga, Stress, Pico, Configuração, Segurança, Usabilidade, Disponibilidade.Testes Funcionais Testes Não Funcionais
  • 9.
     Técnicas Baseadaem Especificações  Partição de Equivalência  Análise de Valores-Limite  Teste de Caso de Uso Técnicas de Teste  Técnicas Baseada na Experiência  Teste Baseado em Checklists  Teste Exploratório  Teste de Características de Qualidade de Software  Teste de Interoperabilidade  Teste de Usabilidade
  • 10.
    Roteiros de Teste Coberturae Eficácia (ID + Cenário + Parâmetro)
  • 11.
  • 12.
     Segundo oSWEBOK 3.0, qualidade de software é uma área do conhecimento da engenharia de software que pode se referir a: "as características desejadas de produtos de software, a extensão em que um produto de software em particular possui essas características e aos processos, ferramentas e técnicas que são usadas para garantir essas características". “Teste é mais que testar...”
  • 13.
    “Onde estávamos..?” –1ª Guerra dos Métodos
  • 14.
     Guerra dosMétodos “I”  OOSE (James Rumbaugh)  OMT (Ivar Jacobson)  Booch Method (Grady Booch)  OAA/FDD (Peter Coad)  Shlaer-Mellor (Sally Shlaer and Stephen Mellor) “Onde estávamos..?” – No desenvolvimento...
  • 15.
     Modelagem decasos de teste baseadas em documentação robusta;  Execução de testes funcionais manuais;  Acompanhamento junto à homologação do cliente;  Atuação na verificação de correção de incidentes. “Onde estávamos..?” – Nos testes...
  • 16.
    “Onde estávamos..?” –No ciclo de dev... Meu Processo! Meu Cliente! Eu... Tester!
  • 17.
    “Onde estamos..?” –2ª Guerra dos Métodos
  • 18.
     Guerra dosMétodos “II”  Extreme Programming x Scrum  Scrum x Kanban  PMBOK x Scrum  ScrumAlliance x Scrum.org  Todos contra o RUP, CMMi, MPS.br “Onde estamos..?”
  • 19.
     Agile Tester Foco em automação de testes  O teste guiando o desenvolvimento  Novas Técnicas – “ATDD, TDD, BDD”  Testes em dispositivos móveis e integração de serviços (SOAP/REST)  Forte conhecimento do negócio “Onde estamos..?” Agilidade <> Rapidez
  • 20.
     Mudança deParadigma  “O teste é uma atividade de codificação e não mais uma fase do Ciclo de Desenvolvimento” “Onde estamos..?”
  • 21.
  • 22.
  • 23.
     Dispositivos inteligentespoderão ser capazes de aprender, monitorar, pesquisar, gerenciar, controlar, jogar, etc...  Testes tradicionais possuem como entrada dados de entrada via dispositivos com ações humanas (mouse, teclado, touch)  Testes em IOT receberão informações via sensores e saídas de outros dispositivos “Onde vamos..?” - IOT
  • 24.
     Processo deTestes (IOT).: 1. Planejar testes com dispositivos interconectados e inteligentes; 2. Considerar novas integrações como entrada de dados de acelerômetros, giroscópios, sensores de luz ambiente, altímetros, localizadores de GPS e inúmeros outros tipos de sensores; 3. Testar equipamentos em campo e imaginar cenários do mundo real com conectividade irregular e com “personas” distintas; 4. Aliar-se à especialistas específicos de cada área de aplicação da solução inteligente. “Onde vamos..?” - IOT
  • 25.
     Refere-se aplataformas de computadores aprendendo por um longo período de tempo através do reconhecimento de padrões e da teoria do aprendizado computacional em IA; “Onde vamos..?” – Aprendizagem de Máquina
  • 26.
     Processo deTestes.: 1. Máquina aprenderá através de tarefas complexas e saídas de outros programas a reproduzir os erros humanos, prevenir bugs, fazer sugestões para remediar o problema em tempo real ou mesmo ter a capacidade de resolver o problema por conta própria. 2. O papel do “tester” estará focado em garantir que as máquinas estejam aprendendo corretamente, consumindo as informações corretas, seguindo o reconhecimento de padrões de forma assertiva e gerando as devidas saídas (cientista de dados); “Onde vamos..?” – Aprendizagem de Máquina
  • 27.
     O planejamentodestes tipos de validações ainda é um desafio para a “machine learning”, então neste sentido o papel do “tester” ainda será extremamente importante. “Onde vamos..?” – Aprendizagem de Máquina
  • 28.
     Microsoft lançouo Security Risk Detection para correção de bugs e vulnerabilidades baseado em IA;  Facebook lançou o Infer para análise estática também baseada em IA. “Onde vamos..?” – Ferramentas IA
  • 29.
    ▪ Desafios eOportunidades para o “Tester”.: 1. Planejar cenários de testes orientado à emoções/sensações.: • Cenário Positivo.: Validar o grau de felicidade de um adulto de meia idade ao acordar, sua cortina abrir sozinha na altura que ele deseja e o rádio ligar automaticamente no volume ideal. • Cenário Negativo.: Validar o nível de irritação de uma senhora de 60 anos ao passar com um carrinho de compras no mercado e a tecnologia RFID não contabilizar corretamente o preço de seus produtos 2. Como executar estes testes? O dilema ainda sem respostas... “Onde vamos..?” – Ferramentas IA
  • 30.
     Testes forado “escritório” simulando cenários reais caóticos;  Conhecimentos profundos de hardware e contextos sociais distintos;  Testes de “personas”;  Testes de “emoções e sensações”;  Foco em ensinar o software entender-se a si mesmo para se “auto testar” e corrigir eventuais defeitos; “Onde vamos..?” - Resumo
  • 31.
  • 32.
    “Linha da Evolução...” TestesManuais.: “Software não sabe o que está errado” Testes Automatizados.: “Software repete o que foi feito uma vez e consegue identificar alguns problemas” Testes Manuais.: “Software com níveis de log detalhados conseguem informar onde está o problema” Testes “Aprendidos”.: “Software aprende sobre si mesmo, detecta e erros e os corrige”
  • 33.
     Profissionais maduroscom excelência saberem argumentar, propor e explicitar claramente os benefícios de qualquer inovação tecnológica;  Sustentar o modelo proposto de acordo com novas tendências de mercado e principalmente com o contexto organizacional;  Não culpar a organização;  Menor grau de vitimismo. Desafios da Mudança
  • 34.
     “Esforcem-se paratornarem-se inúteis. Este é o primeiro sintoma de maturidade profissional, ou seja, a excelência foi alcançada e a passagem de conhecimento foi eficaz. Assim estarão prontos para um degrau acima.” Mensagem final