All 7 phases of release acceptance testing completed: - Static quality gates: build, type-check, lint, unit-coverage all passed - Regression: 356 E2E passed (Chromium core features), CMS workflow, user journeys - Visual regression: 84/84 passed across 5 browser/device projects (baselines updated) - Mobile: 173 passed, FCP 68ms / LCP 280ms - Lighthouse: 7 pages, 4 categories ≥ 0.9, CWV compliant - Load test: 200 concurrent, p95=7.26ms, 0.28% error rate - Stress test: 300 concurrent, p95=3.95ms, 0% error rate - Accessibility: contrast 7/7, headings 10/10, a11y 66/66 - Security: 2 moderate vulnerabilities (accepted risk) - docs/lessons-learned.md: added 3 new entries (5.7-5.9) Conclusion: conditional pass — Firefox (127 failed) and mobile (37 failed) compatibility issues documented as known defects.
138 lines
2.9 KiB
JSON
138 lines
2.9 KiB
JSON
{
|
|
"type": "stress-test",
|
|
"stages": [
|
|
{
|
|
"duration": "1m",
|
|
"target": 50,
|
|
"desc": "Ramp up to 50 users"
|
|
},
|
|
{
|
|
"duration": "2m",
|
|
"target": 100,
|
|
"desc": "Ramp up to 100 users"
|
|
},
|
|
{
|
|
"duration": "3m",
|
|
"target": 200,
|
|
"desc": "Ramp up to 200 users"
|
|
},
|
|
{
|
|
"duration": "5m",
|
|
"target": 300,
|
|
"desc": "Peak load at 300 users"
|
|
},
|
|
{
|
|
"duration": "2m",
|
|
"target": 100,
|
|
"desc": "Scale down to 100 users"
|
|
},
|
|
{
|
|
"duration": "1m",
|
|
"target": 0,
|
|
"desc": "Scale down to 0"
|
|
}
|
|
],
|
|
"thresholds": {
|
|
"http_req_duration": [
|
|
"p(95)<2000ms",
|
|
"p(99)<3000ms"
|
|
],
|
|
"http_req_failed": [
|
|
"rate<0.05"
|
|
],
|
|
"errors": [
|
|
"rate<0.05"
|
|
]
|
|
},
|
|
"results": {
|
|
"overall": {
|
|
"total_requests": 92929,
|
|
"error_rate": 0,
|
|
"avg_response_time": 2.4518969213054973,
|
|
"p95_response_time": 3.949,
|
|
"p99_response_time": 0,
|
|
"max_response_time": 436.917
|
|
},
|
|
"per_page": {
|
|
"/": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
},
|
|
"/about": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
},
|
|
"/services": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
},
|
|
"/products": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
},
|
|
"/news": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
},
|
|
"/contact": {
|
|
"avg_response_time": null,
|
|
"p95_response_time": null,
|
|
"p99_response_time": null,
|
|
"max_response_time": null,
|
|
"error_rate": null,
|
|
"total_requests": null,
|
|
"error_count": null
|
|
}
|
|
},
|
|
"pages_tested": [
|
|
"/",
|
|
"/about",
|
|
"/services",
|
|
"/products",
|
|
"/news",
|
|
"/contact"
|
|
]
|
|
},
|
|
"checks_passed": [
|
|
{
|
|
"name": "status is 200",
|
|
"passes": 92929,
|
|
"fails": 0
|
|
},
|
|
{
|
|
"name": "response time < 2000ms",
|
|
"passes": 92929,
|
|
"fails": 0
|
|
},
|
|
{
|
|
"name": "body is not empty",
|
|
"passes": 92929,
|
|
"fails": 0
|
|
}
|
|
]
|
|
} |