qa-skills 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +168 -0
- package/bin/cli.js +42 -0
- package/dist/agents/registry.d.ts +5 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +101 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/types.d.ts +9 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/dependencies.d.ts +21 -0
- package/dist/dependencies.d.ts.map +1 -0
- package/dist/dependencies.js +125 -0
- package/dist/dependencies.js.map +1 -0
- package/dist/installer.d.ts +25 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +437 -0
- package/dist/installer.js.map +1 -0
- package/dist/scaffold.d.ts +27 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +182 -0
- package/dist/scaffold.js.map +1 -0
- package/package.json +40 -0
- package/skills/qa-accessibility-test-writer/SKILL.md +127 -0
- package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +349 -0
- package/skills/qa-accessibility-test-writer/references/best-practices.md +184 -0
- package/skills/qa-accessibility-test-writer/references/wcag-tests.md +331 -0
- package/skills/qa-api-contract-curator/SKILL.md +104 -0
- package/skills/qa-api-contract-curator/references/breaking-changes.md +363 -0
- package/skills/qa-api-contract-curator/references/openapi-structure.md +404 -0
- package/skills/qa-browser-data-collector/SKILL.md +132 -0
- package/skills/qa-browser-data-collector/references/data-collection-checklist.md +91 -0
- package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +113 -0
- package/skills/qa-bug-ticket-creator/SKILL.md +148 -0
- package/skills/qa-bug-ticket-creator/references/bug-report-format.md +149 -0
- package/skills/qa-bug-ticket-creator/references/severity-guide.md +81 -0
- package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +39 -0
- package/skills/qa-changelog-analyzer/SKILL.md +134 -0
- package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +138 -0
- package/skills/qa-changelog-analyzer/references/impact-mapping.md +120 -0
- package/skills/qa-clickup-integration/SKILL.md +166 -0
- package/skills/qa-clickup-integration/references/api-patterns.md +102 -0
- package/skills/qa-clickup-integration/references/field-mapping.md +71 -0
- package/skills/qa-codeceptjs-writer/SKILL.md +136 -0
- package/skills/qa-codeceptjs-writer/references/best-practices.md +207 -0
- package/skills/qa-codeceptjs-writer/references/config.md +255 -0
- package/skills/qa-codeceptjs-writer/references/patterns.md +285 -0
- package/skills/qa-coverage-analyzer/SKILL.md +166 -0
- package/skills/qa-coverage-analyzer/references/best-practices.md +142 -0
- package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +155 -0
- package/skills/qa-coverage-analyzer/references/tools.md +204 -0
- package/skills/qa-cypress-writer/SKILL.md +134 -0
- package/skills/qa-cypress-writer/references/assertions.md +121 -0
- package/skills/qa-cypress-writer/references/best-practices.md +82 -0
- package/skills/qa-cypress-writer/references/config.md +121 -0
- package/skills/qa-cypress-writer/references/patterns.md +170 -0
- package/skills/qa-data-factory/SKILL.md +126 -0
- package/skills/qa-data-factory/references/factory-patterns.md +164 -0
- package/skills/qa-data-factory/references/faker-guide.md +131 -0
- package/skills/qa-diagram-generator/SKILL.md +125 -0
- package/skills/qa-diagram-generator/references/c4-model.md +53 -0
- package/skills/qa-diagram-generator/references/charts.md +58 -0
- package/skills/qa-diagram-generator/references/class-diagram.md +85 -0
- package/skills/qa-diagram-generator/references/er-diagram.md +69 -0
- package/skills/qa-diagram-generator/references/flowchart.md +92 -0
- package/skills/qa-diagram-generator/references/from-screenshot.md +45 -0
- package/skills/qa-diagram-generator/references/gantt.md +49 -0
- package/skills/qa-diagram-generator/references/journey.md +50 -0
- package/skills/qa-diagram-generator/references/mindmap.md +75 -0
- package/skills/qa-diagram-generator/references/sequence.md +69 -0
- package/skills/qa-diagram-generator/references/state-diagram.md +56 -0
- package/skills/qa-discovery-interview/SKILL.md +182 -0
- package/skills/qa-discovery-interview/references/completeness-checklist.md +53 -0
- package/skills/qa-discovery-interview/references/conflict-patterns.md +101 -0
- package/skills/qa-discovery-interview/references/qa-categories.md +147 -0
- package/skills/qa-discovery-interview/templates/qa-brief-template.md +168 -0
- package/skills/qa-environment-checker/SKILL.md +142 -0
- package/skills/qa-environment-checker/references/dependency-matrix.md +101 -0
- package/skills/qa-environment-checker/references/health-checks.md +209 -0
- package/skills/qa-environment-checker/templates/env-readiness-template.md +64 -0
- package/skills/qa-flaky-detector/SKILL.md +153 -0
- package/skills/qa-flaky-detector/references/ci-analysis.md +140 -0
- package/skills/qa-flaky-detector/references/flaky-patterns.md +247 -0
- package/skills/qa-github-issues-enhanced/SKILL.md +175 -0
- package/skills/qa-github-issues-enhanced/references/issue-templates.md +425 -0
- package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +130 -0
- package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +188 -0
- package/skills/qa-httpx-writer/SKILL.md +138 -0
- package/skills/qa-httpx-writer/references/assertions.md +195 -0
- package/skills/qa-httpx-writer/references/best-practices.md +140 -0
- package/skills/qa-httpx-writer/references/config.md +212 -0
- package/skills/qa-httpx-writer/references/patterns.md +262 -0
- package/skills/qa-jest-writer/SKILL.md +131 -0
- package/skills/qa-jest-writer/references/assertions.md +125 -0
- package/skills/qa-jest-writer/references/best-practices.md +136 -0
- package/skills/qa-jest-writer/references/config.md +134 -0
- package/skills/qa-jest-writer/references/patterns.md +172 -0
- package/skills/qa-jira-integration/SKILL.md +135 -0
- package/skills/qa-jira-integration/references/api-patterns.md +143 -0
- package/skills/qa-jira-integration/references/field-mapping.md +79 -0
- package/skills/qa-jira-integration/references/xray-integration.md +85 -0
- package/skills/qa-jmeter-writer/SKILL.md +171 -0
- package/skills/qa-jmeter-writer/references/best-practices.md +157 -0
- package/skills/qa-jmeter-writer/references/config.md +204 -0
- package/skills/qa-jmeter-writer/references/patterns.md +242 -0
- package/skills/qa-junit5-writer/SKILL.md +157 -0
- package/skills/qa-junit5-writer/references/assertions.md +118 -0
- package/skills/qa-junit5-writer/references/config.md +97 -0
- package/skills/qa-junit5-writer/references/patterns.md +162 -0
- package/skills/qa-k6-writer/SKILL.md +155 -0
- package/skills/qa-k6-writer/references/best-practices.md +236 -0
- package/skills/qa-k6-writer/references/config.md +219 -0
- package/skills/qa-k6-writer/references/patterns.md +304 -0
- package/skills/qa-linear-integration/SKILL.md +137 -0
- package/skills/qa-linear-integration/references/api-patterns.md +249 -0
- package/skills/qa-linear-integration/references/field-mapping.md +121 -0
- package/skills/qa-locust-writer/SKILL.md +151 -0
- package/skills/qa-locust-writer/references/best-practices.md +126 -0
- package/skills/qa-locust-writer/references/config.md +170 -0
- package/skills/qa-locust-writer/references/patterns.md +235 -0
- package/skills/qa-manual-test-designer/SKILL.md +145 -0
- package/skills/qa-manual-test-designer/references/exploratory-charters.md +138 -0
- package/skills/qa-manual-test-designer/references/personas.md +146 -0
- package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +47 -0
- package/skills/qa-manual-test-designer/templates/test-case-template.md +31 -0
- package/skills/qa-mobile-test-writer/SKILL.md +144 -0
- package/skills/qa-mobile-test-writer/references/best-practices.md +214 -0
- package/skills/qa-mobile-test-writer/references/config.md +309 -0
- package/skills/qa-mobile-test-writer/references/patterns.md +304 -0
- package/skills/qa-nfr-analyst/SKILL.md +177 -0
- package/skills/qa-nfr-analyst/references/iso-25010-model.md +159 -0
- package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +202 -0
- package/skills/qa-nfr-analyst/references/wcag-checklist.md +184 -0
- package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +89 -0
- package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +48 -0
- package/skills/qa-orchestrator/SKILL.md +132 -0
- package/skills/qa-orchestrator/references/handoff-chains.md +105 -0
- package/skills/qa-orchestrator/references/pipeline-modes.md +115 -0
- package/skills/qa-orchestrator/references/scheduler-rules.md +84 -0
- package/skills/qa-pact-writer/SKILL.md +133 -0
- package/skills/qa-pact-writer/references/best-practices.md +100 -0
- package/skills/qa-pact-writer/references/config.md +135 -0
- package/skills/qa-pact-writer/references/patterns.md +161 -0
- package/skills/qa-plan-creator/SKILL.md +139 -0
- package/skills/qa-plan-creator/references/introduction-plan.md +43 -0
- package/skills/qa-plan-creator/references/migration-plan.md +44 -0
- package/skills/qa-plan-creator/references/onboarding-plan.md +46 -0
- package/skills/qa-plan-creator/references/performance-plan.md +44 -0
- package/skills/qa-plan-creator/references/regression-plan.md +45 -0
- package/skills/qa-plan-creator/references/release-plan.md +45 -0
- package/skills/qa-plan-creator/references/sprint-plan.md +44 -0
- package/skills/qa-plan-creator/references/test-plan.md +59 -0
- package/skills/qa-plan-creator/references/uat-plan.md +43 -0
- package/skills/qa-plan-creator/templates/checklist-template.md +36 -0
- package/skills/qa-plan-creator/templates/regression-checklist-template.md +49 -0
- package/skills/qa-plan-creator/templates/release-checklist-template.md +46 -0
- package/skills/qa-plan-creator/templates/test-plan-template.md +74 -0
- package/skills/qa-playwright-py-writer/SKILL.md +156 -0
- package/skills/qa-playwright-py-writer/references/best-practices.md +194 -0
- package/skills/qa-playwright-py-writer/references/config.md +195 -0
- package/skills/qa-playwright-py-writer/references/patterns.md +212 -0
- package/skills/qa-playwright-ts-writer/SKILL.md +151 -0
- package/skills/qa-playwright-ts-writer/references/assertions.md +109 -0
- package/skills/qa-playwright-ts-writer/references/best-practices.md +191 -0
- package/skills/qa-playwright-ts-writer/references/config.md +144 -0
- package/skills/qa-playwright-ts-writer/references/patterns.md +171 -0
- package/skills/qa-pytest-writer/SKILL.md +145 -0
- package/skills/qa-pytest-writer/references/assertions.md +149 -0
- package/skills/qa-pytest-writer/references/best-practices.md +97 -0
- package/skills/qa-pytest-writer/references/config.md +176 -0
- package/skills/qa-pytest-writer/references/patterns.md +251 -0
- package/skills/qa-qase-integration/SKILL.md +149 -0
- package/skills/qa-qase-integration/references/api-reference.md +354 -0
- package/skills/qa-qase-integration/references/ci-integration.md +196 -0
- package/skills/qa-qase-integration/references/field-mapping.md +157 -0
- package/skills/qa-requirements-generator/SKILL.md +152 -0
- package/skills/qa-requirements-generator/references/iso-29148-structure.md +153 -0
- package/skills/qa-requirements-generator/references/requirement-patterns.md +278 -0
- package/skills/qa-rest-assured-writer/SKILL.md +137 -0
- package/skills/qa-rest-assured-writer/references/best-practices.md +50 -0
- package/skills/qa-rest-assured-writer/references/config.md +124 -0
- package/skills/qa-rest-assured-writer/references/patterns.md +192 -0
- package/skills/qa-risk-analyzer/SKILL.md +158 -0
- package/skills/qa-risk-analyzer/references/impact-analysis.md +133 -0
- package/skills/qa-risk-analyzer/references/risk-factors.md +123 -0
- package/skills/qa-robot-framework-writer/SKILL.md +147 -0
- package/skills/qa-robot-framework-writer/references/best-practices.md +249 -0
- package/skills/qa-robot-framework-writer/references/config.md +204 -0
- package/skills/qa-robot-framework-writer/references/libraries.md +273 -0
- package/skills/qa-robot-framework-writer/references/patterns.md +216 -0
- package/skills/qa-security-test-writer/SKILL.md +123 -0
- package/skills/qa-security-test-writer/references/best-practices.md +155 -0
- package/skills/qa-security-test-writer/references/owasp-top10.md +331 -0
- package/skills/qa-security-test-writer/references/zap-config.md +258 -0
- package/skills/qa-selenium-java-writer/SKILL.md +143 -0
- package/skills/qa-selenium-java-writer/references/best-practices.md +59 -0
- package/skills/qa-selenium-java-writer/references/config.md +143 -0
- package/skills/qa-selenium-java-writer/references/patterns.md +170 -0
- package/skills/qa-selenium-py-writer/SKILL.md +150 -0
- package/skills/qa-selenium-py-writer/references/best-practices.md +175 -0
- package/skills/qa-selenium-py-writer/references/config.md +224 -0
- package/skills/qa-selenium-py-writer/references/patterns.md +255 -0
- package/skills/qa-shortcut-integration/SKILL.md +143 -0
- package/skills/qa-shortcut-integration/references/api-patterns.md +126 -0
- package/skills/qa-shortcut-integration/references/field-mapping.md +66 -0
- package/skills/qa-spec-auditor/SKILL.md +162 -0
- package/skills/qa-spec-auditor/references/audit-checklist.md +144 -0
- package/skills/qa-spec-auditor/references/drift-patterns.md +207 -0
- package/skills/qa-spec-writer/SKILL.md +143 -0
- package/skills/qa-spec-writer/references/gherkin-guide.md +253 -0
- package/skills/qa-spec-writer/references/specification-patterns.md +274 -0
- package/skills/qa-spring-test-writer/SKILL.md +170 -0
- package/skills/qa-spring-test-writer/references/best-practices.md +57 -0
- package/skills/qa-spring-test-writer/references/config.md +179 -0
- package/skills/qa-spring-test-writer/references/patterns.md +235 -0
- package/skills/qa-supertest-writer/SKILL.md +150 -0
- package/skills/qa-supertest-writer/references/assertions.md +192 -0
- package/skills/qa-supertest-writer/references/best-practices.md +102 -0
- package/skills/qa-supertest-writer/references/config.md +166 -0
- package/skills/qa-supertest-writer/references/patterns.md +242 -0
- package/skills/qa-task-creator/SKILL.md +142 -0
- package/skills/qa-task-creator/references/linking-patterns.md +127 -0
- package/skills/qa-task-creator/references/task-types.md +169 -0
- package/skills/qa-task-creator/templates/task-template.md +24 -0
- package/skills/qa-test-doc-compiler/SKILL.md +114 -0
- package/skills/qa-test-doc-compiler/references/agile-tailoring.md +220 -0
- package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +302 -0
- package/skills/qa-test-healer/SKILL.md +101 -0
- package/skills/qa-test-healer/references/diagnosis-patterns.md +142 -0
- package/skills/qa-test-healer/references/fix-strategies.md +177 -0
- package/skills/qa-test-reporter/SKILL.md +130 -0
- package/skills/qa-test-reporter/references/best-practices.md +162 -0
- package/skills/qa-test-reporter/references/iso-29119-reports.md +236 -0
- package/skills/qa-test-reporter/references/report-formats.md +287 -0
- package/skills/qa-test-reviewer/SKILL.md +142 -0
- package/skills/qa-test-reviewer/references/anti-patterns.md +268 -0
- package/skills/qa-test-reviewer/references/review-checklist.md +93 -0
- package/skills/qa-test-strategy/SKILL.md +133 -0
- package/skills/qa-test-strategy/references/entry-exit-criteria.md +176 -0
- package/skills/qa-test-strategy/references/risk-matrix.md +102 -0
- package/skills/qa-test-strategy/references/testing-types.md +143 -0
- package/skills/qa-testcase-from-docs/SKILL.md +161 -0
- package/skills/qa-testcase-from-docs/references/test-case-format.md +196 -0
- package/skills/qa-testcase-from-docs/references/test-design-techniques.md +126 -0
- package/skills/qa-testcase-from-docs/templates/test-case-template.md +31 -0
- package/skills/qa-testcase-from-ui/SKILL.md +109 -0
- package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +126 -0
- package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +146 -0
- package/skills/qa-testcase-from-ui/templates/test-case-template.md +31 -0
- package/skills/qa-visual-regression-writer/SKILL.md +175 -0
- package/skills/qa-visual-regression-writer/references/best-practices.md +154 -0
- package/skills/qa-visual-regression-writer/references/config.md +220 -0
- package/skills/qa-visual-regression-writer/references/patterns.md +213 -0
- package/skills/qa-vitest-writer/SKILL.md +141 -0
- package/skills/qa-vitest-writer/references/assertions.md +105 -0
- package/skills/qa-vitest-writer/references/best-practices.md +62 -0
- package/skills/qa-vitest-writer/references/config.md +127 -0
- package/skills/qa-vitest-writer/references/patterns.md +141 -0
- package/skills/qa-webdriverio-writer/SKILL.md +145 -0
- package/skills/qa-webdriverio-writer/references/best-practices.md +176 -0
- package/skills/qa-webdriverio-writer/references/config.md +240 -0
- package/skills/qa-webdriverio-writer/references/patterns.md +269 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa-nfr-analyst
|
|
3
|
+
description: Dedicated non-functional requirements analysis per ISO/IEC 25010 quality model covering performance, security, usability, reliability, maintainability, and portability.
|
|
4
|
+
output_dir: docs/nfr
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# QA NFR Analyst
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Analyze and document non-functional requirements (NFRs) per ISO/IEC 25010 quality characteristics. Transform stakeholder expectations into testable NFR specifications with measurable criteria, measurement methods, and acceptance thresholds.
|
|
12
|
+
|
|
13
|
+
## ISO 25010 Quality Characteristics
|
|
14
|
+
|
|
15
|
+
| Characteristic | Sub-Characteristics |
|
|
16
|
+
|----------------|---------------------|
|
|
17
|
+
| **Performance Efficiency** | Time behavior, resource utilization, capacity |
|
|
18
|
+
| **Security** | Confidentiality, integrity, non-repudiation, accountability, authenticity |
|
|
19
|
+
| **Usability** | Appropriateness recognizability, learnability, operability, user error protection, accessibility |
|
|
20
|
+
| **Reliability** | Maturity, availability, fault tolerance, recoverability |
|
|
21
|
+
| **Maintainability** | Modularity, reusability, analysability, modifiability, testability |
|
|
22
|
+
| **Portability** | Adaptability, installability, replaceability |
|
|
23
|
+
|
|
24
|
+
See `references/iso-25010-model.md` for full definitions and measurement examples.
|
|
25
|
+
|
|
26
|
+
## Defining Testable Criteria
|
|
27
|
+
|
|
28
|
+
For each characteristic, define:
|
|
29
|
+
|
|
30
|
+
1. **Criterion:** Specific, measurable statement (e.g., "API response time p95 ≤ 500ms")
|
|
31
|
+
2. **Measurement method:** How to verify (load test, static analysis, manual inspection)
|
|
32
|
+
3. **Target/threshold:** Acceptable value or range
|
|
33
|
+
4. **Environment:** Conditions under which measurement applies
|
|
34
|
+
|
|
35
|
+
### Example by Characteristic
|
|
36
|
+
|
|
37
|
+
| Characteristic | Testable Criterion | Measurement Method |
|
|
38
|
+
|----------------|-------------------|-------------------|
|
|
39
|
+
| Performance | p95 response time ≤ 500ms | k6/Locust load test |
|
|
40
|
+
| Security | No OWASP Top 10 findings | OWASP ZAP scan |
|
|
41
|
+
| Usability | WCAG 2.2 AA compliance | axe-core, manual audit |
|
|
42
|
+
| Reliability | 99.9% uptime | Monitoring over 30 days |
|
|
43
|
+
| Maintainability | Cyclomatic complexity ≤ 10 | SonarQube |
|
|
44
|
+
| Portability | Runs on Node 18+ | CI matrix build |
|
|
45
|
+
|
|
46
|
+
## Accessibility (WCAG 2.2)
|
|
47
|
+
|
|
48
|
+
Use `references/wcag-checklist.md` for the full success criteria checklist.
|
|
49
|
+
|
|
50
|
+
### Levels
|
|
51
|
+
|
|
52
|
+
- **Level A:** Minimum; required for basic accessibility
|
|
53
|
+
- **Level AA:** Common target; addresses major barriers
|
|
54
|
+
- **Level AAA:** Enhanced; highest conformance
|
|
55
|
+
|
|
56
|
+
### Key Checkpoints
|
|
57
|
+
|
|
58
|
+
- 1.1.1 Non-text content (alt text)
|
|
59
|
+
- 1.3.1 Info and relationships (semantic structure)
|
|
60
|
+
- 1.4.3 Contrast (minimum 4.5:1)
|
|
61
|
+
- 2.1.1 Keyboard (all functionality)
|
|
62
|
+
- 2.4.7 Focus visible
|
|
63
|
+
- 4.1.2 Name, role, value (ARIA)
|
|
64
|
+
|
|
65
|
+
## Security (OWASP WSTG)
|
|
66
|
+
|
|
67
|
+
Use `references/owasp-wstg-baseline.md` for baseline scenarios.
|
|
68
|
+
|
|
69
|
+
### Baseline Categories
|
|
70
|
+
|
|
71
|
+
| Category | Coverage |
|
|
72
|
+
|----------|----------|
|
|
73
|
+
| **Injection** | SQL, NoSQL, OS, LDAP, XSS |
|
|
74
|
+
| **Authentication** | Credential strength, lockout, MFA |
|
|
75
|
+
| **Session Management** | Token handling, timeout, fixation |
|
|
76
|
+
| **Access Control** | IDOR, privilege escalation, CORS |
|
|
77
|
+
| **Cryptography** | TLS, hashing, key management |
|
|
78
|
+
| **Error Handling** | Stack traces, info disclosure |
|
|
79
|
+
|
|
80
|
+
## Performance (SLA Template)
|
|
81
|
+
|
|
82
|
+
Use this template for SLA definitions:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Response Time:
|
|
86
|
+
- p50: ≤ {value}ms
|
|
87
|
+
- p95: ≤ {value}ms
|
|
88
|
+
- p99: ≤ {value}ms
|
|
89
|
+
|
|
90
|
+
Throughput:
|
|
91
|
+
- Requests/second: ≥ {value}
|
|
92
|
+
- Concurrent users: ≥ {value}
|
|
93
|
+
|
|
94
|
+
Error Rate:
|
|
95
|
+
- Target: ≤ {value}%
|
|
96
|
+
- Under load: ≤ {value}%
|
|
97
|
+
|
|
98
|
+
Availability:
|
|
99
|
+
- Target: ≥ {value}% (e.g., 99.9%)
|
|
100
|
+
- Measurement window: 30 days rolling
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Output Format
|
|
104
|
+
|
|
105
|
+
Produce an **NFR Specification Document** with:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
1. Introduction
|
|
109
|
+
- Purpose, scope, definitions
|
|
110
|
+
|
|
111
|
+
2. Quality Requirements by Characteristic
|
|
112
|
+
[NFR-PERF-001] Response Time
|
|
113
|
+
Criterion: API p95 ≤ 500ms
|
|
114
|
+
Measurement: Load test, k6
|
|
115
|
+
Target: 500ms
|
|
116
|
+
Environment: Staging, 100 concurrent users
|
|
117
|
+
|
|
118
|
+
[NFR-SEC-001] Injection Resistance
|
|
119
|
+
Criterion: No SQL/NoSQL injection
|
|
120
|
+
Measurement: OWASP ZAP, manual
|
|
121
|
+
Target: Zero findings
|
|
122
|
+
...
|
|
123
|
+
|
|
124
|
+
3. Accessibility (WCAG 2.2)
|
|
125
|
+
- Level: AA
|
|
126
|
+
- Checklist: [reference to wcag-checklist.md]
|
|
127
|
+
|
|
128
|
+
4. Security Baseline (OWASP WSTG)
|
|
129
|
+
- Scenarios: [reference to owasp-wstg-baseline.md]
|
|
130
|
+
|
|
131
|
+
5. SLA Summary
|
|
132
|
+
- Response time, throughput, availability
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Scope
|
|
136
|
+
|
|
137
|
+
**Can do (autonomous):**
|
|
138
|
+
- Analyze NFRs from requirements docs, stakeholder input, or code
|
|
139
|
+
- Generate NFR specification with testable criteria
|
|
140
|
+
- Map to ISO 25010 characteristics
|
|
141
|
+
- Produce WCAG 2.2 and OWASP WSTG checklists
|
|
142
|
+
- Define SLA templates
|
|
143
|
+
- Call qa-diagram-generator for quality model diagrams
|
|
144
|
+
|
|
145
|
+
**Cannot do (requires confirmation):**
|
|
146
|
+
- Change business-defined SLAs or compliance targets
|
|
147
|
+
- Override stakeholder accessibility/security decisions
|
|
148
|
+
|
|
149
|
+
**Will not do (out of scope):**
|
|
150
|
+
- Execute load tests or security scans
|
|
151
|
+
- Implement fixes for NFR violations
|
|
152
|
+
- Deploy or modify production systems
|
|
153
|
+
|
|
154
|
+
## MCP Tools Used
|
|
155
|
+
|
|
156
|
+
- **Sequential Thinking MCP:** For decomposition of complex NFRs into testable criteria; use when analyzing multi-characteristic requirements or reconciling conflicting targets.
|
|
157
|
+
|
|
158
|
+
## Quality Checklist
|
|
159
|
+
|
|
160
|
+
- [ ] Every NFR has a unique ID (NFR-{CHAR}-{number})
|
|
161
|
+
- [ ] All criteria are measurable (no vague terms)
|
|
162
|
+
- [ ] Measurement method specified for each criterion
|
|
163
|
+
- [ ] Thresholds/targets are explicit
|
|
164
|
+
- [ ] WCAG level (A/AA/AAA) specified if accessibility applies
|
|
165
|
+
- [ ] OWASP WSTG baseline referenced if security applies
|
|
166
|
+
- [ ] SLA template filled with concrete values
|
|
167
|
+
- [ ] No duplicate or conflicting criteria
|
|
168
|
+
|
|
169
|
+
## Troubleshooting
|
|
170
|
+
|
|
171
|
+
| Symptom | Likely Cause | Fix |
|
|
172
|
+
|---------|--------------|-----|
|
|
173
|
+
| Vague NFRs ("fast", "secure") | Stakeholder language | Ask for quantifiable targets; suggest industry benchmarks |
|
|
174
|
+
| Conflicting targets | Multiple stakeholders | Use Sequential Thinking to decompose; flag for prioritization |
|
|
175
|
+
| Missing measurement method | Criterion not testable | Add tool/method (k6, ZAP, axe-core, etc.) |
|
|
176
|
+
| WCAG level unclear | Accessibility scope undefined | Default to AA; ask if AAA needed |
|
|
177
|
+
| OWASP scope too broad | Full WSTG is large | Use baseline scenarios; expand per risk assessment |
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# ISO/IEC 25010 Product Quality Model Reference
|
|
2
|
+
|
|
3
|
+
ISO/IEC 25010 defines a product quality model for software and systems. This reference covers the eight core characteristics (ISO 25010:2011) widely used in NFR analysis. ISO 25010:2023 adds Compatibility, renames Usability to Interaction Capability, and introduces Safety.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Performance Efficiency
|
|
8
|
+
|
|
9
|
+
Degree to which a product performs its functions within stated time and resource constraints.
|
|
10
|
+
|
|
11
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
12
|
+
|--------------------|------------|----------------------|
|
|
13
|
+
| **Time behavior** | Response time, throughput, processing time | p50/p95/p99 latency (ms), requests/sec, time to first byte |
|
|
14
|
+
| **Resource utilization** | Amount of resources used relative to capacity | CPU %, memory MB, disk I/O, network bandwidth |
|
|
15
|
+
| **Capacity** | Maximum limits of product parameters | Concurrent users, max throughput, data volume limits |
|
|
16
|
+
|
|
17
|
+
**Testable criteria:**
|
|
18
|
+
- API response time ≤ X ms at p95
|
|
19
|
+
- Page load time ≤ Y seconds
|
|
20
|
+
- Throughput ≥ Z requests/second under load
|
|
21
|
+
- Memory usage ≤ W MB under normal operation
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Security
|
|
26
|
+
|
|
27
|
+
Degree to which a product protects information and data so that persons or other products have the appropriate degree of data access control.
|
|
28
|
+
|
|
29
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
30
|
+
|--------------------|------------|----------------------|
|
|
31
|
+
| **Confidentiality** | Data accessible only to authorized entities | Encryption at rest/transit, access controls, data masking |
|
|
32
|
+
| **Integrity** | Data accuracy and consistency | Checksums, signatures, tamper detection |
|
|
33
|
+
| **Non-repudiation** | Actions attributable to entities | Audit logs, digital signatures |
|
|
34
|
+
| **Accountability** | Actions traceable to responsible entities | User attribution, audit trails |
|
|
35
|
+
| **Authenticity** | Identity of entities can be verified | Authentication, certificate validation |
|
|
36
|
+
|
|
37
|
+
**Testable criteria:**
|
|
38
|
+
- All sensitive data encrypted (TLS 1.2+)
|
|
39
|
+
- Authentication required for protected resources
|
|
40
|
+
- Audit logs capture critical actions
|
|
41
|
+
- Input validation prevents injection
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. Usability (Interaction Capability in 25010:2023)
|
|
46
|
+
|
|
47
|
+
Degree to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction.
|
|
48
|
+
|
|
49
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
50
|
+
|--------------------|------------|----------------------|
|
|
51
|
+
| **Appropriateness recognizability** | Users can recognize suitability for their needs | Task completion rate, user surveys |
|
|
52
|
+
| **Learnability** | Users can learn to use the product | Time to first task, help usage, training time |
|
|
53
|
+
| **Operability** | Users can operate and control the product | Error rate, task completion time, clicks to goal |
|
|
54
|
+
| **User error protection** | System protects against user errors | Confirmation dialogs, undo, validation feedback |
|
|
55
|
+
| **User interface aesthetics** | UI is pleasing and satisfying | SUS score, satisfaction surveys |
|
|
56
|
+
| **Accessibility** | Product usable by people with disabilities | WCAG conformance, screen reader compatibility |
|
|
57
|
+
|
|
58
|
+
**Testable criteria:**
|
|
59
|
+
- WCAG 2.2 Level AA conformance
|
|
60
|
+
- Task completion rate ≥ X%
|
|
61
|
+
- Time to complete key task ≤ Y minutes
|
|
62
|
+
- Error recovery available for destructive actions
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 4. Reliability
|
|
67
|
+
|
|
68
|
+
Degree to which a product performs specified functions under specified conditions for a specified period of time.
|
|
69
|
+
|
|
70
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
71
|
+
|--------------------|------------|----------------------|
|
|
72
|
+
| **Maturity** | Product meets reliability needs under normal use | Defect density, failure rate |
|
|
73
|
+
| **Availability** | Product is operational when required | Uptime %, MTBF, planned downtime |
|
|
74
|
+
| **Fault tolerance** | Product operates despite hardware/software faults | Graceful degradation, redundancy |
|
|
75
|
+
| **Recoverability** | Product can recover data and restore service | RTO, RPO, backup/restore success |
|
|
76
|
+
|
|
77
|
+
**Testable criteria:**
|
|
78
|
+
- Availability ≥ 99.9% (excluding planned maintenance)
|
|
79
|
+
- RTO ≤ X minutes
|
|
80
|
+
- RPO ≤ Y minutes
|
|
81
|
+
- Automatic failover within Z seconds
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 5. Maintainability
|
|
86
|
+
|
|
87
|
+
Degree of effectiveness and efficiency with which a product can be modified.
|
|
88
|
+
|
|
89
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
90
|
+
|--------------------|------------|----------------------|
|
|
91
|
+
| **Modularity** | Components have minimal coupling | Cyclomatic complexity, coupling metrics |
|
|
92
|
+
| **Reusability** | Components can be used in other systems | Component reuse count, API stability |
|
|
93
|
+
| **Analysability** | Impact of defects can be diagnosed | Logging, tracing, observability |
|
|
94
|
+
| **Modifiability** | Product can be modified without defects | Change impact analysis, regression rate |
|
|
95
|
+
| **Testability** | Product can be effectively tested | Test coverage, test execution time |
|
|
96
|
+
|
|
97
|
+
**Testable criteria:**
|
|
98
|
+
- Cyclomatic complexity ≤ 10 per function
|
|
99
|
+
- Test coverage ≥ 80% for critical paths
|
|
100
|
+
- Deployment time ≤ X minutes
|
|
101
|
+
- Documentation exists for public APIs
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 6. Portability (Flexibility in 25010:2023)
|
|
106
|
+
|
|
107
|
+
Degree to which a product can be transferred from one environment to another.
|
|
108
|
+
|
|
109
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
110
|
+
|--------------------|------------|----------------------|
|
|
111
|
+
| **Adaptability** | Product can be adapted to different environments | Config-driven behavior, environment variables |
|
|
112
|
+
| **Installability** | Product can be installed in specified environments | Install success rate, install time |
|
|
113
|
+
| **Replaceability** | Product can replace another for the same purpose | API compatibility, migration scripts |
|
|
114
|
+
|
|
115
|
+
**Testable criteria:**
|
|
116
|
+
- Runs on specified OS/browser matrix
|
|
117
|
+
- Installation script completes without manual intervention
|
|
118
|
+
- Configuration externalized (no hardcoded env-specific values)
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 7. Compatibility (25010:2023)
|
|
123
|
+
|
|
124
|
+
Degree to which a product can exchange information with other products and perform required functions while sharing the same environment.
|
|
125
|
+
|
|
126
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
127
|
+
|--------------------|------------|----------------------|
|
|
128
|
+
| **Coexistence** | Product functions when other products are present | No conflicts, shared resource handling |
|
|
129
|
+
| **Interoperability** | Product can exchange information with other products | API compatibility, data format support |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 8. Functional Suitability
|
|
134
|
+
|
|
135
|
+
Degree to which a product provides functions that meet stated and implied needs.
|
|
136
|
+
|
|
137
|
+
| Sub-characteristic | Definition | Measurement Examples |
|
|
138
|
+
|--------------------|------------|----------------------|
|
|
139
|
+
| **Functional completeness** | All required functions present | Requirement coverage |
|
|
140
|
+
| **Functional correctness** | Functions produce correct results | Pass/fail test results |
|
|
141
|
+
| **Functional appropriateness** | Functions support the task | User acceptance, task fit |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Quality Attribute Relationships
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Performance ←→ Security (encryption overhead)
|
|
149
|
+
Usability ←→ Accessibility (WCAG)
|
|
150
|
+
Reliability ←→ Maintainability (observability)
|
|
151
|
+
Portability ←→ Maintainability (modularity)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## References
|
|
157
|
+
|
|
158
|
+
- ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model
|
|
159
|
+
- ISO/IEC 25010:2023 (Edition 2) — Updated model with Compatibility, Safety, Interaction Capability, Flexibility
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# OWASP Web Security Testing Guide — Baseline Scenarios
|
|
2
|
+
|
|
3
|
+
Baseline security testing scenarios aligned with OWASP WSTG v4.2. Use for NFR security criteria and test case design.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 4.1 Information Gathering
|
|
8
|
+
|
|
9
|
+
| ID | Scenario | Test Objective |
|
|
10
|
+
|----|----------|----------------|
|
|
11
|
+
| WSTG-INFO-01 | Conduct Search Engine Discovery | Identify sensitive info exposed via search engines |
|
|
12
|
+
| WSTG-INFO-02 | Fingerprint Web Server | Identify server type, version, technologies |
|
|
13
|
+
| WSTG-INFO-03 | Review Webserver Metafiles | Check robots.txt, sitemap.xml, .well-known for sensitive paths |
|
|
14
|
+
| WSTG-INFO-04 | Enumerate Applications on Webserver | Discover hidden apps, admin panels, backup files |
|
|
15
|
+
| WSTG-INFO-05 | Review Webpage Content and Metadata | Extract comments, version info, credentials in source |
|
|
16
|
+
| WSTG-INFO-06 | Identify Application Entry Points | Map all inputs: forms, URLs, headers, cookies |
|
|
17
|
+
| WSTG-INFO-07 | Map Execution Paths Through Application | Trace user flows and data flow |
|
|
18
|
+
| WSTG-INFO-08 | Review File Extensions Handled | Identify handlers for unusual extensions |
|
|
19
|
+
| WSTG-INFO-09 | Analyze Web Application Architecture | Document tiers, trust boundaries, data flow |
|
|
20
|
+
| WSTG-INFO-10 | Review HTTP Methods | Test allowed methods (GET, POST, PUT, DELETE, etc.) |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 4.2 Configuration and Deployment Management
|
|
25
|
+
|
|
26
|
+
| ID | Scenario | Test Objective |
|
|
27
|
+
|----|----------|----------------|
|
|
28
|
+
| WSTG-CONF-01 | Test Network/Infrastructure Configuration | Verify firewall, load balancer, TLS config |
|
|
29
|
+
| WSTG-CONF-02 | Test Application Platform Configuration | Check default credentials, sample apps, debug mode |
|
|
30
|
+
| WSTG-CONF-03 | Test File Extensions Handling | Verify dangerous extensions blocked |
|
|
31
|
+
| WSTG-CONF-04 | Review Old, Backup, Unreferenced Files | Find backup, temp, old files |
|
|
32
|
+
| WSTG-CONF-05 | Enumerate Infrastructure and Admin Interfaces | Discover admin, debug, monitoring endpoints |
|
|
33
|
+
| WSTG-CONF-06 | Test HTTP Methods | Verify unnecessary methods disabled |
|
|
34
|
+
| WSTG-CONF-07 | Test HTTP Strict Transport Security | Verify HSTS header, redirect to HTTPS |
|
|
35
|
+
| WSTG-CONF-08 | Test RIA Cross Domain Policy | Check crossdomain.xml, clientaccesspolicy.xml |
|
|
36
|
+
| WSTG-CONF-09 | Test File Permission | Verify file permissions restrict access |
|
|
37
|
+
| WSTG-CONF-10 | Test for Subdomain Takeover | Check dangling DNS records |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 4.3 Identity Management
|
|
42
|
+
|
|
43
|
+
| ID | Scenario | Test Objective |
|
|
44
|
+
|----|----------|----------------|
|
|
45
|
+
| WSTG-IDEN-01 | Test Role Definitions | Verify roles and permissions defined correctly |
|
|
46
|
+
| WSTG-IDEN-02 | Test User Registration Process | Test registration validation, duplicate handling |
|
|
47
|
+
| WSTG-IDEN-03 | Test Account Provisioning Process | Verify provisioning workflows, approval |
|
|
48
|
+
| WSTG-IDEN-04 | Testing for Account Enumeration | Check if valid/invalid usernames distinguishable |
|
|
49
|
+
| WSTG-IDEN-05 | Testing for Weak or Unenforced Username Policy | Test username rules, predictability |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 4.4 Authentication Testing
|
|
54
|
+
|
|
55
|
+
| ID | Scenario | Test Objective |
|
|
56
|
+
|----|----------|----------------|
|
|
57
|
+
| WSTG-ATHN-01 | Testing for Credentials Transported over Encrypted Channel | Verify login over HTTPS only |
|
|
58
|
+
| WSTG-ATHN-02 | Testing for Default Credentials | Check default admin/user credentials |
|
|
59
|
+
| WSTG-ATHN-03 | Testing for Weak Lock Out Mechanism | Test account lockout, brute-force protection |
|
|
60
|
+
| WSTG-ATHN-04 | Testing for Bypassing Authentication Schema | Test direct object reference, token manipulation |
|
|
61
|
+
| WSTG-ATHN-05 | Testing for Vulnerable Remember Password | Test secure storage of credentials |
|
|
62
|
+
| WSTG-ATHN-06 | Testing for Browser Cache Weaknesses | Verify sensitive data not cached |
|
|
63
|
+
| WSTG-ATHN-07 | Testing for Weak Password Policy | Test password complexity, history |
|
|
64
|
+
| WSTG-ATHN-08 | Testing for Weak Security Question/Answer | Test predictability of security questions |
|
|
65
|
+
| WSTG-ATHN-09 | Testing for Weak Password Change or Reset | Test reset flow for token predictability |
|
|
66
|
+
| WSTG-ATHN-10 | Testing for Weaker Authentication in Alternative Channel | Test fallback auth (e.g., SMS) |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4.5 Authorization (Access Control) Testing
|
|
71
|
+
|
|
72
|
+
| ID | Scenario | Test Objective |
|
|
73
|
+
|----|----------|----------------|
|
|
74
|
+
| WSTG-ATHZ-01 | Testing Directory Traversal/File Include | Test path traversal (../, absolute paths) |
|
|
75
|
+
| WSTG-ATHZ-02 | Testing for Bypassing Authorization Schema | Test horizontal/vertical privilege escalation |
|
|
76
|
+
| WSTG-ATHZ-03 | Testing for Privilege Escalation | Test role elevation, IDOR |
|
|
77
|
+
| WSTG-ATHZ-04 | Testing for Insecure Direct Object References | Test predictable IDs, access to others' data |
|
|
78
|
+
| WSTG-ATHZ-05 | Testing for Missing Function Level Access Control | Test direct access to admin functions |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 4.6 Session Management Testing
|
|
83
|
+
|
|
84
|
+
| ID | Scenario | Test Objective |
|
|
85
|
+
|----|----------|----------------|
|
|
86
|
+
| WSTG-SESS-01 | Testing for Session Management Schema | Verify session ID entropy, lifecycle |
|
|
87
|
+
| WSTG-SESS-02 | Testing for Cookie Attributes | Check HttpOnly, Secure, SameSite |
|
|
88
|
+
| WSTG-SESS-03 | Testing for Session Fixation | Test session ID reuse after login |
|
|
89
|
+
| WSTG-SESS-04 | Testing for Exposed Session Variables | Check session data in URL, logs |
|
|
90
|
+
| WSTG-SESS-05 | Testing for Cross-Site Request Forgery | Test CSRF tokens, SameSite cookies |
|
|
91
|
+
| WSTG-SESS-06 | Testing for Logout Functionality | Verify session invalidation on logout |
|
|
92
|
+
| WSTG-SESS-07 | Testing for Session Timeout | Verify timeout and re-auth |
|
|
93
|
+
| WSTG-SESS-08 | Testing for Session Puzzling | Test session variable confusion |
|
|
94
|
+
| WSTG-SESS-09 | Testing for Session Hijacking | Test session fixation, prediction |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 4.7 Input Validation Testing (Injection)
|
|
99
|
+
|
|
100
|
+
| ID | Scenario | Test Objective |
|
|
101
|
+
|----|----------|----------------|
|
|
102
|
+
| WSTG-INPV-01 | Testing for Reflected Cross-Site Scripting (XSS) | Test reflected XSS in all inputs |
|
|
103
|
+
| WSTG-INPV-02 | Testing for Stored Cross-Site Scripting (XSS) | Test stored XSS in persistent storage |
|
|
104
|
+
| WSTG-INPV-03 | Testing for HTTP Verb Tampering | Test method override, verb confusion |
|
|
105
|
+
| WSTG-INPV-04 | Testing for HTTP Parameter Pollution | Test duplicate parameters, HPP |
|
|
106
|
+
| WSTG-INPV-05 | Testing for SQL Injection | Test SQLi in all query inputs |
|
|
107
|
+
| WSTG-INPV-06 | Testing for LDAP Injection | Test LDAP filter injection |
|
|
108
|
+
| WSTG-INPV-07 | Testing for XML Injection | Test XXE, XPath injection |
|
|
109
|
+
| WSTG-INPV-08 | Testing for SSI Injection | Test server-side includes |
|
|
110
|
+
| WSTG-INPV-09 | Testing for XPath Injection | Test XPath in XML queries |
|
|
111
|
+
| WSTG-INPV-10 | Testing for IMAP/SMTP Injection | Test mail-related injection |
|
|
112
|
+
| WSTG-INPV-11 | Testing for Code Injection | Test OS command, script injection |
|
|
113
|
+
| WSTG-INPV-12 | Testing for Local File Inclusion | Test LFI, path traversal |
|
|
114
|
+
| WSTG-INPV-13 | Testing for Remote File Inclusion | Test RFI |
|
|
115
|
+
| WSTG-INPV-14 | Testing for Command Injection | Test OS command injection |
|
|
116
|
+
| WSTG-INPV-15 | Testing for Format String Injection | Test format string bugs |
|
|
117
|
+
| WSTG-INPV-16 | Testing for Incubated Vulnerability | Test delayed/stored injection |
|
|
118
|
+
| WSTG-INPV-17 | Testing for HTTP Splitting/Smuggling | Test CRLF, request smuggling |
|
|
119
|
+
| WSTG-INPV-18 | Testing for Host Header Injection | Test Host header manipulation |
|
|
120
|
+
| WSTG-INPV-19 | Testing for Server-Side Template Injection | Test SSTI in templating engines |
|
|
121
|
+
| WSTG-INPV-20 | Testing for Server-Side Request Forgery | Test SSRF to internal resources |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 4.8 Error Handling Testing
|
|
126
|
+
|
|
127
|
+
| ID | Scenario | Test Objective |
|
|
128
|
+
|----|----------|----------------|
|
|
129
|
+
| WSTG-ERRH-01 | Testing for Improper Error Handling | Verify no stack traces, paths, versions in errors |
|
|
130
|
+
| WSTG-ERRH-02 | Testing for Stack Traces | Ensure stack traces disabled in production |
|
|
131
|
+
| WSTG-ERRH-03 | Testing for Improper Error Handling - Oracle | Test error-based information disclosure |
|
|
132
|
+
| WSTG-ERRH-04 | Testing for Improper Error Handling - Empty Responses | Test empty/blank error responses |
|
|
133
|
+
| WSTG-ERRH-05 | Testing for Improper Error Handling - SQL | Test SQL error disclosure |
|
|
134
|
+
| WSTG-ERRH-06 | Testing for Improper Error Handling - XML | Test XML error disclosure |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 4.9 Cryptography Testing
|
|
139
|
+
|
|
140
|
+
| ID | Scenario | Test Objective |
|
|
141
|
+
|----|----------|----------------|
|
|
142
|
+
| WSTG-CRYP-01 | Testing for Weak Transport Layer Security | Verify TLS 1.2+, strong ciphers, no SSL |
|
|
143
|
+
| WSTG-CRYP-02 | Testing for Padding Oracle | Test padding oracle in crypto |
|
|
144
|
+
| WSTG-CRYP-03 | Testing for Sensitive Data Sent via Unencrypted Channels | Verify no sensitive data over HTTP |
|
|
145
|
+
| WSTG-CRYP-04 | Testing for Weak Encryption | Check algorithm strength, key management |
|
|
146
|
+
| WSTG-CRYP-05 | Testing for Insufficient Entropy | Test PRNG, session ID entropy |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 4.10 Business Logic Testing
|
|
151
|
+
|
|
152
|
+
| ID | Scenario | Test Objective |
|
|
153
|
+
|----|----------|----------------|
|
|
154
|
+
| WSTG-BUSL-01 | Test Business Logic Data Validation | Test workflow bypass, negative amounts |
|
|
155
|
+
| WSTG-BUSL-02 | Test Ability to Forge Requests | Test parameter tampering, replay |
|
|
156
|
+
| WSTG-BUSL-03 | Test Integrity Checks | Test checksum, signature bypass |
|
|
157
|
+
| WSTG-BUSL-04 | Test for Process Timing | Test race conditions, TOCTOU |
|
|
158
|
+
| WSTG-BUSL-05 | Test for Function-Specific Input Validation | Test business rule enforcement |
|
|
159
|
+
| WSTG-BUSL-06 | Test for Content Spoofing | Test content injection, defacement |
|
|
160
|
+
| WSTG-BUSL-07 | Test for Application Logic Flaws | Test workflow, state machine bypass |
|
|
161
|
+
| WSTG-BUSL-08 | Test for Upload of Unexpected File Types | Test file upload validation |
|
|
162
|
+
| WSTG-BUSL-09 | Test for Upload of Malicious Files | Test malware upload, polyglot files |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 4.11 Client-Side Testing
|
|
167
|
+
|
|
168
|
+
| ID | Scenario | Test Objective |
|
|
169
|
+
|----|----------|----------------|
|
|
170
|
+
| WSTG-CLNT-01 | Testing for DOM-Based Cross-Site Scripting | Test DOM XSS, client-side injection |
|
|
171
|
+
| WSTG-CLNT-02 | Testing for JavaScript Execution | Test script injection in sinks |
|
|
172
|
+
| WSTG-CLNT-03 | Testing for HTML Injection | Test HTML injection, attribute injection |
|
|
173
|
+
| WSTG-CLNT-04 | Testing for Client-Side URL Redirect | Test open redirect, parameter injection |
|
|
174
|
+
| WSTG-CLNT-05 | Testing for CORS Misconfiguration | Test CORS origin validation |
|
|
175
|
+
| WSTG-CLNT-06 | Testing for Cross-Domain Data Leakage | Test postMessage, CORS leakage |
|
|
176
|
+
| WSTG-CLNT-07 | Testing for Cross-Site Flashing | Test Flash-based XSS |
|
|
177
|
+
| WSTG-CLNT-08 | Testing for Clickjacking | Test X-Frame-Options, frame busting |
|
|
178
|
+
| WSTG-CLNT-09 | Testing for WebSocket Security | Test WebSocket auth, message validation |
|
|
179
|
+
| WSTG-CLNT-10 | Testing for Web Messaging | Test postMessage origin validation |
|
|
180
|
+
| WSTG-CLNT-11 | Testing for Browser Storage | Test localStorage/sessionStorage for sensitive data |
|
|
181
|
+
| WSTG-CLNT-12 | Testing for Cross-Site Script Inclusion | Test XSSI, JSONP callback injection |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Baseline Test Set (Minimum)
|
|
186
|
+
|
|
187
|
+
For NFR security criteria, prioritize:
|
|
188
|
+
|
|
189
|
+
1. **Injection**: WSTG-INPV-01, 02, 05 (XSS, SQLi)
|
|
190
|
+
2. **Authentication**: WSTG-ATHN-01, 03, 07 (TLS, lockout, password policy)
|
|
191
|
+
3. **Session**: WSTG-SESS-02, 05, 06 (cookies, CSRF, logout)
|
|
192
|
+
4. **Access Control**: WSTG-ATHZ-02, 04 (privilege escalation, IDOR)
|
|
193
|
+
5. **Cryptography**: WSTG-CRYP-01, 03 (TLS, unencrypted channels)
|
|
194
|
+
6. **Error Handling**: WSTG-ERRH-01, 02 (no info disclosure)
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## References
|
|
199
|
+
|
|
200
|
+
- [OWASP WSTG v4.2](https://owasp.org/www-project-web-security-testing-guide/v42/)
|
|
201
|
+
- [OWASP WSTG Stable](https://owasp.org/www-project-web-security-testing-guide/stable/)
|
|
202
|
+
- [OWASP Testing Guide GitHub](https://github.com/OWASP/wstg)
|