1. Os rumos do teste de software
“Uma abordagem prática do mercado”
Nome: André Vinícius Diegues Rodrigues
Email: andrevdrodrigues@hotmail.com
Cel: (13) 98861-4012
2. 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
3. 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
5. “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 é?”
8. 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
9. 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
12. 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...”
14. 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...
15. 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...
18. 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..?”
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 de Paradigma
“O teste é uma atividade
de codificação e não mais
uma fase do Ciclo de
Desenvolvimento”
“Onde estamos..?”
23. 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
24. 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
25. 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
26. 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
27. 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
28. Visa aproximar a inteligência de máquina à
inteligência de um ser-humano comum;
Todos os avanços tecnológicos atuais dependem
de Inteligência Artificial;
Os principais pesquisadores e livros didáticos
definem o campo como "o estudo e projeto de
agentes inteligentes", onde um agente
inteligente é um sistema que percebe seu
ambiente e toma atitudes que maximizam suas
chances de sucesso.
“Onde vamos..?” – Ferramentas IA
29. 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
30. ▪ 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
31. 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
33. “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”
34. 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
35. “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