@groupby/ai-dev 0.5.21 → 0.5.22
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/package.json +1 -1
- package/teams/snpd/qa-skills/README.md +256 -0
- package/teams/snpd/qa-skills/be-github-actions-qa/SKILL.md +354 -0
- package/teams/snpd/qa-skills/bug-report/SKILL.md +155 -0
- package/teams/snpd/qa-skills/failed-test-triage/SKILL.md +158 -0
- package/teams/snpd/qa-skills/fe-github-actions-qa/SKILL.md +252 -0
- package/teams/snpd/qa-skills/postman-qa/SKILL.md +157 -0
- package/teams/snpd/qa-skills/qa-checklist/SKILL.md +146 -0
- package/teams/snpd/qa-skills/qa-test-plan/SKILL.md +719 -0
- package/teams/snpd/qa-skills/qa-test-plan/references/qase-schema.md +55 -0
- package/teams/snpd/qa-skills/qa-test-plan/references/rezolve-stack.md +52 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Qase Export Schema Reference
|
|
2
|
+
|
|
3
|
+
Based on actual SRTM export from Rezolve AI QA team.
|
|
4
|
+
|
|
5
|
+
## Field value enums
|
|
6
|
+
|
|
7
|
+
### priority
|
|
8
|
+
`critical` | `high` | `medium` | `low`
|
|
9
|
+
|
|
10
|
+
### severity
|
|
11
|
+
`critical` | `major` | `normal` | `minor` | `trivial`
|
|
12
|
+
|
|
13
|
+
### type
|
|
14
|
+
`functional` | `regression` | `performance` | `smoke` | `security` | `usability`
|
|
15
|
+
|
|
16
|
+
### behavior
|
|
17
|
+
`positive` | `negative` | `destructive`
|
|
18
|
+
|
|
19
|
+
### automation
|
|
20
|
+
`is-not-automated` | `is-automated` | `to-be-automated`
|
|
21
|
+
|
|
22
|
+
### layer
|
|
23
|
+
`api` | `ui` | `e2e` | `unit`
|
|
24
|
+
|
|
25
|
+
### status
|
|
26
|
+
`actual` | `deprecated` | `draft`
|
|
27
|
+
|
|
28
|
+
## Title convention
|
|
29
|
+
`[SERVICE-NAME][TC-NN] Short imperative title`
|
|
30
|
+
|
|
31
|
+
Examples:
|
|
32
|
+
- `[SITE-SEARCH][TC-01] Bulkhead overflow logs HTTP 429 as ERROR`
|
|
33
|
+
- `[SEARCH-API][TC-03] Regression guard: 429 must never be WARNING`
|
|
34
|
+
|
|
35
|
+
## Suite title convention
|
|
36
|
+
`[TICKET-KEY] Short description — service-name`
|
|
37
|
+
|
|
38
|
+
Example: `[S4R-11081] 429 should show as errors not warnings - site-search-api`
|
|
39
|
+
|
|
40
|
+
## Suite description
|
|
41
|
+
Always the Jira URL: `https://rezolvetech.atlassian.net/browse/TICKET-KEY`
|
|
42
|
+
|
|
43
|
+
## Steps — data field
|
|
44
|
+
Use the `data` field for:
|
|
45
|
+
- Full URL of the endpoint being called
|
|
46
|
+
- Request payload (JSON or key params)
|
|
47
|
+
- GCP Logs Explorer query URL (for log-checking steps)
|
|
48
|
+
- Any env-specific value needed to execute the step
|
|
49
|
+
|
|
50
|
+
## Tags
|
|
51
|
+
Use lowercase, hyphen-separated. Include:
|
|
52
|
+
- Service name (e.g. `site-search-api`)
|
|
53
|
+
- Feature area (e.g. `bulkhead`, `429`, `logging`)
|
|
54
|
+
- Test type (e.g. `regression`, `negative-control`)
|
|
55
|
+
- Ticket key is NOT needed in tags (it's in suite description)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Rezolve AI — Stack & Testing Patterns Reference
|
|
2
|
+
|
|
3
|
+
## Team
|
|
4
|
+
SNPD team, QA engineer stack:
|
|
5
|
+
- Kotlin/Java backend services
|
|
6
|
+
- React frontend
|
|
7
|
+
- Node.js microservices
|
|
8
|
+
- Python ML services
|
|
9
|
+
- Postman API testing
|
|
10
|
+
- GitHub Actions CI/CD
|
|
11
|
+
- GCP (Google Cloud Platform) — logs via GCP Logs Explorer
|
|
12
|
+
|
|
13
|
+
## Known services / components (update as needed)
|
|
14
|
+
- `site-search-api` — search service (Kotlin/Java)
|
|
15
|
+
- GroupBy search cloud (`groupbycloud.com`) — external search provider
|
|
16
|
+
- Command Center (CC) — internal admin/config UI (React)
|
|
17
|
+
|
|
18
|
+
## Common test endpoints (QA/staging)
|
|
19
|
+
- Search: `https://search.gbiqa-lo.groupbycloud.com/api/search`
|
|
20
|
+
- Auth: `Authorization: client-key <uuid>`
|
|
21
|
+
- Tenant header: `X-Groupby-Customer-Id`
|
|
22
|
+
|
|
23
|
+
## Areas (for API requests)
|
|
24
|
+
- `regressionAutomation` — MONGO, GOOGLE, MONGO_GOOGLE engines
|
|
25
|
+
- `regressionAutomationBrowse` — GOOGLE BROWSE engine
|
|
26
|
+
- Wrong area → 401 response
|
|
27
|
+
|
|
28
|
+
## Logging
|
|
29
|
+
- GCP Logs Explorer is used to verify log severity
|
|
30
|
+
- Relevant filter pattern: `resource.labels.namespace_name="<service-name>"` + keyword
|
|
31
|
+
- Severity levels to watch: ERROR vs WARNING (common regression point)
|
|
32
|
+
|
|
33
|
+
## Feature flags
|
|
34
|
+
- Controlled in Command Center or Vault
|
|
35
|
+
- Always ask which env has which flag state before writing flag-dependent tests
|
|
36
|
+
|
|
37
|
+
## Vault settings
|
|
38
|
+
- Timeout values, bulkhead/concurrency limits, thresholds — ask user for actual values per env
|
|
39
|
+
- Do not hardcode — use variable placeholders like `<bulkhead_limit>` and note the question
|
|
40
|
+
|
|
41
|
+
## Automation tools
|
|
42
|
+
- **Postman** — API testing, collections, environment variables
|
|
43
|
+
- **GitHub Actions** — CI regression, can run k6 or curl-based load tests
|
|
44
|
+
- **Manual** — GCP log severity checks, visual UI validation
|
|
45
|
+
|
|
46
|
+
## Bulkhead / concurrency pattern (resilience4j or similar)
|
|
47
|
+
When a ticket involves bulkhead/semaphore limits:
|
|
48
|
+
- Positive: send N requests where N < limit → all succeed
|
|
49
|
+
- Boundary: send exactly N = limit requests → edge (some may queue)
|
|
50
|
+
- Overflow: send N > limit → expect 429 Too Many Requests
|
|
51
|
+
- Log check: 429 events must be ERROR not WARNING
|
|
52
|
+
- Negative control: low concurrency (e.g. 5 requests) → no 429, no error logs
|