docs: add manual regression checklist

This commit is contained in:
a.tolmachev
2026-04-07 11:47:39 +03:00
parent 6711214bb1
commit 757c1bbd31
4 changed files with 215 additions and 7 deletions
+207
View File
@@ -0,0 +1,207 @@
# Ручной regression checklist
## 1. Назначение
Этот документ фиксирует post-integration baseline для UI, auth, secrets и streaming slices.
Цель:
- дать воспроизводимый regression pass после крупных вертикальных срезов;
- отделить автоматический baseline от ручного smoke на стенде;
- не заставлять следующего агента заново собирать сценарии по всему проекту.
## 2. Автоматический baseline
Локальный regression baseline на `2026-04-07`:
- `cargo check --workspace` -> passed;
- `cd apps/ui && npm run e2e` -> `11 passed`;
- e2e стек поднимает:
- `postgres`;
- `admin-api`;
- `mcp-server`;
- fixture servers для streaming;
- локальный UI proxy.
Покрытые автоматикой сценарии:
- login;
- operations catalog;
- agents;
- api keys;
- logs;
- usage;
- workspace/settings;
- wizard;
- REST window tool;
- gRPC session tools;
- async job tools.
## 3. Когда запускать этот pass
Запускать обязательно после изменений в:
- auth/session;
- workspace switching;
- operations/wizard;
- agents;
- secrets/auth profiles;
- streaming configuration;
- MCP transport;
- REST SSE, gRPC streaming, WebSocket, SOAP adapters;
- deploy routing/UI routes.
## 4. Обязательные команды перед ручным проходом
```bash
cargo check --workspace
cd apps/ui && npm run e2e
```
Если одна из команд не проходит, ручной regression pass не считается завершенным.
## 5. Ручной smoke checklist
### 5.1. Auth и shell
- открыть `/login`;
- проверить, что страница не зацикливается на redirect;
- проверить invalid login;
- войти bootstrap admin-пользователем;
- убедиться, что после входа открывается `/`;
- проверить logout;
- войти повторно;
- проверить header identity;
- проверить language switch;
- проверить workspace switch в navbar.
### 5.2. Operations
- открыть `/`;
- убедиться, что demo operations загружены;
- проверить search;
- проверить protocol/category/agent filters;
- открыть edit существующей operation;
- удалить operation из demo workspace только если это безопасно для текущего стенда;
- проверить success/error toasts;
- проверить clean routes без `/html/...`.
### 5.3. Wizard
- открыть `/wizard/`;
- переключить protocol cards:
- `REST`
- `GraphQL`
- `gRPC`
- `WebSocket`
- `SOAP`
- для нового upstream проверить режимы auth:
- `No auth`
- `Use existing auth profile`
- `Create auth profile now`
- создать quick secret из wizard;
- создать quick auth profile из wizard;
- сохранить upstream;
- убедиться, что `execution_config.auth_profile_ref` попадает в draft/test flow;
- проверить sample upload;
- проверить YAML export/import;
- проверить `Test run`;
- проверить `Publish`.
### 5.4. Agents
- открыть `/agents`;
- проверить cards и lifecycle badges;
- открыть drawer;
- проверить bindings;
- создать или обновить agent;
- проверить publish/unpublish/archive flow;
- проверить copy MCP endpoint.
### 5.5. API Keys
- открыть `/api-keys`;
- создать key;
- убедиться, что raw key показывается один раз;
- проверить copy;
- проверить revoke;
- проверить delete;
- проверить `last_used_at` после реального machine-auth вызова при необходимости.
### 5.6. Secrets
- открыть `/secrets`;
- проверить list/create/rotate/delete;
- создать:
- `token`;
- `username_password`;
- `header`;
- `generic`;
- убедиться, что plaintext не возвращается после create/rotate;
- проверить usage references через auth profiles;
- проверить, что wizard quick-create синхронизируется с этой страницей.
### 5.7. Logs и Usage
- открыть `/logs`;
- проверить loading/error/empty states;
- проверить detail expansion;
- открыть `/usage`;
- проверить summary cards;
- проверить timeline chart;
- проверить CSV export.
### 5.8. Workspace и Settings
- открыть `/workspace-setup`;
- проверить members;
- проверить invitations;
- проверить role change;
- проверить remove member;
- проверить export workspace;
- проверить delete workspace только на disposable workspace;
- открыть `/settings`;
- проверить profile update;
- проверить password change.
## 6. Protocol smoke pass
Для smoke-проверки MCP использовать готовые public targets из [public-smoke-targets.md](/home/a.tolmachev/code/rust/mcpaas/docs/public-smoke-targets.md).
Обязательные кейсы:
- REST: [rest-open-meteo.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/rest-open-meteo.operation.json)
- GraphQL: [graphql-countries.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/graphql-countries.operation.json)
- gRPC: [grpc-grpcb-add.operation.json](/home/a.tolmachev/code/rust/mcpaas/examples/mcp-smoke/grpc-grpcb-add.operation.json)
Streaming regression на локальном e2e стеке:
- REST SSE window tool;
- gRPC session tools;
- async job tools.
Ручной post-deploy pass должен дополнительно проверить:
- WebSocket window/session flow после появления real upstream;
- SOAP import/inspection/test run на disposable WSDL fixture.
## 7. Acceptance criteria
Regression pass считается завершенным, если одновременно выполнены условия:
- `cargo check --workspace` passed;
- Playwright suite passed;
- login/shell/manual navigation не ломаются;
- `Secrets -> Auth Profiles -> Wizard -> Test run` связка работает;
- public smoke targets проходят для `REST`, `GraphQL`, `gRPC`;
- streaming demo scenarios проходят на локальном e2e стеке;
- нет критичных UI regressions на clean routes, i18n и auth redirects.
## 8. Если что-то падает
- сначала фиксировать failing automated spec;
- потом чинить ручной smoke regression;
- после фикса повторять:
- `cargo check --workspace`;
- `cd apps/ui && npm run e2e`;
- только потом обновлять статус в `TASKS.md`.
+1
View File
@@ -111,6 +111,7 @@
- unit tests для form helpers и schema rendering;
- integration tests для critical user flows;
- отдельная проверка mapping editor и sample upload flows.
- отдельный regression checklist для post-integration smoke pass: [manual-regression-checklist.md](/home/a.tolmachev/code/rust/mcpaas/docs/manual-regression-checklist.md).
## 6. Что нельзя оставлять без тестов