Antes de testar um sistema, é preciso fazê-lo funcionar no seu computador. Este roteiro leva você do projeto base até o sistema aberto no navegador.

GitHub - jocile/gestao-produtos-base: TDD repositório-base do sistema Gestão de Produtos para atividades de testes · GitHub

⬆️ uc3.01 - Plano de teste e testes manuais

Ficha do roteiro

  • Ambiente: computador local (VS Code e terminal)
  • Tempo estimado: 40 minutos
  • Pré-requisitos: Python 3.10 ou superior e VS Code instalados
  • Resultado esperado: o sistema Gestão de Produtos aberto no navegador, com login funcionando

Passo 1: conferir o Python

Abra o terminal e execute:

python --version

O resultado deve ser Python 3.10 ou superior. Se aparecer um erro ou uma versão antiga, tente python3 --version (Linux e macOS) ou py --version (Windows). Use o comando que funcionar nos próximos passos.

Passo 2: extrair o repositório-base

  1. Baixe e extraia em uma pasta de fácil acesso (por exemplo, Documentos).
  2. Abra o VS Code, escolha Arquivo > Abrir Pasta e selecione a pasta extraída.
  3. Abra o terminal integrado: Terminal > Novo Terminal.

Cuidado com a pasta dentro da pasta

Ao extrair, às vezes o sistema cria gestao-produtos/gestao-produtos/. Abra no VS Code a pasta que contém diretamente o arquivo app.py.

Confira o conteúdo da pasta:

ls          # Linux e macOS
dir         # Windows

Você deve ver, entre outros, app.py, requirements.txt, as pastas views e static, e a pasta tests.

Passo 3: criar o ambiente virtual

O ambiente virtual isola as bibliotecas deste projeto das demais instaladas no computador.

python -m venv .venv

Ative o ambiente:

SistemaComando
Windows (PowerShell).venv\Scripts\Activate.ps1
Windows (Prompt de Comando).venv\Scripts\activate.bat
Linux e macOSsource .venv/bin/activate

Quando der certo, o terminal mostra (.venv) no início da linha.

Erro "a execução de scripts foi desabilitada" (Windows)

No PowerShell, execute uma vez Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, confirme e ative o ambiente de novo. Se preferir, use o Prompt de Comando.

Passo 4: instalar as dependências

Com o ambiente ativo:

pip install -r requirements.txt

Confira o que foi instalado:

pip list

Devem aparecer, no mínimo, Flask e pytest.

Passo 5: definir o segredo da aplicação

O sistema assina o cookie de login com um segredo que não fica escrito no código: ele vem de uma variável de ambiente.

Linux e macOS:

export APP_SECRET=$(python -c "import secrets; print(secrets.token_hex(32))")

Windows (PowerShell):

$env:APP_SECRET = python -c "import secrets; print(secrets.token_hex(32))"

A variável vale só para este terminal

Se você fechar o terminal, repita este passo. Sem a variável, o sistema pode gerar um segredo temporário, e o login cai a cada reinício.

Passo 6: criar o banco e o usuário de teste

Se o repositório-base já trouxer o arquivo gestao_produtos.db, pule para o passo 7. Caso contrário, siga as instruções do docente para criar o banco, e depois cadastre um usuário:

python criar_usuario.py

Informe um nome de usuário e uma senha de pelo menos 8 caracteres. Anote os dois: você vai usá-los nos testes.

Passo 7: executar o sistema

python app.py

O terminal mostrará o endereço do servidor (algo como http://127.0.0.1:5000). Copie esse endereço, abra no navegador e faça login.

Resultado esperado

  • A tela de login aparece.
  • Depois de entrar, é possível abrir a lista de produtos.
  • O terminal continua aberto, mostrando cada requisição que você faz. Para encerrar o servidor, use Ctrl + C.

Erros comuns

SintomaCausa provávelComo corrigir
python não é reconhecidoPython fora do PATHUse py ou python3, ou reinstale marcando “Add Python to PATH”
No module named 'flask'Ambiente virtual não ativadoAtive o .venv e rode o pip install de novo
No such file: requirements.txtTerminal na pasta erradaEntre na pasta que contém o app.py
Address already in useOutro programa usa a portaEncerre o outro programa ou avise o docente
no such tableBanco ausente ou vazioConfira o passo 6
Login sempre recusadoUsuário não cadastrado ou senha diferenteCadastre outro usuário com criar_usuario.py
A sessão cai a cada reinícioAPP_SECRET não definidoRepita o passo 5 antes de executar

Registre cada obstáculo

Se algo deu errado e você resolveu, anote o que aconteceu e como corrigiu. Isso é um registro de teste da instalação e será útil mais adiante.

Checklist de verificação

  • python --version mostra 3.10 ou superior
  • O terminal mostra (.venv) no início da linha
  • pip list mostra Flask e pytest
  • A variável APP_SECRET foi definida
  • Existe pelo menos um usuário cadastrado
  • O sistema abre no navegador e o login funciona

⬆️ Volte para uc3.01 - Plano de teste e testes manuais e siga para a exploração do sistema.