agentleFS
mejbaurbaharmejbaurbahar/fagun/skills/functional-testing/SKILL.md

functional-testing

Skill1 starsChanged 4 months agoMITView on GitHub

Use when verifying that a feature or user flow behaves according to requirements/specs — functional correctness testing of forms, workflows, business logic, and CRUD operations, whether done manually or via automation.

2 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify the system does what it's supposed to do, per requirements/acceptance criteria — as opposed to non-functional concerns (performance, …

    line 9
  2. Distinctive:

    Test abandoning at each step and resuming.

    line 34
  3. Distinctive:

    Test going back a step and changing an earlier answer — does downstream state update or go stale?

    line 35
  4. Distinctive:

    Test the flow twice in a row without refresh (session/state leakage between runs).

    line 36
  5. Distinctive:

    Verify the final committed state server-side matches what the wizard displayed.

    line 37
  6. Distinctive:

    Don't trust the UI as the oracle.

    line 40
  7. Very specific:

    Use Claude in Chrome or Chrome DevTools MCP for live DOM/network verification (see the claude-in-chrome skill).

    line 45

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Functional Testing

Purpose

Verify the system does what it's supposed to do, per requirements/acceptance criteria — as opposed to non-functional concerns (performance, security, accessibility, which have their own skills).

Workflow

  1. Extract acceptance criteria from the spec/ticket. If none exist, derive them from the UI/PRD and confirm with the user before testing against assumptions.
  2. Map the happy path first — the primary flow the feature exists for.
  3. Enumerate alternate flows — every branch, conditional, optional field, toggle.
  4. Enumerate negative flows — invalid input, missing required fields, unauthorized actions, expired tokens.
  5. Cross-check business rules, not just UI behavior: does a discount actually apply to the order total in the DB, not just render a strikethrough price?

CRUD feature checklist

For any Create/Read/Update/Delete surface:

  • Create: required-field validation, duplicate handling, default values, success feedback, record actually persisted (verify via API/DB, not just toast message).
  • Read: pagination edges (page 0, last page, empty list), sorting/filtering combinations, stale-data-after-mutation.
  • Update: partial updates, concurrent-edit conflicts, optimistic UI vs. actual persisted state, validation re-applied on edit.
  • Delete: soft vs hard delete, cascading effects (does deleting a parent orphan children?), confirmation dialogs, undo if offered, permissions.

Form testing checklist

  • Required vs optional field enforcement, client-side AND server-side (client validation is not security or correctness).
  • Field-level constraints: min/max length, type coercion, format (email, phone, date locale).
  • Submit button state (disabled during submission — prevents double-submit bugs).
  • Error message accuracy — does it point to the right field, in plain language?
  • Autosave/draft behavior if present.
  • Tab order and keyboard-only submission.

Multi-step workflow testing (checkout, onboarding, wizards)

  • Test abandoning at each step and resuming.
  • Test going back a step and changing an earlier answer — does downstream state update or go stale?
  • Test the flow twice in a row without refresh (session/state leakage between runs).
  • Verify the final committed state server-side matches what the wizard displayed.

Business logic verification

Don't trust the UI as the oracle. Cross-check calculated values (totals, discounts, tax, permissions-derived visibility) against:

  • API response payloads (use Chrome DevTools MCP / Claude in Chrome network tab, or curl the endpoint directly).
  • Database state when accessible.

Tooling in this harness

  • Use Claude in Chrome or Chrome DevTools MCP for live DOM/network verification (see the claude-in-chrome skill).
  • For flows worth repeating, promote to the [[test-automation]] skill instead of re-running manually every time.
  • Log defects via [[bug-reporting]].

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.