SlideShare uma empresa Scribd logo
Métricas e automatização 
do controle de qualidade 
Guilherme Silveira 
www.alura.com.br 
www.caelum.com.br
Prelude
Meu cenário
Copa 2014
Copa 2014
Copa 2014
Meu cenário 
• equipe técnica pequena (3 pessoas) 
• garantir que funciona 
• garantir que continua desenvolvendo
Meu cenário 
• equipe de negócios pequena (3 pessoas) 
• aumentar a venda 
• aumentar a felicidade
"Essa história vai melhorar as vendas.” 
“Essa refatoração vai melhorar a manutenção”. 
Será?
Hoje eu tô mais feliz! 
• Comer maçã deixa mais feliz? 
• Palhaço deixa mais feliz? 
• O que é feliz? O que é mais feliz?
“convincing methods of 
measurement"
Queremos saber 
• Meu código é bom? 
• funciona em produção 
• Meu cliente comprou mais? 
• testes com cliente
Parte 1
Meu código tá bom 
• O que é bom? 
• vai dar erro? 
• digitar menos? 
• permitir mudanças? 
• complexidade? 
• erros?
O que é bom? 
• vai dar erro? compilador. 
• digitar menos? IDE. 
• permitir mudanças? testes + compilador + IDE 
• complexidade? medir com compl. ciclomática. 
• erros? log
(complexidade ciclomática)
Meu código tá bom 
www.aniche.com.br/publications
O que vamos fazer? 
• Erros em produção!!!! O que fazer???
Se meu editor mostrasse…
Meu código tá bom 
• Capturando dados 
• Complexidade por commit 
• Erros por deploy
Salvando complexidade 
• commit + complexidade => salva o número
Salvando complexidade
Salvando métrica
Visualizando a métrica
Code Sheriff 
chefe no topo = suspeito
Code Sheriff
Code Sheriff
Code Sheriff
Code Sheriff 
“Efeitos da Prática de Revisão de Código na Caelum: 
Um Estudo de Caso Preliminar” 
quinta feira, 11:30 com Maurício Aniche e Chico Sokol
Bugs por deploy 
• deploy + exception line => acumular as linhas
Commit => Tag
Metric + Metrics
value / array
armazenar a quantidade!
Visualizando a métrica
Métricas e a automatização do controle de qualidade
Bônus 
• independente de linguagem 
• gratuito (thanks heroku) 
• todo: providers de log, hot spots etc
Resumindo 
• melhor que TXT 
• melhor que dashboard 
• é a SUA tela de desenvolvedor
Parte 2
Garantias 
• compilação 
• refatoração (IDE, não editor) 
• teste 
• produção em sua IDE
Meu cliente comprou mais 
• O que é mais? 
• 0.1%? 5%? 10%? 1000%? 
• O que é comprar? 
• comprar é anomalia? 
• 0.0001% => 0.01% 
• 1 compra para 100 compras?
Testes A/B 
• Evitar algumas variações de variáveis 
• Mas mesmo assim não evita tudo
Amostra: teste a/b 
• Testei clientes no A: 10 compras 
• Testei clientes no B: 100 compras 
• Uhu! B é 10 x mais efetivo 
• Será?
Amostra: teste a/b 
• Testei 100 clientes no A: 10 compras 
• Testei 10000 clientes no B: 100 compras 
• Coco! A é 10 x mais efetivo 
• Será?
Faço o teste novamente 
• Resultando completamente trocado 
• A/B => A ganha, A/B => B ganha 
• A/A’ => A ganha 
• qual a margem de erro?
Amostra: teste a/b 
• Capturando os dados 
• opção mostrada 
• resultado da ação (comprou/não comprou)
Amostra: teste a/b 
• nos testes que fazemos se usarmos 
• 2 sigma => 95.4% 
• 4.6% de chance de eu errar 
• é suficiente?
Amostra: teste 
• Mas os físicos usam isso Guilherme 
• Boson de Higgs 
• Sim, com 5 sigma 
• 3 x 10 -7 => 0.00007%
Amostra: teste a/b 
• Visualizando 
• mostrando se está dentro ou fora do erro 
• conclusivo ou não
Não adianta fazer 1000 
testes e 1 só dar certo! 
• 1000 testes vai dar caca 
• Você VAI achar um certo. E ele está errado. 
• Meta meta erro 
• Correção de Bonferroni
google analytics 
statistical significance
google analytics 
statistical significance
z-test plugin
quer testar? 
statistical significance 
experian.com/blogs/marketing-forward/2012/12/27/statistical-significance-http://code.google.com/p/r-google-analytics/ 
lunametrics.com/blog/2014/05/27/statistical-significance-chrome-extension 
http://www.michaelwhitaker.com/2013/12/17/z-test-google-analytics/
Exemplo 1 
• 20 mil visitantes/mês 
• A: 10mil, B: 10 mil 
• A converte 1% 
• B converte 30% a mais (??????) 
• 1 mês depois, 95% ok
Exemplo 2 
• 20 mil visitantes/mês 
• A: 10mil, B: 10 mil 
• A converte 1% 
• B converte 10% a mais 
• 6 meses depois, 95% ok
Fechando
Resumindo 
• Capture 
• Armazene 
• Mostre 
• Acompanhe no dia a dia 
• Desconfie do resultado
O que eu quero 
• garantias ao digitar 
• garantias ao refatorar 
• garantias ao rodar local 
• garantias ao rodar remoto 
• garantias ao mudar o processo
O que eu gosto 
• garantias ao digitar: compilador Java, Panettone 
• garantias ao refatorar: Eclipse 
• garantias ao rodar local: testes 
• garantias ao rodar remoto: testes 
• garantias ao mudar o processo: dados de 
produção
Métricas e automatização 
do controle de qualidade 
Guilherme Silveira 
www.alura.com.br 
www.caelum.com.br

Mais conteúdo relacionado

PDF
Design Responsivo - MobCamp 2014
PDF
Responsive Design and Progressive Enhancements for the Web (workshop)
PDF
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
PDF
Fundamental HTML5
PDF
CSS3 Media Queries
PDF
Fundamental CSS3
PDF
User Experience + A/B Testing: o design focado na conversão
PDF
Verdades e mitos sobre testes que eu gostaria
Design Responsivo - MobCamp 2014
Responsive Design and Progressive Enhancements for the Web (workshop)
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
Fundamental HTML5
CSS3 Media Queries
Fundamental CSS3
User Experience + A/B Testing: o design focado na conversão
Verdades e mitos sobre testes que eu gostaria

Semelhante a Métricas e a automatização do controle de qualidade (20)

PDF
Product Management de Desenvolvedor para Desenvolvedor
PDF
Quebrando Histórias de Usuário
PPTX
Marketplace 2022 | Diferenciação em marketplaces: é possivel ou ao final é so...
PDF
Como validar suas ideias - Search Masters Brasil 2014
PDF
Agile Testing no Drupal
PDF
Agile Testing com Drupal
PPTX
Palestra Predicta
PDF
Testes A/B para aumentar as conversões em e-commerces
PDF
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
PDF
DevCamp - O papel de um testador em uma equipe ágil
PDF
TesteDeSoftware_WorkshopSINFO2014.pdf
PDF
Como criar cases de seo gabriel soto - tche seo
PPTX
Mitos, (nem tão) verdades (assim) e aplicações de valuation
PPT
Internet e o Seu Negócio
PPTX
Como empoderar a qualidade rumo a transformacao digital
PDF
Ferramentas e Conceitos em Lean Seis Sigma
PDF
Palestra no MSP Summit - ADDEE
PPTX
14º WAW - Apresentação Kenzo Real
PDF
O Guia Completo da Satisfação do Clientes no E-commerce
PPT
At Ma Qualidade Molinari V11 Final Version
Product Management de Desenvolvedor para Desenvolvedor
Quebrando Histórias de Usuário
Marketplace 2022 | Diferenciação em marketplaces: é possivel ou ao final é so...
Como validar suas ideias - Search Masters Brasil 2014
Agile Testing no Drupal
Agile Testing com Drupal
Palestra Predicta
Testes A/B para aumentar as conversões em e-commerces
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
DevCamp - O papel de um testador em uma equipe ágil
TesteDeSoftware_WorkshopSINFO2014.pdf
Como criar cases de seo gabriel soto - tche seo
Mitos, (nem tão) verdades (assim) e aplicações de valuation
Internet e o Seu Negócio
Como empoderar a qualidade rumo a transformacao digital
Ferramentas e Conceitos em Lean Seis Sigma
Palestra no MSP Summit - ADDEE
14º WAW - Apresentação Kenzo Real
O Guia Completo da Satisfação do Clientes no E-commerce
At Ma Qualidade Molinari V11 Final Version
Anúncio

Mais de Caelum (20)

PDF
Performance Web além do carregamento
PDF
Desafios de Performance Web - BrazilJS
PDF
Performance na web: o modelo RAIL e outras novidades
PDF
Progressive Web Apps: o melhor da Web appficada
PDF
Tudo que você precisa saber sobre picture e srcset
PDF
Como o HTTP/2 vai mudar sua vida
PDF
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
PDF
Offline Web com Service Workers - Sérgio Lopes
PDF
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
PPT
Por trás dos frameworks e além do reflection
PDF
Otimizações de Performance Web: Desafios do Mundo Mobile
PPT
Introducao a inteligencia artificial na educacao
PPT
Otimizando o time to market - do zero a produção em poucas iterações
PDF
All you need to know about JavaScript loading and execution in the browser - ...
PDF
Wsrest 2013
PDF
Design Responsivo por uma Web única
PDF
Os Caminhos de uma Estratégia Mobile
PDF
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
PDF
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
KEY
Plataforma java: detalhes da JVM
Performance Web além do carregamento
Desafios de Performance Web - BrazilJS
Performance na web: o modelo RAIL e outras novidades
Progressive Web Apps: o melhor da Web appficada
Tudo que você precisa saber sobre picture e srcset
Como o HTTP/2 vai mudar sua vida
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Por trás dos frameworks e além do reflection
Otimizações de Performance Web: Desafios do Mundo Mobile
Introducao a inteligencia artificial na educacao
Otimizando o time to market - do zero a produção em poucas iterações
All you need to know about JavaScript loading and execution in the browser - ...
Wsrest 2013
Design Responsivo por uma Web única
Os Caminhos de uma Estratégia Mobile
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
Plataforma java: detalhes da JVM
Anúncio

Último (20)

PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Aula sobre desenvolvimento de aplicativos
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
COBITxITIL-Entenda as diferença em uso governança TI
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Métricas e a automatização do controle de qualidade