Sobes.tech
Junior

Consegues falar sobre testes de aceitação?

sobes.tech IA

Resposta da IA

O Teste de Aceitação (Acceptance Testing) é o nível de teste em que se verifica a prontidão do produto para lançamento (decisão go/no-go).

Características principais e objetivos:

  • Verificação do cumprimento dos requisitos do cliente: Avalia-se a funcionalidade, desempenho, facilidade de uso e segurança do ponto de vista do utilizador final ou do cliente.
  • Participação das partes interessadas: Realizado por clientes, analistas de negócios, utilizadores finais ou seus representantes.
  • Tipos:
    • Teste alfa: Realizado pela equipa interna (frequentemente, mas nem sempre, na presença do cliente) no ambiente do desenvolvedor ou do testador.
    • Teste beta: Realizado por utilizadores reais no seu ambiente de trabalho real.
  • Critérios de aceitação: Condições claramente definidas e mensuráveis que devem ser cumpridas para que a funcionalidade seja considerada aceite. Geralmente formuladas na forma de histórias de utilizador ou cenários.
    # Exemplo de cenário com Cucumber
    Cenário: Login bem-sucedido
        Dado que o utilizador está na página de login
        Quando o utilizador insere credenciais válidas
        E clica no botão de login
        Então o utilizador deve ser redirecionado para o painel de controlo
    
  • Relação com outros níveis de teste: Realizado após o teste do sistema, quando o sistema como um todo foi testado e considerado estável.
  • Resultado: Decisão sobre se o produto atende às expectativas do cliente e está pronto para lançamento.

Ferramentas: Podem usar-se as mesmas ferramentas do teste do sistema (Selenium, Cypress, TestRail, etc.), mas também são frequentemente utilizados frameworks BDD (Cucumber, SpecFlow, Behave) para automatizar testes baseados em histórias de utilizador.

# Exemplo de implementação de passo do Cucumber em Python usando Selenium
from selenium.webdriver.common.by import By

@when('o utilizador insere credenciais válidas')
def step_impl(context):
    context.driver.find_element(By.ID, "username").send_keys("testuser")
    context.driver.find_element(By.ID, "password").send_keys("password123")