#gutsrs
@gutsrs
UNISINOS Campus POA
Agenda
• Apresentação do GUTS-RS
• Conceitos básicos de Teste de Software
• Tendências de Teste
• Sugestões de Leitura
Sobre o GUTS-RS
• GUTS-RS: Grupo de Usuários de Testes de Software do RS
• Criado em: agosto/2008
• Objetivo: compartilhar o uso de métodos, processos e
ferramentas de Teste de Software e promover discussões
sobre a aplicação das melhores práticas de teste e
qualidade utilizadas no mercado
• Público Alvo: Gerentes, Analistas de Testes, Testadores,
Desenvolvedores e demais profissionais e estudantes
interessados na área
• Coordenação: Diraci Júnior, Eduardo Oliveira, Gabriel
Oliveira e Moisés Ramírez
Canais de Comunicação
http://guts-rs.blogspot.com.br/
@gutsrs
guts-rs-sucesu@googlegroups.com
Grupo de Usuários de Testes de Software do RS
Guts RS GUTS-RS
http://pt.slideshare.net/GUTS-RS
http://guts-rs.eventbrite.com/
Submissão de Palestras
• Submissão de Palestras 2016
– DOJO
– Fishbowl
– Palestra
– TCC
– Testing Games
– Workshop
– Outros
Próximos Eventos
• GUTS Testing Games: Jogo BDD Warrior (Abril)
Próximos Eventos
Teste de Software
Conceitos Básicos
O que é Teste de Software?
“Teste de software é um processo, ou uma série
de processos, concebido para garantir que o
código de computador faça o que foi projetado
para fazer e, por outro lado, que não faça nada
não intencional” (MYERS, 1979)
Causa dos defeitos
• O ser humano está sujeito a cometer um erro
(engano), que produz um defeito (falha, bug),
no código, em um software ou sistema ou em
um documento.
• Se um defeito no código for executado, o
sistema falhará ao tentar fazer o que deveria
(ou, em algumas vezes, o que não deveria),
causando uma falha.
• Defeitos no software, sistemas ou
documentos resultam em falhas, mas nem
todos os defeitos causam falhas (ISTQB, 2011)
Exemplificando
• Especificação: "O formulário só pode ser submetido por
pessoas maiores de 18 anos"
• Código do desenvolvedor
if (idade < 18)
enviar_formulário();
else
print ("Operação autorizada somente para maiores de 18 anos");
• O usuário maior de 18 anos clica no botão submeter e...
"Operação autorizada somente para maiores de 18 anos"
Erro (engano)
Defeito: Usuários menores de 18
anos podem enviar o formulário
Falha: Usuários maiores de 18 anos
NÃO podem enviar o formulário
Por que testar?
• Para achar defeitos nas aplicações
• Para melhorar o produto
• Para melhorar o código
• Para garantir a satisfação do cliente
• Para não prejudicar a imagem da empresa
Objetivos dos gerentes
executivos com QA e Teste
Fonte: World Quality Report 2015-16
6.1
Proteger a
imagem da
corporação
6.0
Aumentar a
consciência de
qualidade entre
todas as disciplinas
6.0
Garantir a
satisfação do
usuário final
5.9
Aumentar a
qualidade
do software
5.9
Encontrar
defeitos antes
do go-live
5.8
Implementar
controle de
qualidade no início
do desenvolvimento
Agile Testing
“Prática de teste para um projeto que utiliza
metodologias ágeis de desenvolvimento de
software incorporando técnicas e métodos como
Extreme Programming (XP), que trata o
processo de desenvolvimento como o cliente de
teste e enfatiza o paradigma "test-first design".
(ISTQB, 2011)
The Testing Manifesto
Alguns desafios...
Isso não é problema
meu, é do testador! O desenvolvimento
levou mais tempo.
Vamos ter que reduzir
o tempo de testes
A diretoria solicitou um
relatório detalhado
sobre o número de
defeitos encontrados
Eu não preciso saber
programar. Eu só testo!
Tendências de Teste de Software
Top 5 Aspectos mais
importantes da estratégia de TI
Fonte: World Quality Report 2015-16
Segurança Experiência do
Usuário
Otimização do
Custo de TI
Soluções de
Software com
maior qualidade
Maior capacidade
de resposta para as
demandas do
negócio
Top 5 Aspectos mais
importantes da estratégia de TI
Fonte: World Quality Report 2015-16
Segurança Experiência do
Usuário
Otimização do
Custo de TI
Soluções de
Software com
maior qualidade
Maior capacidade
de resposta para as
demandas do
negócio
Aumentar o nível de automação
de testes dinâmicos
Top 5 Aspectos mais
importantes da estratégia de TI
Fonte: World Quality Report 2015-16
Segurança Experiência do
Usuário
Otimização do
Custo de TI
Soluções de
Software com
maior qualidade
Maior capacidade
de resposta para as
demandas do
negócio
Definir cenários de teste de acordo com
padrões de uso dos consumidores
Identificar riscos e resultados com
implicações para o negócio
Big Data Analysis
Top 5 Aspectos mais
importantes da estratégia de TI
Fonte: World Quality Report 2015-16
Segurança Experiência do
Usuário
Otimização do
Custo de TI
Soluções de
Software com
maior qualidade
Maior capacidade
de resposta para as
demandas do
negócio
Análise
Preditiva
Top 5 Aspectos mais
importantes da estratégia de TI
Fonte: World Quality Report 2015-16
Segurança Experiência do
Usuário
Otimização do
Custo de TI
Soluções de
Software com
maior qualidade
Maior capacidade
de resposta para as
demandas do
negócio
DevOps & Continuous Delivery
Feedback contínuo
Provisionamento de ambientes
Definir o Minimum
Viable Product (MVP)
Virtualização &
Pataformas na Nuvem
Tendências de Teste
• Transformação Digital
– Customer Experince Testing
– Mobile
– Cloud Testing
– Big Data
• IoT (Internet of Things)
• Segurança
• DevOps (Development and Operations)
Transformação Digital
Customer-Experience-Driven testing
– Como obter a cobertura correta dos requisitos e
das expectativas do usuário final nos cenários de
teste?
– Quais ferramentas de teste utilizar?
– Como criar casos de testes?
– Como configurar ambientes de teste para
diferente tipos de usuários?
Transformação Digital
Fonte: World Quality Report 2015-16
Segurança
Eficiência / Performance
Funcionalidade
User Interface
Compatibilidade / Testes
de Regressão
Foco do teste em dispositivos móveis
Transformação Digital
Principais desafios no mobile testing
1. Ambiente de teste
Transformação Digital
Principais desafios no mobile testing
2. Não tem tempo suficiente para testar
– Estabelecer um time de especialistas?
– Contratar uma empresa externa?
– Crowd Testing?
3. Falta de especialistas
– Baixa remuneração?
– Poucas vagas no mercado?
Transformação Digital
Cloud Testing
• Adoção de soluções baseadas na nuvem
– 43% utilizam nuvem privada
– 28% nuvem híbrida
– 27% nuvem pública
• 76% adotaram uma estratégia específica para
testes de serviços baseados na nuvem
Fonte: World Quality Report 2015-16
Transformação Digital
Big Data
• Tendências para o uso de Big Data nas empresas
segundo a Oracle
Fonte: http://computerworld.com.br/oracle-lista-sua-visao-sobre-o-futuro-do-big-data
http://openstartups.stefanini.com/bigdata/tendencias-2016-big-data/
1. O surgimento de um mindset
de “Cientista de Dados”
2. Elimine o “Faça você mesmo” e
considere novas soluções
3. A integração entre Nuvem e
Internet das Coisas (IoT)
Transformação Digital
• Mudança de habilidades e conhecimentos
– Testes exploratórios baseados na experiência do
cliente
– Testes de usabilidade
– Análise/Cientistas de dados
– Especialistas de análise preditiva
– Segurança e performance
– Especialistas em mobile testing
IoT (Internet of Things)
• Número de dispositivos
da IoT vai crescer 30%,
para 6,4 bilhões, em
2016 (Gartner)
• Cidades inteligentes vão
implementar 1,6 bilhão
de dispositivos
conectados em 2016
(Gartner)
IoT (Internet of Things)
IoT (Internet of Things)
Novos modelos
de negócio
Falhas de
segurança
Novos modelo de
interação com o
consumidor
Experiência
do usuário?
Smart Cities
Temos
infraestrutura?
Segurança
Fonte: World Quality Report 2015-16
Atividades de teste de segurança mais comuns
57%
Teste de segurança
dinâmico
52%
Revisão manual de
código
52%
Teste de segurança
estático
39%
Teste de
penetração
DevOps
• DevOps desmonta os silos de ciclo de vida de
aplicação tradicionais, e ajuda as organizações
na transição de implantações de releases
tradicionais para um processo contínuo de
atualização das suas aplicações de TI.
• Os desafios cruciais para QA e Teste em
DevOps são:
– como alcançar a automação de testes máxima?
– como mover de testes e validação antes do go-live
para formas mais preditivas de testes e
monitoramento da qualidade em tempo real?
DevOps
DevOps
Implementação de práticas de DevOps
Utilizam
atualmente
Não utilizam, mas
possuem planos
Sem planos/
Não sabem
“Quebram” esforços grandes
em tarefas menores
Utilizam testes contínuos
Criam o delivery pipeline
Fazem entregas mais rápidas para
conduzir a estratégia de negócio
Automatizam o delivery pipeline
Tratam a infraestrutura como
código
Fonte: World Quality Report 2015-16
Utilizam
atualmente
Não utilizam, mas
possuem planos
Sem planos/
Não sabem
“Quebram” esforços grandes
em tarefas menores
Utilizam testes contínuos
Criam o delivery pipeline
Fazem entregas mais rápidas para
conduzir a estratégia de negócio
Automatizam o delivery pipeline
Tratam a infraestrutura como
código
DevOps
Implementação de práticas de DevOps
Fonte: World Quality Report 2015-16
67% utilizam
princípios ágeis
51% possuem
ambiente de testes
virtualizados
51% combinam TDD e
BDD com continuous
improvment testing
Sugestões de Leitura
Sugestões de Leitura
Temas Variados
Smart Cities
Open data, inovação
pública, apps, IoT,
conectividade em
serviços públicos,
economia de
abundância... O
futuro chegou e
tornou as cidades
mais criativas e
inteligentes.
Digital
Transformation
A nova era de
serviços e
integração digital.
Dos novos tipos de
APIs, Containers e
Devops, até a
estratégias de
transformação
digital das
companhias.
Internet das Coisas
Temas como:
Arduino, Robótica,
Eletrônica,
Computação
Embarcada, etc.
Fonte: The Developers Conference (TDC)
Coordenação GUTS-RS
coord-guts-sucesu-rs@googlegroups.com
Moisés A. Ramírez
armaniramirez@gmail.com

[GUTS-RS] GUTS Universitário - UNISINOS Campus POA

  • 1.
  • 2.
    Agenda • Apresentação doGUTS-RS • Conceitos básicos de Teste de Software • Tendências de Teste • Sugestões de Leitura
  • 3.
    Sobre o GUTS-RS •GUTS-RS: Grupo de Usuários de Testes de Software do RS • Criado em: agosto/2008 • Objetivo: compartilhar o uso de métodos, processos e ferramentas de Teste de Software e promover discussões sobre a aplicação das melhores práticas de teste e qualidade utilizadas no mercado • Público Alvo: Gerentes, Analistas de Testes, Testadores, Desenvolvedores e demais profissionais e estudantes interessados na área • Coordenação: Diraci Júnior, Eduardo Oliveira, Gabriel Oliveira e Moisés Ramírez
  • 4.
    Canais de Comunicação http://guts-rs.blogspot.com.br/ @gutsrs guts-rs-sucesu@googlegroups.com Grupode Usuários de Testes de Software do RS Guts RS GUTS-RS http://pt.slideshare.net/GUTS-RS http://guts-rs.eventbrite.com/
  • 5.
    Submissão de Palestras •Submissão de Palestras 2016 – DOJO – Fishbowl – Palestra – TCC – Testing Games – Workshop – Outros
  • 6.
    Próximos Eventos • GUTSTesting Games: Jogo BDD Warrior (Abril)
  • 7.
  • 8.
  • 9.
    O que éTeste de Software? “Teste de software é um processo, ou uma série de processos, concebido para garantir que o código de computador faça o que foi projetado para fazer e, por outro lado, que não faça nada não intencional” (MYERS, 1979)
  • 10.
    Causa dos defeitos •O ser humano está sujeito a cometer um erro (engano), que produz um defeito (falha, bug), no código, em um software ou sistema ou em um documento. • Se um defeito no código for executado, o sistema falhará ao tentar fazer o que deveria (ou, em algumas vezes, o que não deveria), causando uma falha. • Defeitos no software, sistemas ou documentos resultam em falhas, mas nem todos os defeitos causam falhas (ISTQB, 2011)
  • 11.
    Exemplificando • Especificação: "Oformulário só pode ser submetido por pessoas maiores de 18 anos" • Código do desenvolvedor if (idade < 18) enviar_formulário(); else print ("Operação autorizada somente para maiores de 18 anos"); • O usuário maior de 18 anos clica no botão submeter e... "Operação autorizada somente para maiores de 18 anos" Erro (engano) Defeito: Usuários menores de 18 anos podem enviar o formulário Falha: Usuários maiores de 18 anos NÃO podem enviar o formulário
  • 12.
    Por que testar? •Para achar defeitos nas aplicações • Para melhorar o produto • Para melhorar o código • Para garantir a satisfação do cliente • Para não prejudicar a imagem da empresa
  • 13.
    Objetivos dos gerentes executivoscom QA e Teste Fonte: World Quality Report 2015-16 6.1 Proteger a imagem da corporação 6.0 Aumentar a consciência de qualidade entre todas as disciplinas 6.0 Garantir a satisfação do usuário final 5.9 Aumentar a qualidade do software 5.9 Encontrar defeitos antes do go-live 5.8 Implementar controle de qualidade no início do desenvolvimento
  • 14.
    Agile Testing “Prática deteste para um projeto que utiliza metodologias ágeis de desenvolvimento de software incorporando técnicas e métodos como Extreme Programming (XP), que trata o processo de desenvolvimento como o cliente de teste e enfatiza o paradigma "test-first design". (ISTQB, 2011)
  • 15.
  • 16.
    Alguns desafios... Isso nãoé problema meu, é do testador! O desenvolvimento levou mais tempo. Vamos ter que reduzir o tempo de testes A diretoria solicitou um relatório detalhado sobre o número de defeitos encontrados Eu não preciso saber programar. Eu só testo!
  • 17.
  • 18.
    Top 5 Aspectosmais importantes da estratégia de TI Fonte: World Quality Report 2015-16 Segurança Experiência do Usuário Otimização do Custo de TI Soluções de Software com maior qualidade Maior capacidade de resposta para as demandas do negócio
  • 19.
    Top 5 Aspectosmais importantes da estratégia de TI Fonte: World Quality Report 2015-16 Segurança Experiência do Usuário Otimização do Custo de TI Soluções de Software com maior qualidade Maior capacidade de resposta para as demandas do negócio Aumentar o nível de automação de testes dinâmicos
  • 20.
    Top 5 Aspectosmais importantes da estratégia de TI Fonte: World Quality Report 2015-16 Segurança Experiência do Usuário Otimização do Custo de TI Soluções de Software com maior qualidade Maior capacidade de resposta para as demandas do negócio Definir cenários de teste de acordo com padrões de uso dos consumidores Identificar riscos e resultados com implicações para o negócio Big Data Analysis
  • 21.
    Top 5 Aspectosmais importantes da estratégia de TI Fonte: World Quality Report 2015-16 Segurança Experiência do Usuário Otimização do Custo de TI Soluções de Software com maior qualidade Maior capacidade de resposta para as demandas do negócio Análise Preditiva
  • 22.
    Top 5 Aspectosmais importantes da estratégia de TI Fonte: World Quality Report 2015-16 Segurança Experiência do Usuário Otimização do Custo de TI Soluções de Software com maior qualidade Maior capacidade de resposta para as demandas do negócio DevOps & Continuous Delivery Feedback contínuo Provisionamento de ambientes Definir o Minimum Viable Product (MVP) Virtualização & Pataformas na Nuvem
  • 23.
    Tendências de Teste •Transformação Digital – Customer Experince Testing – Mobile – Cloud Testing – Big Data • IoT (Internet of Things) • Segurança • DevOps (Development and Operations)
  • 24.
    Transformação Digital Customer-Experience-Driven testing –Como obter a cobertura correta dos requisitos e das expectativas do usuário final nos cenários de teste? – Quais ferramentas de teste utilizar? – Como criar casos de testes? – Como configurar ambientes de teste para diferente tipos de usuários?
  • 25.
    Transformação Digital Fonte: WorldQuality Report 2015-16 Segurança Eficiência / Performance Funcionalidade User Interface Compatibilidade / Testes de Regressão Foco do teste em dispositivos móveis
  • 26.
    Transformação Digital Principais desafiosno mobile testing 1. Ambiente de teste
  • 27.
    Transformação Digital Principais desafiosno mobile testing 2. Não tem tempo suficiente para testar – Estabelecer um time de especialistas? – Contratar uma empresa externa? – Crowd Testing? 3. Falta de especialistas – Baixa remuneração? – Poucas vagas no mercado?
  • 28.
    Transformação Digital Cloud Testing •Adoção de soluções baseadas na nuvem – 43% utilizam nuvem privada – 28% nuvem híbrida – 27% nuvem pública • 76% adotaram uma estratégia específica para testes de serviços baseados na nuvem Fonte: World Quality Report 2015-16
  • 29.
    Transformação Digital Big Data •Tendências para o uso de Big Data nas empresas segundo a Oracle Fonte: http://computerworld.com.br/oracle-lista-sua-visao-sobre-o-futuro-do-big-data http://openstartups.stefanini.com/bigdata/tendencias-2016-big-data/ 1. O surgimento de um mindset de “Cientista de Dados” 2. Elimine o “Faça você mesmo” e considere novas soluções 3. A integração entre Nuvem e Internet das Coisas (IoT)
  • 30.
    Transformação Digital • Mudançade habilidades e conhecimentos – Testes exploratórios baseados na experiência do cliente – Testes de usabilidade – Análise/Cientistas de dados – Especialistas de análise preditiva – Segurança e performance – Especialistas em mobile testing
  • 31.
    IoT (Internet ofThings) • Número de dispositivos da IoT vai crescer 30%, para 6,4 bilhões, em 2016 (Gartner) • Cidades inteligentes vão implementar 1,6 bilhão de dispositivos conectados em 2016 (Gartner)
  • 32.
  • 33.
    IoT (Internet ofThings) Novos modelos de negócio Falhas de segurança Novos modelo de interação com o consumidor Experiência do usuário? Smart Cities Temos infraestrutura?
  • 34.
    Segurança Fonte: World QualityReport 2015-16 Atividades de teste de segurança mais comuns 57% Teste de segurança dinâmico 52% Revisão manual de código 52% Teste de segurança estático 39% Teste de penetração
  • 35.
    DevOps • DevOps desmontaos silos de ciclo de vida de aplicação tradicionais, e ajuda as organizações na transição de implantações de releases tradicionais para um processo contínuo de atualização das suas aplicações de TI. • Os desafios cruciais para QA e Teste em DevOps são: – como alcançar a automação de testes máxima? – como mover de testes e validação antes do go-live para formas mais preditivas de testes e monitoramento da qualidade em tempo real?
  • 36.
  • 37.
    DevOps Implementação de práticasde DevOps Utilizam atualmente Não utilizam, mas possuem planos Sem planos/ Não sabem “Quebram” esforços grandes em tarefas menores Utilizam testes contínuos Criam o delivery pipeline Fazem entregas mais rápidas para conduzir a estratégia de negócio Automatizam o delivery pipeline Tratam a infraestrutura como código Fonte: World Quality Report 2015-16
  • 38.
    Utilizam atualmente Não utilizam, mas possuemplanos Sem planos/ Não sabem “Quebram” esforços grandes em tarefas menores Utilizam testes contínuos Criam o delivery pipeline Fazem entregas mais rápidas para conduzir a estratégia de negócio Automatizam o delivery pipeline Tratam a infraestrutura como código DevOps Implementação de práticas de DevOps Fonte: World Quality Report 2015-16 67% utilizam princípios ágeis 51% possuem ambiente de testes virtualizados 51% combinam TDD e BDD com continuous improvment testing
  • 39.
  • 40.
  • 41.
    Temas Variados Smart Cities Opendata, inovação pública, apps, IoT, conectividade em serviços públicos, economia de abundância... O futuro chegou e tornou as cidades mais criativas e inteligentes. Digital Transformation A nova era de serviços e integração digital. Dos novos tipos de APIs, Containers e Devops, até a estratégias de transformação digital das companhias. Internet das Coisas Temas como: Arduino, Robótica, Eletrônica, Computação Embarcada, etc. Fonte: The Developers Conference (TDC)
  • 42.

Notas do Editor

  • #9 Antes de iniciar a falar sobre testes, perguntar quantos trabalham como desenvolvedor, testador, etc.
  • #20 A análise dinâmica atua no complemento da estática, considerando o código como uma caixa preta (abordagem “blackbox”), e se preocupando apenas com os dados inseridos na rotina, se a saída de dados inseridos é a esperada, o tempo de resposta, o comportamento funcional e a performance da aplicação como um todo.
  • #21 Aumentar a Receita Reter clientes Image corporativa Oportunidades de Inovação
  • #22 Analisar dados históricos de projetos, releases e builds Entender os impactos das mudanças ao durante todo o ciclo de desenvolvimento Identificar a cobertura de teste necessária para atingir o MVP Identificar o esforço e skills de testes necessárias *A análise preditiva é o uso de dados, algoritmos estatísticos e técnicas de machine learning para identificar a probabilidade de resultados futuros com base em dados históricos.
  • #23 DevOps – Mudança Cultural, colaboração entre times, automação de processos Continuous Delivery – Toda mudança pode ser promovida para produção, mas talvez não seja habilitada. É um conjunto de práticas e princípios com o objetivo de compilar, testar e liberar software de forma mais rápida e frequente Continuous Deployment – Toda mudança é automaticamente promovida para produção
  • #25 Significa a combinação de mais Behavior Driven Testing (onde o foco é determinado ao entender ou analisar o real uso do usuário final de diferentes aplicações) e mais testes exploratórios baseados em cenários do usuário
  • #29 Segurança e performance continuam sendo o principal foco dos testes das aplicações
  • #32 http://www.techtudo.com.br/noticias/noticia/2014/08/internet-das-coisas-entenda-o-conceito-e-o-que-muda-com-tecnologia.html
  • #33 https://www.youtube.com/watch?v=jlkvzcG1UMk
  • #34 A partir do ano que vem a tendência começará a dar dor de cabeça, diz o IDC, já que poderá responder por falhas de segurança em 90% das redes de TIC de todo o mundo até o fim de 2016. Outra boa nova da Internet das coisas é que ela trará consigo um novo ciclo de mercado, gerando novos modelos de negócio que, se bem utilizados, poderão gerar várias oportunidades de competitividade às empresas que aproveitarem o filão.
  • #35 Até pouco tempo atrás a segurança das aplicações era vista como baixo risco porque as aplicações eram utilizadas apenas internamente. Logo, proteger a infraestrutura era suficiente contra riscos de segurança. A transformação digital tem aumentado consideravelmente o número de vulnerabilidades: múltiplas plataformas, dados sensíveis de clientes e de empresas. Testes de Segurança Dinâmico: teste manual rodando a aplicação Testes de Segurança Estático:  inspeção de código, analisadores de vulnerabilidade estáticos Teste de Penetração: uma simulação de um ataque malicioso em um sistema de computador, rede ou organização a partir de uma perspectiva interna ou externa, realizado em condições do tipo "na vida real".
  • #38 O pipeline quebra o processo de entrega de software em estágios. Cada estágio tem como objetivo verificar a qualidade das novas implementações de um ângulo diferente para validar a nova funcionalidade e evitar que erros afetem seus usuários. O pipeline deve fornecer feedback para a equipe e visibilidade no fluxo de mudanças para todos os envolvidos na entrega de novas implementações
  • #39 Continuous improvment testing = PCDA: Plan > Do > Check > Act