SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
O VERDADEIRO
VALOR DOS
TESTES
KATIANA MAIA
• Analista de Teste e Qualidade
• Meetup: CariocaQA RJ
O QUE É UM
TESTE?
• Teste é toda atividade realizada dentro do
processo de desenvolvimento de software que
necessita da
verificação de um resultado.
PARA QUE
SERVE O TESTE?
• Os testes devem demonstrar que os softwares
funcionam como o esperado
• Atender os requisitos de negócios reais
• Ganhar confiança sobre o nível de qualidade
• Prover informações para tomada de decisão
• Redução de custos (automação,
desenvolvimento de novas funcionalidades,
desenvolvimento mais assertivo)
• Prevenir defeitos (automação)
• Encontrar defeitos (complementar automação)
• Conhecer o sistema (teste exploratório)
ERROS,
DEFEITOS,
FALHAS
• Defeitos acontecem em todas as fases do ciclo
de vida de um software, causando problemas
e prejuízos a todos os envolvidos, muitas vezes
causando graves prejuízos materiais
• Se existe software, existe bug
RELATÓRIO ANUAL DE FALHAS DA
TRICENTIS, 2018
Principais de falhas de software.
Bug de software: um software não
funciona como projetado
Falha de usabilidade: uma falha de
design que diminui a usabilidade de
produto ou aplicação
Vulnerabilidade de segurança: uma
falha que os invasores podem
explorar para alterar o
comportamento de um sistema
CUSTO
1. Custo estimado em falhas
US$ 1,7 trilhão
2. Afetaram 3,68 bilhões de
clientes
3. 268 anos de tempo
perdido em busca dessas
falhas
1.177
606
314
Auditorias
Bancário
Criptomoeda
Folha de pagamento
Mercado de ações
Relatório anual de falhas da Tricentis, 2018
Indústria Financeira
FALHA NO
REQUISITOS/ESPECIFICAÇÃO
TESTE ESTÁTICO
• Verificação antes do sistema ser construído
• Objetivo é descobrir problemas no requisito/especificação
FBI
• Projeto para substituir os arquivos de papel do FBI, 2006
• Custo: US$ 170 mi
• Meses escrevendo 170.000 linhas de código
• 1 mês depois o sistema foi jogado no lixo
• Problema: Erro de concepção do projeto. Sistema entregue era incompleto
e inutilizável
Fonte: http://www.washingtonpost.com/wp-
dyn/content/article/2006/08/17/AR2006081701485.html?noredirect=on
VOLKSWAGEN ANUNCIA RECALL
POR “DIESELGATE”, 2015
• Falha: Software instalado detecta quando o carro está sendo inspecionado para
verificar o nível de emissão de poluentes e só então passa a controlar os gases que o
veículo solta na atmosfera. Esse controle fica desligado em situações normais de
rodagem, fazendo com que os carros poluam muito além do nível exigido no país
• Recall de 11 milhões de automóveis a diesel em todo o mundo (recompra ou conserto)
• Prejuízo de US$ 15 bi por fraude nos EUA + US$ 10 bi para recomprar carros + Multa
adicional US$ 86 mi
• Prejuízo de R$ 58 milhões por fraude no Brasil
• Ações do grupo caíram 19% na Bolsa de Frankfurt
• Engenheiro condenado a 7 anos de prisão e multa de US$ 400 mil
Presidente da Volkswagen:
"Pessoalmente e profundamente lamento muito que tenhamos quebrado a confiança de
nossos clientes e do público. A Volkswagen não tolera nenhuma violação, nem de leis,
nem de normas, a equipe fará tudo o que for possível para recuperar a confiança das
pessoas“.
FALHA NO DESIGN
TESTE DE USABILIDADE
• Objetivo: O que você quer testar e como as hipóteses serão validadas.
• Serve para verificar se um software atende a necessidade real do usuário. O
resultado mostra as dificuldades e pontos positivos da experiência.
• Por isso, é importante observar usuários reais navegando para
entender melhor suas necessidades e anseios, além de dificuldades e falhas
técnicas, que podem levá-los a abandonar tarefas e não atingir o objetivo
do site.
• Benefícios: Contribui para a redução dos custos de manutenção, constata
mais cedo a aderência do usuário ao que foi entregue, desenvolvimento
mais assertivo.
PROBLEMAS DE USABILIDADE FEZ DISPARAR
ALARME SOBRE MÍSSIL NO HAVAÍ, 2018
• Falha: interface confusa fez disparar um aviso de míssil: “Míssil
balístico ameaça entrar no Havaí. Procure abrigo imediato, isto
não é um exercício”
• Alerta foi emitido para todos os telefones e televisores do Havaí
• Causou pânico geral
• Dadas as consideráveis tensões entre os Estados Unidos e a
Coréia do Norte, essa notificação é um pesadelo a ser recebido
e poderia corroer a confiança no sistema
Governador David Ige o alarme falso foi determinado como
resultado de erro humano:
"Isto não deveria ter acontecido. Estamos investigando a
sequência de eventos que ocorreram. Foi cometido um erro no
gerenciamento de emergências que permitiu que este falso
alarme fosse enviado.
Foi um procedimento que ocorre na mudança de turno, onde eles
passam para garantir que o sistema está funcionando e um
funcionário apertou o botão errado. ”
FALHA EM DESENVOLVIMENTO
TESTE UNITÁRIO/INTEGRAÇÃO
• Feedback mais rápido sobre o processo de desenvolvimento
• Maior retorno sobre investimento
APPLE MAPS NO IOS 6, 2012
• Criaram a própria versão do Maps e deixaram de usar o Google
• Na pressa de lançar o mais recente e melhor aplicativo de mapas, fizeram
imperdoáveis problemas de navegação:
• Cidades foram apagadas
• Edifícios desaparecendo
• Ponto de referência achatados
• Ilhas duplicadas
• Gráficos distorcidos
• Dados de localização falsos
APPLE MAPS
IOS6Irlanda Ilhas Caimã
APPLE MAPS
IOS6Igreja de Gustaf Vasa Kyrka. Estocolmo, Suécia Divisa do Estado de Nevada com Arizona, EUA
PESQUISA: A NOVA EXPERIÊNCIA DO USUÁRIO DE
COMÉRCIO ELETRÔNICO: MUDANÇAS NAS
EXPECTATIVAS DOS USUÁRIOS, 2018
• Além de exigir extrema precisão, os usuários também são menos tolerantes
com informações imprecisas, faz com que questione a credibilidade do
site.
• Como afirma a Lei de Jakob sobre a Experiência do Usuário da Internet: os
usuários passam a maior parte do tempo em outros sites que não os seus.
Isso só aumenta a pressão por oferecer a mesma qualidade de serviço.
• A batalha pelo valor de mercado do comércio eletrônico agora está
centrada em quem pode atender às crescentes expectativas dos clientes
por experiências de compras simples, rápidas, confiáveis e convenientes.
Fonte: https://www.nngroup.com/articles/ecommerce-expectations/
PESQUISA: 67% DOS COMPRADORES ON-LINE
DEIXARÃO UM SITE DEVIDO AO DESEMPENHO
LENTO, 2013
• Uma vez on-line, os compradores consultam três sites em média antes de
fazer uma compra e o desempenho insatisfatório do website faz com que
o comprador vá a um concorrente
• 67% dos compradores disseram que parariam de usar um site se as
páginas estivessem sendo carregadas lentamente em seu smartphone
• 29% dos compradores que usam um dispositivo móvel comprariam de
uma loja convencional depois de passar por problemas no site, como
baixa velocidade e confiabilidade
• 22% comprariam do site de um concorrente depois de experimentar
problemas no site
Fonte: https://www.riverbed.com/press-releases/New-Harris-Poll-Reveals-67-Percent-of-Online-
Shoppers-Will-Leave-a-Website-Due-to-Slow-Performance.html
DANOS COLATERAIS
• Valor do ROI (Retorno sobre o investimento) diminui muito com:
• Danos a marca
• Ações legais
• Perda de credibilidade da marca
• Perdas provocadas por paradas indevidas
• Resultados imprecisos
• Perda de credibilidade da equipe de desenvolvimento
O QUE É QUALIDADE DE SOFTWARE?
NORMA ISO/IEC 9126
Qualidade é a totalidade de características de um produto de software que lhe
confere a capacidade de satisfazer necessidades explícitas e implícitas
• Necessidades explícitas são aquelas definidas no requisito. Esses requisitos devem
definir as condições em que o produto deve ser utilizado e dizer seus objetivos,
funções e desempenho esperado. São, portanto, fatores relativos à qualidade do
processo do desenvolvimento do produto que são percebidos somente pelas
pessoas que trabalharam no seu desenvolvimento.
• Necessidades implícitas são aquelas que, embora não expressas no requisito, são
necessárias para o usuário. Estão englobados em esta classe os requisitos que
não precisam ser declarados por serem óbvios, mas que pela gravidade de suas
consequências devem ser levados em consideração.
CARACTERÍSTICAS E SUBCARACTERÍSTICAS DA
QUALIDADE
MODELO DE QUALIDADE NBR ISO/IEC 9126
Funcionalidade
Adequação
Acurácia
(precisão)
Interoperabilidade
(comunicar com
outros sistemas)
Segurança de
acesso
Confiabilidade
Maturidade
Tolerância a falhas
Recuperabilidade
Usabilidade
Inteligibilidade
(compreendido)
Apreensibilidade
(capacidade de
aprendizado)
Operacionalidade
Atratividade
Eficiência
Comportamento
em relação ao
tempo
Utilização de
recursos
Conformidade
Manutenibilidade
Analisabilidade
(capacidade de
ser modificado)
Modificabilidade
(modificação seja
implementada)
Estabilidade
(evitar efeitos
inesperados da
modificação)
Testabilidade
(validação depois
da modificação)
Portabilidade
Adaptabilidade
Capacidade para
ser instalado
Coexistência
Capacidade para
substituir
PARA QUE SERVE O MODELO DE
QUALIDADE?
• Validar a completitude de uma definição de requisitos
• Identificar requisitos de software
• Identificar objetivos para teste de software
• Identificar critérios para garantia de qualidade
QUALIDADE DE SOFTWARE NA
VISÃO DO CLIENTE
O time de desenvolvimento faz o software, mas o cliente é quem vai usar.
• Cada cliente pode ter desejos e necessidades diferentes em relação ao mesmo
tipo de produto.
• Estão mais interessados na usabilidade do software
• Na funcionalidade
• No desempenho
• O cliente valoriza que o software responda às suas necessidades
• A qualidade do desenvolvimento/testes deve responder às questões do cliente:
• A função está disponível e é executada eficientemente?
• Funciona corretamente e sem imprevistos?
• O software é seguro? Evita que pessoas não autorizadas tenham acesso aos
dados
• É fácil usar ou precisa de muito treinamento?
MODELO DE QUALIDADE PARA
QUALIDADE EM USO
NBR ISO/IEC 9126
Qualidade
em uso
Eficácia Produtividade Segurança Satisfação
QUANTO CUSTA A FALTA DA
QUALIDADE?
1 10 100
1.000
10.000
O custo de correção de um bug é maior do que criarmos
verificações e validações para evitá-los.
DIFERENTES INTERPRETAÇÕES AO LONGO DE
VIDA DO SOFTWARE
PIRÂMIDE DE TESTES
DESENVOLVIMENTO
$$$
$
Recomendação:
1. Escrever testes com granularidade
diferentes
2. Quanto mais alto nível você estiver,
menos testes você deve ter
Testes de
serviço
Testes unitários
Teste de
Tela
Mais tempo e esforço
Maior ROI
Testes
manuais e
exploratórios Resposta mais lenta
Resposta mais rápida
10%
20%
70%
Fonte: Mike Cohn
ERRE, MAS ERRE RÁPIDO
• Um bom desenvolvimento diz que você errou o mais rápido possível
• Testes de unidade oferecem resposta quase que imediata se seu código
passou ou não no teste
• Evitar duplicação de testes nas diferentes camadas da pirâmide de testes
• Teste apenas uma condição por teste, isso ajuda a ter testes fáceis de ler e
mais rápidos
RESPONSABILIDADE
• Todo o time é responsável pelo produto, da concepção à produção
• Leitura cuidadosa da especificação
• Desenvolvimento com qualidade, código limpo e confiável
• Teste o suficiente
• Testes com granularidades diferentes, precisos e confiáveis
REFERÊNCIAS
• A pirâmide de teste prática: https://martinfowler.com/articles/practical-test-
pyramid.html
• Pesquisa sobre e-commerce:
https://www.nngroup.com/reports/ecommerce-user-experience/
• Quadrante mágico Gartner para Automação de Teste de Software:
https://www.gartner.com/doc/reprints?id=1-4KT1O8L&ct=171120&st=sb
• https://www.tricentis.com/blog/2018/03/05/software-fail-awards-2018/
OBRIGADA!

Mais conteúdo relacionado

Semelhante a O verdadeiro valor dos testes

Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoValquíria Duarte D'Amato
 
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerce
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerceNOVO E-BOOK: Dicas Dynatrace para o seu e-commerce
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerceThaís Pelli
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POAGUTS-RS
 
Application Insights
Application Insights Application Insights
Application Insights CDS
 
Aula 02 - Gestão da Qualidade
Aula 02 - Gestão da QualidadeAula 02 - Gestão da Qualidade
Aula 02 - Gestão da QualidadeAndré Guerin
 
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...Marcio Sete
 
Como empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalComo empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalJoyce Bastos
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsAdriano Bertucci
 
Aplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test CloudAplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test Cloudakamud
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudAplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudWennder Santos
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Fundamentos de testes de Software
Fundamentos de testes de SoftwareFundamentos de testes de Software
Fundamentos de testes de SoftwareThayse Severiano
 

Semelhante a O verdadeiro valor dos testes (20)

Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerce
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerceNOVO E-BOOK: Dicas Dynatrace para o seu e-commerce
NOVO E-BOOK: Dicas Dynatrace para o seu e-commerce
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
Projeto SaveSIM
Projeto SaveSIMProjeto SaveSIM
Projeto SaveSIM
 
Application Insights
Application Insights Application Insights
Application Insights
 
HP Mobile Testing
HP Mobile TestingHP Mobile Testing
HP Mobile Testing
 
Aula 02 - Gestão da Qualidade
Aula 02 - Gestão da QualidadeAula 02 - Gestão da Qualidade
Aula 02 - Gestão da Qualidade
 
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...
Esquece! Sem automação vocês não passam de um bando de meninos brincando de c...
 
DevOps e App Insights
DevOps e App InsightsDevOps e App Insights
DevOps e App Insights
 
Como empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalComo empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digital
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
Aplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test CloudAplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test Cloud
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudAplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test Cloud
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Fundamentos de testes de Software
Fundamentos de testes de SoftwareFundamentos de testes de Software
Fundamentos de testes de Software
 

O verdadeiro valor dos testes

  • 2. KATIANA MAIA • Analista de Teste e Qualidade • Meetup: CariocaQA RJ
  • 3. O QUE É UM TESTE? • Teste é toda atividade realizada dentro do processo de desenvolvimento de software que necessita da verificação de um resultado.
  • 4. PARA QUE SERVE O TESTE? • Os testes devem demonstrar que os softwares funcionam como o esperado • Atender os requisitos de negócios reais • Ganhar confiança sobre o nível de qualidade • Prover informações para tomada de decisão • Redução de custos (automação, desenvolvimento de novas funcionalidades, desenvolvimento mais assertivo) • Prevenir defeitos (automação) • Encontrar defeitos (complementar automação) • Conhecer o sistema (teste exploratório)
  • 5. ERROS, DEFEITOS, FALHAS • Defeitos acontecem em todas as fases do ciclo de vida de um software, causando problemas e prejuízos a todos os envolvidos, muitas vezes causando graves prejuízos materiais • Se existe software, existe bug
  • 6. RELATÓRIO ANUAL DE FALHAS DA TRICENTIS, 2018 Principais de falhas de software. Bug de software: um software não funciona como projetado Falha de usabilidade: uma falha de design que diminui a usabilidade de produto ou aplicação Vulnerabilidade de segurança: uma falha que os invasores podem explorar para alterar o comportamento de um sistema CUSTO 1. Custo estimado em falhas US$ 1,7 trilhão 2. Afetaram 3,68 bilhões de clientes 3. 268 anos de tempo perdido em busca dessas falhas 1.177 606 314
  • 7. Auditorias Bancário Criptomoeda Folha de pagamento Mercado de ações Relatório anual de falhas da Tricentis, 2018 Indústria Financeira
  • 8. FALHA NO REQUISITOS/ESPECIFICAÇÃO TESTE ESTÁTICO • Verificação antes do sistema ser construído • Objetivo é descobrir problemas no requisito/especificação
  • 9. FBI • Projeto para substituir os arquivos de papel do FBI, 2006 • Custo: US$ 170 mi • Meses escrevendo 170.000 linhas de código • 1 mês depois o sistema foi jogado no lixo • Problema: Erro de concepção do projeto. Sistema entregue era incompleto e inutilizável Fonte: http://www.washingtonpost.com/wp- dyn/content/article/2006/08/17/AR2006081701485.html?noredirect=on
  • 10. VOLKSWAGEN ANUNCIA RECALL POR “DIESELGATE”, 2015 • Falha: Software instalado detecta quando o carro está sendo inspecionado para verificar o nível de emissão de poluentes e só então passa a controlar os gases que o veículo solta na atmosfera. Esse controle fica desligado em situações normais de rodagem, fazendo com que os carros poluam muito além do nível exigido no país • Recall de 11 milhões de automóveis a diesel em todo o mundo (recompra ou conserto) • Prejuízo de US$ 15 bi por fraude nos EUA + US$ 10 bi para recomprar carros + Multa adicional US$ 86 mi • Prejuízo de R$ 58 milhões por fraude no Brasil • Ações do grupo caíram 19% na Bolsa de Frankfurt • Engenheiro condenado a 7 anos de prisão e multa de US$ 400 mil Presidente da Volkswagen: "Pessoalmente e profundamente lamento muito que tenhamos quebrado a confiança de nossos clientes e do público. A Volkswagen não tolera nenhuma violação, nem de leis, nem de normas, a equipe fará tudo o que for possível para recuperar a confiança das pessoas“.
  • 11. FALHA NO DESIGN TESTE DE USABILIDADE • Objetivo: O que você quer testar e como as hipóteses serão validadas. • Serve para verificar se um software atende a necessidade real do usuário. O resultado mostra as dificuldades e pontos positivos da experiência. • Por isso, é importante observar usuários reais navegando para entender melhor suas necessidades e anseios, além de dificuldades e falhas técnicas, que podem levá-los a abandonar tarefas e não atingir o objetivo do site. • Benefícios: Contribui para a redução dos custos de manutenção, constata mais cedo a aderência do usuário ao que foi entregue, desenvolvimento mais assertivo.
  • 12. PROBLEMAS DE USABILIDADE FEZ DISPARAR ALARME SOBRE MÍSSIL NO HAVAÍ, 2018 • Falha: interface confusa fez disparar um aviso de míssil: “Míssil balístico ameaça entrar no Havaí. Procure abrigo imediato, isto não é um exercício” • Alerta foi emitido para todos os telefones e televisores do Havaí • Causou pânico geral • Dadas as consideráveis tensões entre os Estados Unidos e a Coréia do Norte, essa notificação é um pesadelo a ser recebido e poderia corroer a confiança no sistema Governador David Ige o alarme falso foi determinado como resultado de erro humano: "Isto não deveria ter acontecido. Estamos investigando a sequência de eventos que ocorreram. Foi cometido um erro no gerenciamento de emergências que permitiu que este falso alarme fosse enviado. Foi um procedimento que ocorre na mudança de turno, onde eles passam para garantir que o sistema está funcionando e um funcionário apertou o botão errado. ”
  • 13. FALHA EM DESENVOLVIMENTO TESTE UNITÁRIO/INTEGRAÇÃO • Feedback mais rápido sobre o processo de desenvolvimento • Maior retorno sobre investimento
  • 14. APPLE MAPS NO IOS 6, 2012 • Criaram a própria versão do Maps e deixaram de usar o Google • Na pressa de lançar o mais recente e melhor aplicativo de mapas, fizeram imperdoáveis problemas de navegação: • Cidades foram apagadas • Edifícios desaparecendo • Ponto de referência achatados • Ilhas duplicadas • Gráficos distorcidos • Dados de localização falsos
  • 16. APPLE MAPS IOS6Igreja de Gustaf Vasa Kyrka. Estocolmo, Suécia Divisa do Estado de Nevada com Arizona, EUA
  • 17. PESQUISA: A NOVA EXPERIÊNCIA DO USUÁRIO DE COMÉRCIO ELETRÔNICO: MUDANÇAS NAS EXPECTATIVAS DOS USUÁRIOS, 2018 • Além de exigir extrema precisão, os usuários também são menos tolerantes com informações imprecisas, faz com que questione a credibilidade do site. • Como afirma a Lei de Jakob sobre a Experiência do Usuário da Internet: os usuários passam a maior parte do tempo em outros sites que não os seus. Isso só aumenta a pressão por oferecer a mesma qualidade de serviço. • A batalha pelo valor de mercado do comércio eletrônico agora está centrada em quem pode atender às crescentes expectativas dos clientes por experiências de compras simples, rápidas, confiáveis e convenientes. Fonte: https://www.nngroup.com/articles/ecommerce-expectations/
  • 18. PESQUISA: 67% DOS COMPRADORES ON-LINE DEIXARÃO UM SITE DEVIDO AO DESEMPENHO LENTO, 2013 • Uma vez on-line, os compradores consultam três sites em média antes de fazer uma compra e o desempenho insatisfatório do website faz com que o comprador vá a um concorrente • 67% dos compradores disseram que parariam de usar um site se as páginas estivessem sendo carregadas lentamente em seu smartphone • 29% dos compradores que usam um dispositivo móvel comprariam de uma loja convencional depois de passar por problemas no site, como baixa velocidade e confiabilidade • 22% comprariam do site de um concorrente depois de experimentar problemas no site Fonte: https://www.riverbed.com/press-releases/New-Harris-Poll-Reveals-67-Percent-of-Online- Shoppers-Will-Leave-a-Website-Due-to-Slow-Performance.html
  • 19. DANOS COLATERAIS • Valor do ROI (Retorno sobre o investimento) diminui muito com: • Danos a marca • Ações legais • Perda de credibilidade da marca • Perdas provocadas por paradas indevidas • Resultados imprecisos • Perda de credibilidade da equipe de desenvolvimento
  • 20. O QUE É QUALIDADE DE SOFTWARE? NORMA ISO/IEC 9126 Qualidade é a totalidade de características de um produto de software que lhe confere a capacidade de satisfazer necessidades explícitas e implícitas • Necessidades explícitas são aquelas definidas no requisito. Esses requisitos devem definir as condições em que o produto deve ser utilizado e dizer seus objetivos, funções e desempenho esperado. São, portanto, fatores relativos à qualidade do processo do desenvolvimento do produto que são percebidos somente pelas pessoas que trabalharam no seu desenvolvimento. • Necessidades implícitas são aquelas que, embora não expressas no requisito, são necessárias para o usuário. Estão englobados em esta classe os requisitos que não precisam ser declarados por serem óbvios, mas que pela gravidade de suas consequências devem ser levados em consideração.
  • 21. CARACTERÍSTICAS E SUBCARACTERÍSTICAS DA QUALIDADE MODELO DE QUALIDADE NBR ISO/IEC 9126 Funcionalidade Adequação Acurácia (precisão) Interoperabilidade (comunicar com outros sistemas) Segurança de acesso Confiabilidade Maturidade Tolerância a falhas Recuperabilidade Usabilidade Inteligibilidade (compreendido) Apreensibilidade (capacidade de aprendizado) Operacionalidade Atratividade Eficiência Comportamento em relação ao tempo Utilização de recursos Conformidade Manutenibilidade Analisabilidade (capacidade de ser modificado) Modificabilidade (modificação seja implementada) Estabilidade (evitar efeitos inesperados da modificação) Testabilidade (validação depois da modificação) Portabilidade Adaptabilidade Capacidade para ser instalado Coexistência Capacidade para substituir
  • 22. PARA QUE SERVE O MODELO DE QUALIDADE? • Validar a completitude de uma definição de requisitos • Identificar requisitos de software • Identificar objetivos para teste de software • Identificar critérios para garantia de qualidade
  • 23. QUALIDADE DE SOFTWARE NA VISÃO DO CLIENTE O time de desenvolvimento faz o software, mas o cliente é quem vai usar. • Cada cliente pode ter desejos e necessidades diferentes em relação ao mesmo tipo de produto. • Estão mais interessados na usabilidade do software • Na funcionalidade • No desempenho • O cliente valoriza que o software responda às suas necessidades • A qualidade do desenvolvimento/testes deve responder às questões do cliente: • A função está disponível e é executada eficientemente? • Funciona corretamente e sem imprevistos? • O software é seguro? Evita que pessoas não autorizadas tenham acesso aos dados • É fácil usar ou precisa de muito treinamento?
  • 24. MODELO DE QUALIDADE PARA QUALIDADE EM USO NBR ISO/IEC 9126 Qualidade em uso Eficácia Produtividade Segurança Satisfação
  • 25. QUANTO CUSTA A FALTA DA QUALIDADE? 1 10 100 1.000 10.000 O custo de correção de um bug é maior do que criarmos verificações e validações para evitá-los.
  • 26. DIFERENTES INTERPRETAÇÕES AO LONGO DE VIDA DO SOFTWARE
  • 27. PIRÂMIDE DE TESTES DESENVOLVIMENTO $$$ $ Recomendação: 1. Escrever testes com granularidade diferentes 2. Quanto mais alto nível você estiver, menos testes você deve ter Testes de serviço Testes unitários Teste de Tela Mais tempo e esforço Maior ROI Testes manuais e exploratórios Resposta mais lenta Resposta mais rápida 10% 20% 70% Fonte: Mike Cohn
  • 28. ERRE, MAS ERRE RÁPIDO • Um bom desenvolvimento diz que você errou o mais rápido possível • Testes de unidade oferecem resposta quase que imediata se seu código passou ou não no teste • Evitar duplicação de testes nas diferentes camadas da pirâmide de testes • Teste apenas uma condição por teste, isso ajuda a ter testes fáceis de ler e mais rápidos
  • 29. RESPONSABILIDADE • Todo o time é responsável pelo produto, da concepção à produção • Leitura cuidadosa da especificação • Desenvolvimento com qualidade, código limpo e confiável • Teste o suficiente • Testes com granularidades diferentes, precisos e confiáveis
  • 30. REFERÊNCIAS • A pirâmide de teste prática: https://martinfowler.com/articles/practical-test- pyramid.html • Pesquisa sobre e-commerce: https://www.nngroup.com/reports/ecommerce-user-experience/ • Quadrante mágico Gartner para Automação de Teste de Software: https://www.gartner.com/doc/reprints?id=1-4KT1O8L&ct=171120&st=sb • https://www.tricentis.com/blog/2018/03/05/software-fail-awards-2018/