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.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
350878fd0794084b97a5912c08e25320b18fc2c2
|
||||
@@ -0,0 +1,5 @@
|
||||
M src/app/(marketing)/products/standalone/[id]/page.tsx
|
||||
M src/components/layout/footer.tsx
|
||||
M src/lib/cms/content-types.ts
|
||||
?? release-acceptance-reports/git-sha.txt
|
||||
?? release-acceptance-reports/git-status.txt
|
||||
@@ -0,0 +1,258 @@
|
||||
{
|
||||
"root_group": {
|
||||
"groups": [],
|
||||
"checks": [
|
||||
{
|
||||
"path": "::status is 200",
|
||||
"id": "6210a8cd14cd70477eba5c5e4cb3fb5f",
|
||||
"passes": 50275,
|
||||
"fails": 0,
|
||||
"name": "status is 200"
|
||||
},
|
||||
{
|
||||
"name": "response time < 500ms",
|
||||
"path": "::response time < 500ms",
|
||||
"id": "3e02485a995423a591645f4eee6c60eb",
|
||||
"passes": 50133,
|
||||
"fails": 142
|
||||
}
|
||||
],
|
||||
"name": "",
|
||||
"path": "",
|
||||
"id": "d41d8cd98f00b204e9800998ecf8427e"
|
||||
},
|
||||
"options": {
|
||||
"summaryTrendStats": [
|
||||
"avg",
|
||||
"min",
|
||||
"med",
|
||||
"max",
|
||||
"p(90)",
|
||||
"p(95)"
|
||||
],
|
||||
"summaryTimeUnit": "",
|
||||
"noColor": false
|
||||
},
|
||||
"state": {
|
||||
"isStdErrTTY": false,
|
||||
"testRunDurationMs": 962269.696,
|
||||
"isStdOutTTY": false
|
||||
},
|
||||
"metrics": {
|
||||
"vus": {
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"max": 200,
|
||||
"value": 1,
|
||||
"min": 1
|
||||
},
|
||||
"type": "gauge"
|
||||
},
|
||||
"data_sent": {
|
||||
"type": "counter",
|
||||
"contains": "data",
|
||||
"values": {
|
||||
"count": 3787370,
|
||||
"rate": 3935.8716332266167
|
||||
}
|
||||
},
|
||||
"data_received": {
|
||||
"type": "counter",
|
||||
"contains": "data",
|
||||
"values": {
|
||||
"count": 4114391706,
|
||||
"rate": 4275715.761498947
|
||||
}
|
||||
},
|
||||
"http_req_failed": {
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"fails": 50275,
|
||||
"rate": 0,
|
||||
"passes": 0
|
||||
},
|
||||
"thresholds": {
|
||||
"rate<0.01": {
|
||||
"ok": true
|
||||
}
|
||||
},
|
||||
"type": "rate"
|
||||
},
|
||||
"http_req_sending": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"min": 0.002,
|
||||
"med": 0.011,
|
||||
"max": 177.801,
|
||||
"p(90)": 0.026,
|
||||
"p(95)": 0.035,
|
||||
"avg": 0.032912302337142686
|
||||
}
|
||||
},
|
||||
"iteration_duration": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"avg": 2512.0013247870893,
|
||||
"min": 1001.589709,
|
||||
"med": 2512.430792,
|
||||
"max": 4962.330875,
|
||||
"p(90)": 3706.0576334,
|
||||
"p(95)": 3854.9937001
|
||||
}
|
||||
},
|
||||
"vus_max": {
|
||||
"type": "gauge",
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"value": 200,
|
||||
"min": 200,
|
||||
"max": 200
|
||||
}
|
||||
},
|
||||
"http_req_blocked": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"p(90)": 0.009,
|
||||
"p(95)": 0.012,
|
||||
"avg": 0.014019035305816654,
|
||||
"min": 0,
|
||||
"med": 0.003,
|
||||
"max": 82.091
|
||||
}
|
||||
},
|
||||
"http_req_waiting": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"avg": 5.787236081551489,
|
||||
"min": 0.386,
|
||||
"med": 1.181,
|
||||
"max": 1103.045,
|
||||
"p(90)": 3.599,
|
||||
"p(95)": 6.726899999999993
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"type": "rate",
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"rate": 0.0028244654400795626,
|
||||
"passes": 142,
|
||||
"fails": 50133
|
||||
},
|
||||
"thresholds": {
|
||||
"rate<0.01": {
|
||||
"ok": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"http_req_tls_handshaking": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"p(95)": 0,
|
||||
"avg": 0,
|
||||
"min": 0,
|
||||
"med": 0,
|
||||
"max": 0,
|
||||
"p(90)": 0
|
||||
}
|
||||
},
|
||||
"http_req_receiving": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"max": 70.258,
|
||||
"p(90)": 0.195,
|
||||
"p(95)": 0.27,
|
||||
"avg": 0.14992813525609242,
|
||||
"min": 0.017,
|
||||
"med": 0.072
|
||||
}
|
||||
},
|
||||
"iterations": {
|
||||
"values": {
|
||||
"count": 50275,
|
||||
"rate": 52.246267557821966
|
||||
},
|
||||
"type": "counter",
|
||||
"contains": "default"
|
||||
},
|
||||
"checks": {
|
||||
"values": {
|
||||
"rate": 0.9985877672799602,
|
||||
"passes": 100408,
|
||||
"fails": 142
|
||||
},
|
||||
"type": "rate",
|
||||
"contains": "default"
|
||||
},
|
||||
"http_reqs": {
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"count": 50275,
|
||||
"rate": 52.246267557821966
|
||||
},
|
||||
"type": "counter"
|
||||
},
|
||||
"http_req_duration{expected_response:true}": {
|
||||
"type": "trend",
|
||||
"contains": "time",
|
||||
"values": {
|
||||
"min": 0.416,
|
||||
"med": 1.28,
|
||||
"max": 1103.158,
|
||||
"p(90)": 3.878,
|
||||
"p(95)": 7.259599999999995,
|
||||
"avg": 5.970076519144683
|
||||
}
|
||||
},
|
||||
"http_req_connecting": {
|
||||
"values": {
|
||||
"avg": 0.001428622575832919,
|
||||
"min": 0,
|
||||
"med": 0,
|
||||
"max": 18.901,
|
||||
"p(90)": 0,
|
||||
"p(95)": 0
|
||||
},
|
||||
"type": "trend",
|
||||
"contains": "time"
|
||||
},
|
||||
"http_req_duration": {
|
||||
"values": {
|
||||
"avg": 5.970076519144683,
|
||||
"min": 0.416,
|
||||
"med": 1.28,
|
||||
"max": 1103.158,
|
||||
"p(90)": 3.878,
|
||||
"p(95)": 7.259599999999995
|
||||
},
|
||||
"thresholds": {
|
||||
"p(95)<500": {
|
||||
"ok": true
|
||||
},
|
||||
"p(99)<1000": {
|
||||
"ok": true
|
||||
}
|
||||
},
|
||||
"type": "trend",
|
||||
"contains": "time"
|
||||
},
|
||||
"response_time": {
|
||||
"type": "trend",
|
||||
"contains": "default",
|
||||
"values": {
|
||||
"max": 1103.158,
|
||||
"p(90)": 3.878,
|
||||
"p(95)": 7.259599999999995,
|
||||
"avg": 5.970076519144683,
|
||||
"min": 0.416,
|
||||
"med": 1.28
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user