Files
novalon-website/tests/performance/stress-test-summary.json
T
zhangxiang a2ffd6f27b test(acceptance): complete release acceptance testing — conditional pass
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.
2026-08-13 07:11:12 +08:00

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
}
]
}