Tipos de testes

Mike Cohn (um dos contribuidores na criação do Scrum) criou um conceito chamado "Pirâmide de testes", nele é possível visualizar três tipos mais comuns de testes de software: Os testes de unidade são a base, depois os testes de serviço e por fim os testes de interface.

Existem diversos tipos de testes e precisamos escolher quais atendem as nossas necessidades.

Podemos construir a pirâmide usando os seguintes tipos de testes:

* Testes de unidades (unit)
* Testes de integração (service)
* Testes de aceitação (ui)

Testes de unidade

Teste cujo o objetivo é um "pedaço do código", são rápidos e fáceis de debugar. Testes de unidade geralmente são os primeiros testes que escrevemos, eles devem testar cada unidade do nosso código.

Ex:

  • Testar se uma função retorna o valor esperado
  • Testar se uma classe possui os atributos que esperamos

Testes de integração

São testes que geralmente garantem que nosso código está corretamente integrado com serviços externos que utilizamos. São mais lentos que os testes de unidade e podem depender de recursos externos.

Ex:

  • Testar se estamos mandando os valores corretos para uma API
  • Testar se nosso serviço de mensagens está sendo chamado corretamente

Testes de aceitação

São testes end-to-end, geralmente utilizando ferramentas como Selenium ou Jasmine. São testes que não conhecem como nosso código funciona (Black box), são baseados em ações de usuários e tentam simular fluxos importantes do nosso software.

Ex:

  • Testar se o usuário consegue realizar um cadastro pelo nosso formulário online
  • Testar se o usuário consegue navegar pelo nosso site utilizando o novo menu

results matching ""

    No results matching ""