10. Quality Requirements¶
10.1 Quality Tree¶
Quality
├── Performance
│ ├── Timeline feed response < 500 ms (p95)
│ └── Post creation response < 200 ms (p95)
├── Availability
│ └── Uptime ≥ 99.9% per calendar month
├── Scalability
│ └── Sustain 10 000 concurrent users without latency degradation
├── Security
│ ├── Unauthenticated access to protected endpoints returns 401
│ └── Users can only modify their own resources (403 otherwise)
├── Maintainability
│ └── A feature confined to one bounded context requires no changes in others
└── Usability
└── API errors include actionable, human-readable messages
10.2 Quality Scenarios¶
ID |
Quality Attribute |
Stimulus |
Response |
Measure |
|---|---|---|---|---|
QS-01 |
Performance |
User requests timeline feed (follows 500 users) |
Feed returned |
p95 latency < 500 ms |
QS-02 |
Performance |
User creates a post |
Post persisted and returned |
p95 latency < 200 ms |
QS-03 |
Availability |
Single service instance crashes |
Load balancer routes to healthy replica |
Recovery < 30 s, zero data loss |
QS-04 |
Scalability |
10 000 concurrent users active simultaneously |
All requests served |
p95 latency stays within QS-01/02 bounds |
QS-05 |
Security |
Unauthenticated request to |
Request rejected |
HTTP 401, no data leaked |
QS-06 |
Security |
User A attempts to delete User B’s post |
Request rejected |
HTTP 403, audit log entry written |
QS-07 |
Maintainability |
New feature added to Messaging context |
No changes required in Users or Posts services |
Zero cross-context file changes in PR |
QS-08 |
Usability |
Client sends invalid request body |
Error response returned |
HTTP 422 with per-field error detail |