Cách chúng tôi test

Sản phẩm nào trên site này cũng được chạy trước khi bán. Trang này nói rõ chạy thế nào, và mỗi sản phẩm được kiểm tra bằng những gì.

Phương pháp

  1. Môi trường sạch. Test chạy trong container mới (Debian 12), nên không có gì phụ thuộc vào máy của người viết.
  2. Service thật. Caddy thật, PostgreSQL 15 thật, restic thật, sshd và ssh client thật, systemd làm PID 1, firewall thật với traffic từ một container thứ hai.
  3. Trường hợp lỗi. Database hỏng, sai repository, bản release lỗi, release chết ngay khi khởi động, ổ đĩa đầy, bị OOM kill, chữ ký quá hạn, bị sửa hoặc bị replay.
  4. Số đo kèm cách đo. Tải, phần cứng và cách đếm đều ghi ngay cạnh mỗi số đo, còn kết quả dao động giữa các lần chạy thì báo thành một khoảng.
  5. Một lệnh để chạy lại. Mỗi sản phẩm có sẵn test harness riêng và kết quả của lần chạy gần nhất.

Mỗi sản phẩm được kiểm tra bằng gì

Sản phẩmKiểm tra bằng
VPS Deploy & Backup Kit59 phép kiểm trong container: backup và restore với SQLite và Postgres, deploy và rollback dưới tải 20 request mỗi giây qua Caddy thật, cảnh báo, restic qua SFTP
Go Webhook Receiver Starter41 test với race detector, test vector chuẩn của Standard Webhooks, thông lượng đo trên laptop, request có ký thật gửi vào binary đã build
Small App on One VPS handbookMọi script và chương chạy trong container sạch, buổi diễn tập khôi phục có bấm giờ, các trường hợp lỗi
Go on One VPS handbookMột service tham chiếu với 85 test chạy dưới race detector, 60 khối code trong sách đối chiếu với source, binary thật với signal thật, các tùy chọn siết bảo mật đọc lại từ một systemd unit đang chạy, thí nghiệm GOMEMLIMIT
Postgres PITR Kit122 phép kiểm trên PostgreSQL 15 rồi lặp lại trên 17, buổi diễn tập phá hủy rồi restore với số dòng và checksum khớp, từ chối khi WAL bị đứt quãng hoặc mục tiêu không an toàn, một archive cục bộ và một archive SFTP
Go + systemd Deploy Kit101 phép kiểm, 20 request mỗi giây qua Caddy ở mọi kịch bản, mỗi kịch bản ba lần, cảnh báo
Go CLI Release Kit183 phép kiểm: snapshot release, các trường hợp script cài đặt từ chối, so sánh build lặp lại, trình sinh Homebrew và Scoop, actionlint