TradeMasterAPI End-to-End QA Workflow
This workflow verifies that core user journeys work and look correct across navigation, data retrieval, charting, trading, and configuration.
Scope
- Dashboard
- Historical Data
- Backtesting
- Trading
- Configuration
- Header controls (
Status,Switch to LIVE,Settings)
Preconditions
- Backend and frontend started with
./start.sh - Browser opened at
http://localhost:3000 - Required env vars set for live providers when running in research/live mode
Test Matrix
| Area | Check | Expected |
|---|---|---|
| Navigation | Top links load: Dashboard, Historical Data, Backtesting, Trading, Configuration | No blank page; route content renders |
| Dashboard | System Status + Account Summary cards visible | No loader stuck; fields populated |
| Historical Data | Enter valid symbol and click Get historical data |
Chart or table data appears; export buttons enable after data load |
| Historical Data | Click Compare Quotes |
Comparison panel opens with provider values; no hard error |
| Historical Data | In research mode with provider down | Clear non-mock error state shown; no silent failure |
| Backtesting | Run single strategy with default params | Summary, Charts, Trades, Debug tabs all render valid content |
| Backtesting | Price chart section | Price chart renders when equity result exists |
| Trading | Account summary loads | Trading status and balances render |
| Trading | Place paper order (AAPL, qty 1) |
Order success toast/message and order appears in recent orders |
| Configuration | Data feeds/API/System tabs | All sections load with no stale loaders |
| Header Status panel | Open/close panel and refresh | Values refresh and status fields remain coherent |
Manual Execution Steps
- Open app root and visit each top-nav link once.
- On
Historical Data: - Symbol:AAPL- Timeframe:1 Day- Data feed:Alpha Vantage (Active)- ClickGet historical data- ClickCompare Quotes - On
Backtesting: - UseMoving Average Crossover- SymbolAAPL, default dates - ClickRun Backtest- ValidateSummary,Charts,Trades,Debug - On
Trading: - Confirm account summary visible - Place paper order (AAPL, qty1, market/day) - On
Configuration: - ValidateData Feeds,API Settings, andSystem Statustabs - Open header
Statuspanel and click refresh.
Automated Baseline (Run Every QA Pass)
bash scripts/ci/run_smoke.sh
npm --prefix frontend/trademaster_ui run test:ui-audit
This validates: - Backend import + smoke API contract - Frontend integration smoke contract - Full navigation/button/status/settings interaction audit via Selenium
Failure Logging Standard
For each failure, capture:
- URL and feature area
- Exact repro steps
- Actual result vs expected result
- Severity (P0, P1, P2)
- Screenshot filename
- Related backend/frontend log snippet
Exit Criteria
QA pass is complete when: - All top-level routes are verified - Smoke suite passes - All regressions are logged as GitHub cards/issues - Each issue has clear repro steps and acceptance criteria