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")