Testes de Interface

Agenda

  • Conceitos de testes

  • Tecnologias utilizadas (pré-requisitos)

  • Protractor

Testes - Introdução

Qualidade de testes

  • O que é um bom teste

Caixa branca - Características

  • Necessitam conhecimento do código

  • Testes unitários e de integração

  • Mais rápidos (quando bem escritos)

  • Desenvolvidos antes do código (Sim!)

Caixa branca - Objetivos

  • Testar instruções, métodos de maneira individual

  • Execuções condicionais (Branches)

  • Saídas esperadas

  • Brechas de segurança

Caixa preta - Características

  • Sem referência à estrutura do sistema

  • Teste de ponta a ponta

  • Mais custosos (a implementar e executar)

  • Mais frágeis

Caixa preta - Objetivos

  • Funcionalidades faltando ou incorretas

  • Erros de interface

  • Erros em estrutura de dados e acesso ao banco de dados

  • Erros de comportamento ou de performance

  • Erros de inicialização e de finalização

Caixa branca vs Caixa preta

white black test

Pirâmide de testes

agile testing pyramid

Testes - Importante !

Não testar somente o caminho feliz!

Pré-requisitos

@angular, html, javascript

Seletores CSS

Usados em docs HTML, permitem selecionar por:

  • Tag

  • Classe

  • Id

  • Atributos

  • Seletores universais (*)

X-path

Karma e Yasmine

Protractor

Introdução

Configuração (selinium.js)

# Servidor de teste
# Driver

Escrevendo um teste

Executando testes

Elementos

# Selecionando elementos
    # angular
    # selectors
# Interagindo com elementos

Padrão page

Pratica