Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testes de Software - PHP Vale

Testes de Software - PHP Vale

Palestra realizada no 3º Meetup do PHP Vale, em 2019-03-16 (https://www.meetup.com/pt-BR/PHPVale/events/259016437/).

Link original: https://slides.com/devdrops/testes-de-software#/

Davi Marcondes Moreira

March 16, 2019
Tweet

More Decks by Davi Marcondes Moreira

Other Decks in Programming

Transcript

  1. Testes de Software Testes de Software (Quase) Tudo O Que

    Você Queria Saber Mas Tinha Medo De Perguntar 2019-03-16 @ 3º PHPVale Meetup Davi Marcondes Moreira - @devdrops
  2. Dúvida #1 Dúvida #1 O O que que são testes

    são testes e pra quê e pra quê servem servem? ?
  3. Dúvida #2 Dúvida #2 Que conceitos preciso saber Que conceitos

    preciso saber antes de começar a testar? antes de começar a testar?
  4. Conheça o projeto Conheça o projeto Saiba onde estão os

    riscos e aceite que eles serão inevitáveis
  5. Dúvida #3 Dúvida #3 Por onde começar a testar Por

    onde começar a testar uma aplicação? uma aplicação?
  6. Dores típicas Dores típicas > As entregas demoram muito? >

    Código muito complexo? > O time anda desmotivado? > O site é lento? > Motivos de reclamação no suporte? > Bugs difíceis de encontrar/reproduzir?
  7. Dúvida #4 Dúvida #4 Diferença entre Unitário, Diferença entre Unitário,

    Funcional, E2E e Integração? Funcional, E2E e Integração?
  8. Testes Unitários Testes Unitários - Nível mais baixo do código

    - Funções, métodos, classes - Mais baratos - Mais rápidos
  9. Testes de Integração Testes de Integração - Nível médio do

    seu código - Comunicação entre módulos, serviços, banco de dados - Custam mais pelas dependências - Mais lentos
  10. Testes Funcionais Testes Funcionais - Nível acima do código em

    si - Regras de negócio no sistema - Fazem ações de integração, mas não validam a interação entre as ações - Mais lentos
  11. Testes End-To-End (E2E) Testes End-To-End (E2E) - Mais alto nível

    do projeto - Como seu projeto se comunica com o mundo exterior - Endpoints de APIs, navegação completa pelo site - Mais lentos e muito mais caros
  12. Mocks Mocks > Falsificação > Bem completo e pode ser

    usado como substituto de uma dependência do projeto (banco de dados, API etc) $mock = $this->createMock(SomeClass::class); $mock->expects($this->once()) ->method('doSomething') ->with('bar'); $sut->action($mock);
  13. Stubs Stubs > Mais simples, menos complexo > Atende um

    comportamento fixo e previsível $stub = $this->createMock(SomeClass::class); $stub->method('getSomething') ->willReturn('foo'); $sut->action($stub);
  14. Dúvida #6 Dúvida #6 Ninguém da equipe quer Ninguém da

    equipe quer fazer testes e o projeto é só fazer testes e o projeto é só bugs, o que faço? bugs, o que faço?
  15. Dúvida #7 Dúvida #7 Se eu testar Controller ou Se

    eu testar Controller ou Model, eu vou pro inferno? Model, eu vou pro inferno?
  16. Dúvida #8 Dúvida #8 Tenho que ter 100% de Tenho

    que ter 100% de cobertura de testes? cobertura de testes?
  17. Dúvida #9 Dúvida #9 Como saber a qualidade dos Como

    saber a qualidade dos meus testes? meus testes?
  18. Dúvida #10 Dúvida #10 Eu sou uma fraude, será que

    Eu sou uma fraude, será que só eu não consigo testar? só eu não consigo testar?
  19. Dúvida #11 Dúvida #11 Além do código, preciso Além do

    código, preciso testar mais alguma coisa? testar mais alguma coisa?
  20. Logs Logs Health Check de serviços Health Check de serviços

    Dependências Dependências Fluxos e Artefatos Fluxos e Artefatos
  21. Dúvida #12 Dúvida #12 Como mostrar a importância Como mostrar

    a importância dos testes para quem não é dos testes para quem não é de tecnologia? de tecnologia?
  22. Referências Referências [Software Testing](https://en.wikipedia.org/wiki/Software_testing ) [Testing References](http://www.testingreferences.com/testinghistory.php ) [The Different

    Types of Software Testing](https://www.atlassian.com/continuous- delivery/software-testing/types-of-software-testing) [Testes Unitários: Mocks, Stubs, Spies e Todas Essas Palavras Difíceis] (https://medium.com/trainingcenter/testes-unit%C3%A1rios-mocks-stubs-spies-e- todas-essas-palavras-dif%C3%ADceis-f2765ac87cc8) [Mocks Aren't Stubs](https://martinfowler.com/articles/mocksArentStubs.html)