Skip to content
Rosangela Mendes edited this page Sep 12, 2017 · 2 revisions

Testes estáticos

O desenvolvimento deve acontecer praticando TDD, por isso, a importância da descrição deste tipo de teste.

Testes de "caixa-branca", que se tem acesso ao código fonte e que não precisam executar a aplicação para serem executados.

Estágio(s) de Teste

  • Teste Unitário

    • Tipo
      • Estrutural/Caixa Branca
      • Funcional
    • Implementação
      • Automático
    • Objetivo
      • Validar a menor parte de um sistema de forma isolada, para garantir que funcione exatamente como é esperado.
      • Buscar por práticas ruins, erros de sintaxe e falhas de segurança.
  • Testes integração entre componentes

    • Tipo
      • Estrutural/Caixa Branca
      • Funcional
    • Implementação
      • Automático
    • Objetivo
      • Validam se comunicação entre dois ou mais componentes está funcionando corretamente. Usaremos a abordagem de containers, para garantir que a integração entre eles funcione exatamente como é esperado.

Ferramentas utilizadas

  • Estlint:
    • Define o padrão de desenvolvimento de código, com regras que devem ser seguidas na escrita;
    • As regras são validadas a cada PR..?
  • Jester e Enzyme:
    • Jest como framework de testes para JS e Enzyme para auxiliar nos testes em componentes React;
  • Codeclimate:
    • Avalia a cobertura de testes em relação ao código fonte escrito e existente.

Testes dinamicos

Testes de "caixa-preta", onde não se tem acesso ao código fonte e a aplicação precisa ser executada para que a validação aconteça.

Estágio(s) de Teste

  • Teste de Sistema

    • Tipo
      • Exploratório
      • Funcional
    • Implementação
      • Manual
    • Objetivo
      • Acontecem na camada da interface de usuário e normalmente envolvem todas as camadas da aplicação testada para validar um cenário de negócio.
      • Realizar testes exploratórios visando identificar possíveis problemas nas implementações (ou até mesmo nas definições) antes da liberação. Deve ser validada a funcionalidade como um todo, seus critérios de aceite e se fazem sentido junto com o resto da aplicação, então, deve ser validado padrão de navegação, comportamentos, identidade visual, etc.
  • Teste de Aceitação (Homologação)

    • Tipo
      • Funcional
    • Implementação
      • Manual

Vale formalizar que não serão validadas as ferramentas, bibliotecas e APIs de terceiros que o projeto utiliza, como por exemplo, componente de mapa.

Quanto a testes funcionais, por enquanto, serão realizados no ambiente de dev devido a minimização de ambientes, mas, vale lembrar que assim que possível a criação de um segundo ambiente, estes testes devem ser rodados neste outro ambiente mais confiável. Deve-se considerar a inclusão no pipeline do CI. ;)

Clone this wiki locally