Visão Geral
Bem-vindo ao desafio técnico de QA UI (Quality Assurance de Interface)
da Novigi Solution. O objetivo é validar sua capacidade de
automatizar fluxos críticos de interface no site
https://sauce-demo.myshopify.com/.
Fluxos de Compra
Automatize cenários de navegação, busca de produto, carrinho e checkout.
Testes E2E
Crie testes de ponta a ponta com validações confiáveis e legíveis.
Documentação
Registre estratégia, evidências de falhas e melhorias sugeridas para o fluxo.
Objetivos
O que será avaliado durante a correção do desafio:
Capacidade de cobrir jornadas principais e cenários de exceção da interface.
Boas práticas, padrão de projeto para automação e reutilização de componentes.
Baixa flakiness, esperas explícitas bem aplicadas e seletores robustos.
README claro com setup, execução, estratégia e riscos encontrados.
Requisitos Obrigatórios
- Linguagem principal: Java
- Framework principal: Selenium ou Playwright
- Cobrir ao menos 5 cenários end-to-end da loja
- Executar localmente via comando único (Maven ou Gradle)
- Código final na branch main
- README com setup, estratégia e achados
Bônus
Relatório de Execução
Gerar relatório com status por cenário e evidências de falha.
+PontosPipeline CI
Executar os testes automaticamente em pipeline e publicar relatórios.
+PontosRequisitos Técnicos
Pré-requisitos
Java 11+
JDK instalado e variáveis de ambiente configuradas.
Maven ou Gradle
Gerenciador de dependências para build e execução dos testes.
Git
Versionamento do projeto com histórico limpo e commits coerentes.
Navegador
Chrome ou Chromium atualizado para execução local/headless.
Stack Sugerida
UI Automation: Selenium WebDriver ou Playwright (Java)
Test Framework: JUnit 5 ou TestNG
Build Tool: Maven ou Gradle
Reporting: Allure, Surefire ou equivalente
Fluxos e Cenários UI
Site alvo: https://sauce-demo.myshopify.com/
E2E-02 Página de Produto e Variantes
Objetivo: Validar exibição de informações do produto e seleção de opções.
Validações mínimas
- Abrir detalhes de um produto
- Validar nome, preço e botão de compra
- Selecionar variante (quando aplicável)
- Garantir atualização do estado visual após seleção
E2E-03 Adição e Gestão de Carrinho
Objetivo: Validar operações principais do carrinho.
Validações mínimas
- Adicionar produto ao carrinho
- Validar quantidade e subtotal
- Alterar quantidade de item
- Remover item e validar carrinho vazio (quando aplicável)
E2E-04 Fluxo de Checkout
Objetivo: Verificar preenchimento de dados e progressão do checkout.
Validações mínimas
- Ir do carrinho para checkout
- Preencher dados obrigatórios com massa válida
- Validar mensagens, bloqueios e avanços de etapa
- Registrar resultado final do fluxo executado
NEG-01 Casos de Exceção
Objetivo: Garantir comportamento correto para entradas inválidas e falhas de uso.
Validações mínimas
- Tentar checkout sem campos obrigatórios
- Validar mensagens de erro visíveis ao usuário
- Simular ação inválida de carrinho e validar bloqueio
- Garantir que o teste falha com diagnóstico claro quando quebrar
Como Entregar o Desafio
Crie o repositório
Crie repositório público com estrutura clara de testes UI.
Implemente os testes
Automatize os cenários propostos com Java + Selenium ou Playwright.
Documente
Adicione README com setup, execução, plano, bugs e melhorias.
Push para main
Suba o código final na branch main.
README deve conter
- Descrição do Projeto: Escopo e abordagem de automação UI
- Como Executar: Passo a passo local e pre-requisitos
- Estratégia de Teste: Cenários, riscos e critérios
- Bugs Encontrados: Lista com evidência e impacto
- Melhorias Sugeridas: Oportunidades técnicas e funcionais
- Stack Utilizada: Versões e dependências
Exemplo de execução
mvn clean install
# Executar todos os testes UI
mvn test -Dgroups=@ui
# Executar smoke suite
mvn test -Dgroups=@smoke
Dúvidas?
Se tiver dúvidas sobre o desafio, entre em contato com o time de Recursos Humanos da Novigi Solution.
Mostre sua melhor estratégia de automação!