Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 61 Ad

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

Download to read offline

"Essa história vai melhorar as vendas. Essa refatoração vai melhorar a manutenção". Será?

Se queremos escolher histórias e manter um produto melhor para o cliente final, essa decisão deve ser baseada em alguma medida.

Complexidade do código? Coesão? Aguentar altas cargas? Diminuir taxas de erro? Efetuar mais compras? Para entender qualquer uma delas é preciso medir: veremos nessa palestra como pegar um projeto cujo build mínimo está automatizado, mediremos a complexidade do código, o desempenho em relação a erros, a vendas e a percepção do usuário final.

Mantemos um rastreamento dessas métricas com o passar do tempo: encontrando os commits responsáveis pela quebra nas regras estabelecidas. A decisão se algo é bom ou não deixa de ser romântico e passa a ser algo lógico.

"Essa história vai melhorar as vendas. Essa refatoração vai melhorar a manutenção". Será?

Se queremos escolher histórias e manter um produto melhor para o cliente final, essa decisão deve ser baseada em alguma medida.

Complexidade do código? Coesão? Aguentar altas cargas? Diminuir taxas de erro? Efetuar mais compras? Para entender qualquer uma delas é preciso medir: veremos nessa palestra como pegar um projeto cujo build mínimo está automatizado, mediremos a complexidade do código, o desempenho em relação a erros, a vendas e a percepção do usuário final.

Mantemos um rastreamento dessas métricas com o passar do tempo: encontrando os commits responsáveis pela quebra nas regras estabelecidas. A decisão se algo é bom ou não deixa de ser romântico e passa a ser algo lógico.

Advertisement
Advertisement

More Related Content

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

More from Caelum (20)

Advertisement

Recently uploaded (20)

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

  1. 1. Métricas e automatização do controle de qualidade Guilherme Silveira www.alura.com.br www.caelum.com.br
  2. 2. Prelude
  3. 3. Meu cenário
  4. 4. Copa 2014
  5. 5. Copa 2014
  6. 6. Copa 2014
  7. 7. Meu cenário • equipe técnica pequena (3 pessoas) • garantir que funciona • garantir que continua desenvolvendo
  8. 8. Meu cenário • equipe de negócios pequena (3 pessoas) • aumentar a venda • aumentar a felicidade
  9. 9. "Essa história vai melhorar as vendas.” “Essa refatoração vai melhorar a manutenção”. Será?
  10. 10. Hoje eu tô mais feliz! • Comer maçã deixa mais feliz? • Palhaço deixa mais feliz? • O que é feliz? O que é mais feliz?
  11. 11. “convincing methods of measurement"
  12. 12. Queremos saber • Meu código é bom? • funciona em produção • Meu cliente comprou mais? • testes com cliente
  13. 13. Parte 1
  14. 14. Meu código tá bom • O que é bom? • vai dar erro? • digitar menos? • permitir mudanças? • complexidade? • erros?
  15. 15. O que é bom? • vai dar erro? compilador. • digitar menos? IDE. • permitir mudanças? testes + compilador + IDE • complexidade? medir com compl. ciclomática. • erros? log
  16. 16. (complexidade ciclomática)
  17. 17. Meu código tá bom www.aniche.com.br/publications
  18. 18. O que vamos fazer? • Erros em produção!!!! O que fazer???
  19. 19. Se meu editor mostrasse…
  20. 20. Meu código tá bom • Capturando dados • Complexidade por commit • Erros por deploy
  21. 21. Salvando complexidade • commit + complexidade => salva o número
  22. 22. Salvando complexidade
  23. 23. Salvando métrica
  24. 24. Visualizando a métrica
  25. 25. Code Sheriff chefe no topo = suspeito
  26. 26. Code Sheriff
  27. 27. Code Sheriff
  28. 28. Code Sheriff
  29. 29. 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
  30. 30. Bugs por deploy • deploy + exception line => acumular as linhas
  31. 31. Commit => Tag
  32. 32. Metric + Metrics
  33. 33. value / array
  34. 34. armazenar a quantidade!
  35. 35. Visualizando a métrica
  36. 36. Bônus • independente de linguagem • gratuito (thanks heroku) • todo: providers de log, hot spots etc
  37. 37. Resumindo • melhor que TXT • melhor que dashboard • é a SUA tela de desenvolvedor
  38. 38. Parte 2
  39. 39. Garantias • compilação • refatoração (IDE, não editor) • teste • produção em sua IDE
  40. 40. 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?
  41. 41. Testes A/B • Evitar algumas variações de variáveis • Mas mesmo assim não evita tudo
  42. 42. Amostra: teste a/b • Testei clientes no A: 10 compras • Testei clientes no B: 100 compras • Uhu! B é 10 x mais efetivo • Será?
  43. 43. 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á?
  44. 44. 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?
  45. 45. Amostra: teste a/b • Capturando os dados • opção mostrada • resultado da ação (comprou/não comprou)
  46. 46. Amostra: teste a/b • nos testes que fazemos se usarmos • 2 sigma => 95.4% • 4.6% de chance de eu errar • é suficiente?
  47. 47. Amostra: teste • Mas os físicos usam isso Guilherme • Boson de Higgs • Sim, com 5 sigma • 3 x 10 -7 => 0.00007%
  48. 48. Amostra: teste a/b • Visualizando • mostrando se está dentro ou fora do erro • conclusivo ou não
  49. 49. 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
  50. 50. google analytics statistical significance
  51. 51. google analytics statistical significance
  52. 52. z-test plugin
  53. 53. 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/
  54. 54. 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
  55. 55. 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
  56. 56. Fechando
  57. 57. Resumindo • Capture • Armazene • Mostre • Acompanhe no dia a dia • Desconfie do resultado
  58. 58. O que eu quero • garantias ao digitar • garantias ao refatorar • garantias ao rodar local • garantias ao rodar remoto • garantias ao mudar o processo
  59. 59. 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
  60. 60. Métricas e automatização do controle de qualidade Guilherme Silveira www.alura.com.br www.caelum.com.br

×