Drupal e a Qualidade de Software
Daniel Carvalhinho
Lead Developer
Trellon, LLC
Mas quem é você?
Daniel Carvalhinho
[AKA Carval(h)inho, dscl, diesel, dlopes, CaramelHippos]
Desenvolvedor PHP há 16+ anos...
RFP
Contrato
Análise e planejamento
Alocação de time?
1 Desenvolvedor / Backend
1 Webdev / Frontend
Scurm Master e Líder técnico/Arquiteto?
Compartilhados ent...
Quem testa?
Dev!
Webdev!
SM!
Code review? Oi?
UAT? Pff…
Site entregue! o/
Cliente diz…
… que layout tem erros gritantes.
… que as principais áreas do site não funcionam.
… que o site está muito le...
Ultimato!
Site corrigido e em produção em 4 dias…
… ou atitudes serão tomadas
Abasteça
TASK FORCE (!!!)
Principais razões para falha:
● Estimativas equivocadas
● Falta de planejamento de QA
● Alocação insuficiente
● Mudanças a...
Planejamento de QA
(ou testes)
Tenha uma pessoa (ou time)
dedicada aos testes
E quando envolver o tester?
RFP?
Geralmente muito cedo. Mas dependendo da complexidade do projeto, pode ser
necessária a c...
Planning
Tester
… deve atuar como um braço direito do Líder técnico e do ScrumMaster
… será decisivo na definição dos crit...
Drupal e boas práticas
Never hack core (https://www.drupal.org/best-practices/do-not-hack-core)
Evite hardcoding (https://...
Drupal e boas práticas
PHP_CodeSniffer - https://github.com/squizlabs/PHP_CodeSniffer
Scripts PHP que realizam checagens e...
Drupal e boas práticas
Menção honrosa
Coder Tough Love - https://www.drupal.org/project/coder_tough_love
“Coder Tough Love...
Drupal e boas práticas
Crie um atalho para executar o PHPCS com as definições do Coder sobre
qualquer código que deseje.
T...
Test early. Test Often.
(teste cedo, teste sempre)
Functional testing
Regression testing
Garantir que partes do produto que já foram terminadas e testadas continuem
funcionando depois que outr...
Smoke testing
Garantir que as funcionalidades críticas ao negócio
estão devidamente implementadas e funcionais.
Outras ferramentas
(várias)
Links quebrados (e mais)
robots.txt , sitemap.xml ,listas de URLs, etc
http://home.snafu.de/tilman/xenulink.html https://w...
Browser Testing
Testing sites on real mobile and desktop browsers
https://www.browserstack.com https://saucelabs.com
http:...
Teste de Layout
Comparando versões em busca de alterações
https://github.com/everright/erSiteComparehttp://backtrac.io
BDD
Behavior Driven Development
http://behat.org
StoryBDD
http://www.phpspec.net
SpecBDD
Análise de velocidade
encontrando gargalos e analisando boas práticas
https://tools.pingdom.comhttp://www.webpagetest.org
...
Load test
Testando a performance do seu site sob estresse
http://jmeter.apache.org https://www.blazemeter.com
Apache Bench...
Enfim...
Você precisa de uma boa estratégia de teste!
Obrigado!
Perguntas?
Daniel Carvalhinho
daniel@dscl.com.br
http://www.linkedin.com/in/danielscl
http://twitter.com/dscl
http://dgo.t...
Drupal e a Qualidade de Software
Próximos SlideShares
Carregando em…5
×

Drupal e a Qualidade de Software

222 visualizações

Publicada em

Quantas vezes você precisou lidar com achar e corrigir bugs mesmo meses depois do desenvolvimento?
Quantas vezes o seu budget estourou pois nem todos os cenários foram cobertos pelos desenvolvedores nos seus testes?

Nesta palestra vamos ver como uma pessoa ou time dedicada ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final.

Isso não é um ataque aos desenvolvedores. Eu também sou um desenvolvedor!
Mas já passou o momento de levarmos QA mais a sério durante o desenvolvimento.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
222
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Drupal e a Qualidade de Software

  1. 1. Drupal e a Qualidade de Software Daniel Carvalhinho Lead Developer Trellon, LLC
  2. 2. Mas quem é você? Daniel Carvalhinho [AKA Carval(h)inho, dscl, diesel, dlopes, CaramelHippos] Desenvolvedor PHP há 16+ anos Desenvolvedor Drupal há 6+ anos Lead Developer na Trellon, LLC Drupal Tradutor e Revisor no time Brazilian Portuguese Co-autor do módulo Entity Scaffold Mentor do Core Sprint (DrupalCon) Organizador de eventos e Global Training Days http://drupal.org/u/dscl IRC: dscl
  3. 3. RFP
  4. 4. Contrato
  5. 5. Análise e planejamento
  6. 6. Alocação de time? 1 Desenvolvedor / Backend 1 Webdev / Frontend Scurm Master e Líder técnico/Arquiteto? Compartilhados entre 10 projetos
  7. 7. Quem testa? Dev! Webdev! SM!
  8. 8. Code review? Oi? UAT? Pff… Site entregue! o/
  9. 9. Cliente diz… … que layout tem erros gritantes. … que as principais áreas do site não funcionam. … que o site está muito lento.
  10. 10. Ultimato! Site corrigido e em produção em 4 dias… … ou atitudes serão tomadas
  11. 11. Abasteça
  12. 12. TASK FORCE (!!!)
  13. 13. Principais razões para falha: ● Estimativas equivocadas ● Falta de planejamento de QA ● Alocação insuficiente ● Mudanças além do aceitável Principais razões para falha: ● Estimativas equivocadas ● Falta de planejamento de QA ● Alocação insuficiente ● Mudanças além do aceitável
  14. 14. Planejamento de QA (ou testes)
  15. 15. Tenha uma pessoa (ou time) dedicada aos testes
  16. 16. E quando envolver o tester? RFP? Geralmente muito cedo. Mas dependendo da complexidade do projeto, pode ser necessária a consulta. Análise e Planejamento? Com certeza. Antes mesmo do resto do time. O Tester precisa conhecer o projeto melhor que todos. Idealmente, tanto quanto o cliente para atuar como um PO interno.
  17. 17. Planning Tester … deve atuar como um braço direito do Líder técnico e do ScrumMaster … será decisivo na definição dos critérios de aceitação das User Stories … será responsável pela criação dos Test Cases relacionados a cada Story, ajudando assim o desenvolvedor a testar o seu trabalho de uma forma não- viciada. Desenvolvedores … devem usar o Test Case como complemento de seus testes. … devem sempre informar caminho ou URLs relacionados a seus tickets. … devem garantir que as boas práticas estão sendo aplicadas
  18. 18. Drupal e boas práticas Never hack core (https://www.drupal.org/best-practices/do-not-hack-core) Evite hardcoding (https://www.drupal.org/node/1052556) Boas práticas em uso e configuração (https://www.drupal.org/best-practices) Padrões de código (https://www.drupal.org/coding-standards) Documente seu projeto (https://www.drupal.org/node/632262) Escreva código seguro (https://www.drupal.org/writing-secure-code) Boas práticas de Acessibilidade (https://www.drupal.org/node/1637990)
  19. 19. Drupal e boas práticas PHP_CodeSniffer - https://github.com/squizlabs/PHP_CodeSniffer Scripts PHP que realizam checagens em código PHP baseados em certo padrões Coder - https://www.drupal.org/project/coder Definições para validação de padrões de código e boas práticas Drupal para ser usado pelo PHP_CodeSniffer DrupalPractice - https://www.drupal.org/project/drupalpractice (merged into Coder) Definições para validação de boas práticas Drupal para ser usado pelo PHP_CodeSniffer DrupalSecure - https://www.drupal.org/sandbox/coltrane/1921926 Definições sobre código seguro para ser usado pelo PHP_CodeSniffer Codespell - https://github.com/lucasdemarchi/codespell Verifica erros de grafia comuns em inglês. PAReview.sh - http://pareview.sh Project Application Review. Usado para revisão de módulos completos.
  20. 20. Drupal e boas práticas Menção honrosa Coder Tough Love - https://www.drupal.org/project/coder_tough_love “Coder Tough Love is a companion to the existing Coder module by Doug Green. Unlike Coder, which strives to follow the documented style guidelines of Drupal core, Coder Tough Love takes the tougher tactic of applying finely aged and obsessively anal wisdom from years of Drupal development and persnickety quality control.” Criado por Morbus Iff
  21. 21. Drupal e boas práticas Crie um atalho para executar o PHPCS com as definições do Coder sobre qualquer código que deseje. Todo desenvolvedor deve executar essas verificações antes de seus commits (preferencialmente automaticamente pela IDE) O Tester consegue executar a mesma validações com as mesmas ferramentas. A diferença é que o Tester apenas reportará os possíveis erros para os desenvolvedores que são os responsáveis pela correção ou justificativa plausível para falso positivos.
  22. 22. Test early. Test Often. (teste cedo, teste sempre)
  23. 23. Functional testing
  24. 24. Regression testing Garantir que partes do produto que já foram terminadas e testadas continuem funcionando depois que outras mudanças foram feitas ao sistema.
  25. 25. Smoke testing Garantir que as funcionalidades críticas ao negócio estão devidamente implementadas e funcionais.
  26. 26. Outras ferramentas (várias)
  27. 27. Links quebrados (e mais) robots.txt , sitemap.xml ,listas de URLs, etc http://home.snafu.de/tilman/xenulink.html https://www.screamingfrog.co.uk/seo-spider
  28. 28. Browser Testing Testing sites on real mobile and desktop browsers https://www.browserstack.com https://saucelabs.com http://appium.io
  29. 29. Teste de Layout Comparando versões em busca de alterações https://github.com/everright/erSiteComparehttp://backtrac.io
  30. 30. BDD Behavior Driven Development http://behat.org StoryBDD http://www.phpspec.net SpecBDD
  31. 31. Análise de velocidade encontrando gargalos e analisando boas práticas https://tools.pingdom.comhttp://www.webpagetest.org https://developers.google.com/speed/pagespeedhttp://yslow.org
  32. 32. Load test Testando a performance do seu site sob estresse http://jmeter.apache.org https://www.blazemeter.com Apache Benchmarking (ab) https://httpd.apache.org/docs/2.4/programs/ab.html
  33. 33. Enfim... Você precisa de uma boa estratégia de teste!
  34. 34. Obrigado!
  35. 35. Perguntas? Daniel Carvalhinho daniel@dscl.com.br http://www.linkedin.com/in/danielscl http://twitter.com/dscl http://dgo.to/@dscl

×