Porque você precisa de uma estratégia de QA e precisa disso AGORA!

40
Porque você precisa de uma estratégia de QA e precisa disso AGORA! PHP Conference Brasil 2016 – São Paulo, Brasil 10 de Dezembro de 2016 Daniel Carvalhinho [email protected]

Transcript of Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Page 1: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Porque você precisa de uma estratégia de QA e precisa disso AGORA!PHP Conference Brasil 2016 – São Paulo, Brasil10 de Dezembro de 2016

Daniel [email protected]

Page 2: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Quem sou eu?

Software Engineer @ Council on Foreign Relations

Contribuidor, Tradutor e Revisor @ Drupal.orgColaborador @ Associação Drupal do Brasil

17 anos de experiência com PHP7 anos focando em Drupal

Morei 2 anos na China, comi gafanhoto sim, mas não cachorro.Mas Chinês não come nenhum dos dois. :)

Viciado em viajar, já estive em 19 países (acho).

Page 3: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Senta que lá vem a história(bem conhecida de muitos, creio)

Page 4: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

RFP

Page 5: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Contrato

Page 6: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Análise e planejamento

Page 7: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Alocação de time?1 Desenvolvedor / Backend1 Webdev / Frontend

Scurm Master e Líder técnico/Arquiteto?Compartilhados entre 10 projetos

Page 8: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Quem testa?Dev!

Webdev!SM!

Page 9: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Code review? Oi?UAT? Pff…

Site entregue! \o/

Page 10: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Cliente diz…… que layout tem erros gritantes.… que as principais áreas do site não funcionam.… que o site está muito lento.

Page 11: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Ultimato!Site corrigido e em produção em 4 dias…

… ou atitudes serão tomadas

Page 12: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Abasteça

Page 13: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

TASK FORCE (!!!)

Page 14: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

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

Page 15: Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Page 16: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Planejamento de QA(ou testes)

Page 17: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Três coisas que levam a clientes infelizes:atraso na entrega, custos e bugs.

Page 18: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

“O custo para corrigir um erro encontrado depois do lançamento do produto é de quatro a cinco vezes maior que um erro

encontrado na fase de especificação, e até 100 vezes mais quando encontrado na fase de manutenção.

Systems Sciences Institute at IBM

Page 19: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Cultura Variável: a gestão não entende que qualidade é uma questão de gerenciamento. Problemas são resolvidos com grandes esforços pessoais, e não em uma abordagem sistemática.

Cultura da Rotina: a gestão concorda que qualidade pode ser importante, mas não existe dinheiro ou time alocado para fazer com que ela aconteça. Times geralmente corrigem problemas depois que um problema grave aconteceu.

Cultura da Gestão: a gestão reconhece que qualidade é uma questão sistemática, e que auxilia os gerentes a gerenciar melhor. Problemas são trazidos à tona, discutidos e resolvidos de maneira ordenada.

Weinberg, Gerald M., Quality Software Management, Volume 1, Systems Thinking, Dorset House, New York. 1992.

Abordagem dos problemas

Page 20: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Conformidade:● Custos de prevenção - investimento feito em treinamento, levantamento de

requisitos, code reviews, etc.

● Custos de avaliação - investimento gasto em planejamento de testes, desenvolvimento de casos de teste e execução dos testes.

Não-conformidade:● Falhas internas - gastos criados por testes que falham na primeira execução.

● Falhas externas - gastos criados como consequência de falhas encontradas pelo cliente. Geralmente serão custos maiores que para falhas internas. Pode chegar ao nível judicial.

Conformidade vs. Não-conformidade (custos)

Page 21: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Análise de RequisitosCusto = tempo que se leva para se reeescrever o requisito.

Codificação/DesenvolvimentoCusto = horas adicionais de desenvolvimento.

Integração de Sistema:Custo = horas adicionais de desenvolvimento e de integração.

TestesCustos = horas adicionais de desenvolvimento, de integração, do PM e de QA.

User Acceptance Testing (UAT)Custo = additional required developer, system engineer, PM, customer, and QA hours.

ProduçãoCusto = horas adicionais de desenvolvimento, suporte, integração, PM, cliente e QA.

Custo do bug vs. Fase de desenvolvimento

Page 22: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Tenha uma pessoa (ou time) dedicada aos testes

Page 23: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Mas 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.

Page 24: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

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

Page 25: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Test early. Test Often.(teste cedo, teste sempre)

Page 26: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Functional testing

Page 27: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Regression testing

Garantir que partes do produto que já foram terminadas e testadas continuem funcionando depois que outras mudanças foram feitas ao sistema.

Page 28: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Smoke testing

Garantir que as funcionalidades críticas ao negócio estão devidamente implementadas e funcionais.

Page 29: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Algumas ferramentas(várias)

Page 30: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

PHP Static Analysis Tools - https://github.com/exakat/php-static-analysis-tools Lista com diversas ferramentas de extrema utilidade para garantir a qualidade do código.

Alguns destaques:

● PHPCPD - Encontra trechos de código que foram copiados e colados. DRY● PHP Mess Detector - Encontra potenciais problemas no código..● PHP Code Sniffer - PHPCS checa o padrão do código.

Escolha um padrão de código, ou use o padrão do framework (ou ferramenta/CMS) que você usa.Siga a risca, use o PHPCS (talvez até um pré-commit hook)

Qualidade de Código

Page 31: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

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

Page 32: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Browser TestingTesting sites on real mobile and desktop browsers

https://www.browserstack.com https://saucelabs.com

http://appium.io

Page 33: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

E-mail testingTestar visualização de e-mails em diversos clientes

https://litmus.com/email-testing

Page 34: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Teste de LayoutComparando versões em busca de alterações

https://github.com/everright/erSiteComparehttp://backtrac.io

Page 35: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

BDDBehavior Driven Development

http://behat.org

StoryBDD

http://www.phpspec.net

SpecBDD

Page 36: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Análise de velocidadeencontrando gargalos e analisando boas práticas

https://tools.pingdom.comhttp://www.webpagetest.org

https://developers.google.com/speed/pagespeedhttp://yslow.org

Page 37: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Load testTestando 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

Page 38: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Enfim...Você precisa de uma boa estratégia de teste!

Page 39: Porque você precisa de uma estratégia de QA e precisa disso AGORA!

Obrigado!