Sobes.tech
Middle

Que tipos de frameworks de teste de interface de utilizador conheces?

sobes.tech IA

Resposta da IA

  • Framework Orientado a Dados: Os dados de teste estão separados da lógica de teste. Os testes são executados com diferentes conjuntos de dados provenientes de fontes externas (Excel, bases de dados, XML). Facilita testes com múltiplos cenários de entrada.
  • Framework Orientado por Palavras-Chave: As ações e objetos envolvidos no teste são representados por "palavras-chave". Os testes são construídos combinando essas palavras-chave, frequentemente em forma tabular. Adequado para não técnicos.
  • Framework Híbrido: Combinação de duas ou mais abordagens (frequentemente Data-Driven e Keyword-Driven) para máxima conveniência, flexibilidade e escalabilidade. O tipo mais comum.
  • Page Object Model (POM): Padrão de design onde cada elemento da interface do usuário (página ou componente) é representado por uma classe separada. A interação com os elementos UI ocorre através dos métodos dessas classes. Melhora a legibilidade, manutenção e reutilização do código de testes.
// Exemplo de Page Object Model
public class LoginPage {
    WebElement usernameField;
    WebElement passwordField;
    WebElement loginButton;

    public LoginPage(WebDriver driver) {
        // Inicialização dos elementos
    }

    public void enterCredentials(String username, String password) {
        usernameField.sendKeys(username);
        passwordField.sendKeys(password);
    }

    public void clickLogin() {
        loginButton.click();
    }
}
  • Desenvolvimento Orientado a Comportamento (BDD): Foca no comportamento do sistema. Os testes são escritos em linguagem simples e compreensível (Gherkin), que descreve passos e resultados esperados do ponto de vista do usuário. Permite colaboração entre QA, desenvolvedores e analistas de negócio. Ferramentas: Cucumber, SpecFlow.
// Exemplo de Gherkin (BDD)
Feature: Login

  Scenario: Login bem-sucedido com dados corretos
    Given o usuário está na página de login
    When o usuário insere "valid_user" no campo "login"
    And o usuário insere "valid_password" no campo "senha"
    And o usuário clica no botão "Entrar"
    Then o usuário é redirecionado para a página principal