Como testamos

Todo produto deste site é executado antes de ser vendido. Esta página explica como, e com o que cada um é verificado.

O método

  1. Ambiente limpo. Os testes rodam em containers novos (Debian 12), então nada depende da máquina de quem desenvolve.
  2. Serviços reais. Caddy de verdade, PostgreSQL 15 de verdade, restic de verdade, um sshd e um cliente ssh reais, systemd como PID 1 e um firewall real com tráfego vindo de um segundo container.
  3. Casos de falha. Um banco corrompido, um repositório errado, uma release quebrada, uma release que cai ao iniciar, um disco cheio, um OOM kill, uma assinatura vencida, adulterada ou reutilizada em replay.
  4. Números com o ambiente. Carga, hardware e critério de contagem aparecem ao lado de cada medição, e resultados que variam entre execuções são informados como uma faixa.
  5. Um comando para refazer. Cada produto traz o próprio harness de testes e a saída da última execução.

Com o que cada produto é verificado

ProdutoVerificado com
VPS Deploy & Backup Kit59 checks em container: backups e restaurações com SQLite e Postgres, deploys e rollback sob 20 requisições por segundo pelo Caddy de verdade, alertas, restic via SFTP
Go Webhook Receiver Starter41 testes com o race detector, o vetor de resposta conhecida do Standard Webhooks, throughput medido em um notebook, requisições reais assinadas contra o binário compilado
Small App on One VPS handbookCada script e cada capítulo em containers limpos, um drill de recuperação cronometrado, casos de falha
Go on One VPS handbookUm serviço de referência com 85 testes sob o race detector, 60 blocos de código do livro conferidos contra o código-fonte, o binário real com sinais reais, o hardening lido de volta de uma unit do systemd em execução, o experimento com GOMEMLIMIT
Postgres PITR Kit122 checks no PostgreSQL 15 e de novo no 17, um drill de destruir e restaurar com linhas e checksums idênticos, recusas diante de lacuna no WAL e de alvos inseguros, um arquivo local e um via SFTP
Go + systemd Deploy Kit101 checks, 20 requisições por segundo pelo Caddy em todos os cenários, três execuções de cada, alertas
Go CLI Release Kit183 checks: release snapshot, recusas do instalador, comparação de build reproduzível, geradores de Homebrew e Scoop, actionlint