Desafio Técnico de QA UI

Demonstre suas habilidades em automação de interface de usuário no e-commerce de referência.

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:

Cobertura de Cenários UI

Capacidade de cobrir jornadas principais e cenários de exceção da interface.

Qualidade do Código

Boas práticas, padrão de projeto para automação e reutilização de componentes.

Estabilidade dos Testes

Baixa flakiness, esperas explícitas bem aplicadas e seletores robustos.

Clareza e Comunicação

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.

+Pontos

Pipeline CI

Executar os testes automaticamente em pipeline e publicar relatórios.

+Pontos

Requisitos 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

Language: Java
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-01 Home e Navegação Básica

Objetivo: Garantir que a home carrega corretamente e permite navegação principal.

Validações mínimas

  • Acessar a URL alvo com sucesso
  • Validar elemento principal visível (menu, logo ou banner)
  • Navegar para uma coleção/categoria
  • Retornar para a home sem erro de UI

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

# Instalar dependencias
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!