Made-with: Cursor
2.1 KiB
Performance Tests
NFT-PERF-01: Login Endpoint Latency
Summary: Login endpoint responds within acceptable latency under normal load. Traces to: AC-1 Metric: Response time (p95)
Preconditions:
- System running with seed data
- 10 concurrent users
Steps:
| Step | Consumer Action | Measurement |
|---|---|---|
| 1 | Send 100 login requests (10 concurrent) | Measure p50, p95, p99 response times |
Pass criteria: p95 latency < 500ms Duration: 30 seconds
NFT-PERF-02: Resource Download Latency (Small File)
Summary: Encrypted resource download for a small file (1 KB) completes quickly. Traces to: AC-14 Metric: Response time including encryption
Preconditions:
- 1 KB test file uploaded
- User authenticated with bound hardware
Steps:
| Step | Consumer Action | Measurement |
|---|---|---|
| 1 | Send 50 encrypted download requests (5 concurrent) | Measure p50, p95 response times |
Pass criteria: p95 latency < 1000ms Duration: 30 seconds
NFT-PERF-03: Resource Download Latency (Large File)
Summary: Encrypted resource download for a larger file (50 MB) completes within limits. Traces to: AC-13, AC-14 Metric: Response time including encryption + transfer
Preconditions:
- 50 MB test file uploaded
- User authenticated with bound hardware
Steps:
| Step | Consumer Action | Measurement |
|---|---|---|
| 1 | Send 5 sequential encrypted download requests | Measure p50, p95 response times |
Pass criteria: p95 latency < 30000ms (30s) Duration: 3 minutes
NFT-PERF-04: User List Endpoint Under Load
Summary: User list endpoint responds within limits when DB has many users. Traces to: AC-9 Metric: Response time
Preconditions:
- 500 users in database
- Caller is ApiAdmin
Steps:
| Step | Consumer Action | Measurement |
|---|---|---|
| 1 | Send 50 GET /users requests (10 concurrent) | Measure p50, p95 response times |
Pass criteria: p95 latency < 1000ms Duration: 30 seconds