跳到正文
cccskills
免费在 GitHub 公开

backend-manual-testing

Use when the task touches a backend API, database or worker - booting it from the task branch, driving real requests and verifying side effects (DB rows, outbound calls, logs) as evidence

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Backend Manual Testing

Overview

Manual verification of a backend task means booting the real service (and its worker, if the repo has one) from the task branch and executing your scenario plan against it. The scenario plan comes first and comes from the task description and acceptance criteria alone (scenario-plan-first) — you never derive cases from the diff or the source.

Preconditions: case matrix recorded with record_test_cases (scenario-plan-first); environment chosen per test-environment-selection (local by default — side effects are only observable there — else the repository's stage deploy target; never prod).

Booting in the workspace

  1. Learn how the project runs — in this order: search_memory (scope=project) for a boot recipe from an earlier round, get_project_brief for the components/commands/ports, the repository's build_command/test_command/verify_command settings, README / Makefile / docker-compose / example env files, and any comment the developer left (a clean run leaves none). list_links shows what this component talks to — the side effects you'll need to verify and the dependencies to stub. Do not guess ports, flags, or env vars when the project declares them.
  2. Provision dependencies. Database and other infrastructure run as disposable containers when a container runtime (podman/docker) is available; run the project's real migrations and a minimal seed. External third-party services are stubbed so failure scenarios are drivable (test-data-and-stubs).
  3. Start the processes: the API server, and every worker/consumer process the repo defines (see worker-job-testing). Keep their logs streaming to a per-task scratch file: QA=${TMPDIR:-/tmp}/tt-<task-key>/qa; mkdir -p "$QA"; ... > "$QA/api.log" 2>&1 &.
  4. Smoke check before scenarios: health endpoint answers, migrations applied, worker connected. A failed boot is itself a finding — capture the exact error output.

Executing scenarios

For each scenario in the plan, in order:

  • Drive the real surface: curl/httpie against the running API (api-contract-testing). Record the exact request and the exact response — status, body, headers that matter.
  • Verify side effects, not just responses: the DB row that should exist (psql -c "select ..."), the outbound call that should have been made (the stub's received-requests log), the file/event that should have been produced. A 200 with the wrong side effect is a FAIL.
  • Watch the logs during every scenario. Stack traces, ERROR/WARN lines, or panics count as findings even when the HTTP response looks correct.
  • Cover the implied cases too: invalid input, missing/wrong auth, empty state, duplicate submission (boundary-negative-testing).

Evidence and wrap-up

  • Every scenario gets PASS/FAIL with the executed command and observed output (qa-verify-before-verdict).
  • After targeted scenarios, run the regression sweep (regression-checklist).
  • Stop the processes you started; the workspace must not keep orphan servers running.
  • Automation is out of scope this iteration (manual-only-testing): the same scenarios are not added to a suite. A red existing pipeline (get_pipeline_status) is a finding; green is not a substitute for this round.
  • Once booting took real effort, save the recipe to project memory (save_memory, scope=project) so the next round on this repo starts faster.

Red Flags

  • You are about to form a verdict without having booted anything → that is code review, not QA.
  • The response is right but you never checked the DB/log/stub side → half-tested.
  • Boot instructions missing and you improvised a config → post what is missing instead; untestable is not done (test-environment-selection).

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1182026年10月21日 更新

查看 makifbaysal 的全部技能

报告此技能的问题