Functional Testing (English)
中文版: See skill functional-testing.
Prompt: this directory’s prompts/functional-testing_EN.md.
When to Use
- User mentions functional testing, functional test cases, functional test plan
- Need to design functional test strategy, cases, or plan from requirements/specs
- Trigger: e.g. “Design functional test cases for the following requirements” or “Create a functional test plan”
Output Format Options
This skill defaults to Markdown (Standard-version template). To get another format, add one of the following at the end of your request:
| Format | Description | How to request (example) |
|---|---|---|
| Markdown | Default; good for reading and version control | No extra instruction |
| Excel | Tab-separated, paste into Excel | “Please output as tab-separated table for pasting into Excel” |
| CSV | Comma-separated, header row first | “Please output as CSV” |
| JSON | For tooling/parsing | “Please output as JSON” |
Details and examples: output-formats.md in this directory.
How to Use
- Open the relevant file in this directory's
prompts/and copy the content below the dashed line. - Append your requirements and context (business flow, environment, constraints, acceptance criteria).
- If you need non-Markdown output, append the request sentence from
output-formats.mdat the end.
Reference Files
- prompts/functional-testing_EN.md — Functional testing Standard-version prompt
- output-formats.md — Markdown / Excel / CSV / JSON request instructions
Code Examples
This skill provides the following real-world code examples:
- Playwright Login Testing - Complete login functionality test suite
- 14 test cases - Coverage: functionality, accessibility, security - Includes best practices and troubleshooting
- Cypress Form Testing (Coming soon)
- Selenium Navigation Testing (Coming soon)
See examples directory for more examples.
Common Pitfalls
- ❌ Skip requirements analysis and write cases directly → ✅ Use requirements-analysis skill first to analyze requirements and identify test points
- ❌ Only test normal scenarios → ✅ Cover exception scenarios, boundary values, and error handling
- ❌ Unclear case descriptions → ✅ Use clear steps and expected results to ensure reproducibility
- ❌ Ignore accessibility testing → ✅ Include keyboard navigation, screen reader validation
- ❌ Hardcode test data → ✅ Use test data management strategy for maintainability
Best Practices
- Test Design
- Use equivalence partitioning and boundary value analysis - Follow AAA pattern (Arrange-Act-Assert) - Keep tests independent, avoid dependencies
- Element Location
- Prioritize data-testid attributes - Avoid volatile CSS class names - Use semantic locators
- Assertion Strategy
- Use multiple specific assertions rather than single vague assertion - Verify key business logic - Include user experience validation
- Maintainability
- Use Page Object Model design pattern - Extract reusable test utility functions - Keep test code clean
- Execution Efficiency
- Run independent tests in parallel - Use appropriate wait strategies - Avoid unnecessary delays
Troubleshooting
Detailed troubleshooting steps were moved to references/troubleshooting.md. Load it on demand to keep the main skill concise.
Target Audience
- QA engineers and developers executing this testing domain in real projects
- Team leads who need structured, reproducible testing outputs
- AI users who need fast, format-ready deliverables for execution and reporting
Not Recommended For
- Pure production incident response without test scope/context
- Decisions requiring legal/compliance sign-off without expert review
- Requests lacking minimum inputs (scope, environment, expected behavior)
Critical Success Factors
- Provide clear scope, environment, and acceptance criteria before generation
- Validate generated outputs against real system constraints before execution
- Keep artifacts traceable (requirements -> test points -> defects -> decisions)
Output Templates and Parsing Scripts
- Template directory:
output-templates/
- template-word.md (Word-friendly structure) - template-excel.tsv (Excel paste-ready) - template-xmind.md (XMind-friendly outline) - template-json.json - template-csv.csv - template-markdown.md
- Parser scripts directory:
scripts/
- Parse (generic): parse_output_formats.py - Parse (per-format): parse_word.py, parse_excel.py, parse_xmind.py, parse_json.py, parse_csv.py, parse_markdown.py - Convert (generic): convert_output_formats.py - Convert (per-format): convert_to_word.py, convert_to_excel.py, convert_to_xmind.py, convert_to_json.py, convert_to_csv.py, convert_to_markdown.py - Batch convert: batch_convert_templates.py (outputs into artifacts/)
Examples:
python3 scripts/parse_json.py output-templates/template-json.json
python3 scripts/parse_markdown.py output-templates/template-markdown.md
python3 scripts/convert_to_json.py output-templates/template-markdown.md
python3 scripts/convert_output_formats.py output-templates/template-json.json --to csv
python3 scripts/batch_convert_templates.py --skip-same