返回博客
阅读约 1 分钟

用 AI 做出来的网站,发布前怎么检查

用七个发布检查项走一遍:范围、主流程、错误状态、表单、无障碍、安全、性能与回滚。

  • #Vibe Coding
  • #测试
  • #网站
  • #入门
Creaiter 的数字猫头鹰穿过七道金色关卡,从网站草图走向已批准的站点
分享

简短回答

一个用 AI 做出来的网站,只有在目标已确定、主流程和重要故障路径都能走通、服务端同样校验输入、键盘操作和目标设备可用、安全与性能有证据,并且有人能批准、观察并回滚到确切版本时,才算可以发布。请用七个明确的检查项,而不是把一个漂亮的预览当作证据。

四个发布阶段,七个检查项

把七项检查归入四个决定:目的、行为、风险和运维。

  1. 确定范围

    在测试之前写下目标、主流程和不应改动的区域。

  2. 证明行为

    在真实浏览器里检查正确路径、故障、表单和交互。

  3. 排查风险

    为权限、输入、密钥、依赖、设备和性能分别收集证据。

  4. 受控发布

    在切换线上版本之前安排好批准、观察和回滚。

AI 可以在几分钟里做出一个看起来已经完成的落地页或表单。这种速度正是 vibe coding 的优势,但它也让人容易把一个漂亮的预览当成一个可发布的产品。一个网站可以看上去无可挑剔,同时却有错误的链接、会消失的数据、没有解释的报错,或者一个信任可被篡改取值的服务端动作。

这份发布检查以工作坊报名为例。用户选择一个场次,填写姓名和邮箱,并收到一条确认。七个检查项把生成出来的草稿,与一个你能负责任地发布的版本区分开。每一项都要求一个可观察的证据,而不是一句「应该没问题」。

1. 在测试之前先确定结果和范围

写一句话说明必须达成的结果:「在手机和桌面端,感兴趣的人都能选择一个可报名的工作坊、提交有效的联系方式,并收到一条明确的确认」。再写下这一版不包含什么,例如支付、用户账号或日历同步。

这条边界能避免 AI 在复核过程中顺手加功能、并破坏原本已经可用的部分。一个范围清楚的提示词还会说明受影响的区域、必须保持不变的部分和验收标准。把初始状态存进版本控制,或保存为一个有名字的预览,这样你才能准确指出测过的是什么。

2. 在真实浏览器里走一遍主路径

以访客身份打开网站,而不只是以读代码的人身份。 从公开入口出发,走到报名页,选一个场次,填完表单并查看结果。刷新之后再走一遍,并在窄屏上重复。链接、焦点、等待和确认都属于这个流程。

Playwright 建议测试对用户可见的行为。用角色和可访问名称定位按钮,并检查可见的成功提示。内部 CSS 类名并不能证明有人能找到或理解这个操作。

只测正确路径是不够的。 至少要测一个空状态、一个无效输入和一次技术故障:

  • 没有可报名场次:页面说明情况,并给出一个有用的下一步。
  • 邮箱格式错误:字段旁出现可理解的说明,并保留焦点。
  • 双击或网络缓慢:报名不会被保存两次。
  • 服务端无响应:数据不会悄悄消失,也不会伪装成功。

3. 表单的两端都要保护

HTML 的字段类型、required、合理的上限和即时反馈,有助于用户改正错误。MDN 提醒:客户端校验不是完整的安全措施,因为一个请求可以绕过界面。服务端必须单独强制同样的业务上限。

在报名场景里,服务端只接受真实存在的场次标识、限制字段长度、有意识地规范邮箱,并拒绝意料之外的数据。它还会确认名额仍然充足。表单里的一个隐藏值不是授权。

画出数据流向:什么离开了浏览器、保存在哪里、谁能读取、什么时候被删除。如果 AI 无法从代码和配置中给出清晰答案,就说明仍有未解的风险。

4. 检查键盘、语义和提示

WCAG 提供了让网页内容更可访问的共同标准。为一次小型发布,你不需要背下全部条款,但主流程必须在没有鼠标时依然可理解、可使用。用 Tab、Shift+Tab、回车和空格走一遍。焦点不应消失,也不应被对话框挡住。

检查可见标签、标题层级、对比度、图片替代文本和状态提示。放大到 200% 并使用窄屏。自动审计能找到很多基础问题,但它替代不了键盘验证,也替代不了一次简短的屏幕阅读器或真人复核。

5. 排查安全边界

OWASP 归纳了反复出现的网页风险,比如失效的访问控制、错误配置、供应链缺陷和注入。把这些类别变成具体问题。 一个人能读到别人的报名记录吗?浏览器产物里有密钥吗?服务端是否信任表单里传来的角色?外部依赖和环境变量是否受控?

先让 AI 指出证据和位置,再谈改动。登录、支付、健康信息或其他敏感数据都值得一次有经验的复核。生成的代码并不天然不安全,但它令人信服的外观可能掩盖未经验证的假设

6. 在目标设备上测性能

web.dev 把 LCP、INP 和 CLS 作为衡量加载、响应和视觉稳定性的稳定 Core Web Vitals。它们是有用的信号,而不是一个通用的合格按钮。要测真实页面,包含生产环境的图片、字体、脚本和外部服务。

至少测一台有代表性的手机、一条受限网络和一款你的受众常用的桌面浏览器。观察主图、阻塞脚本、迟缓的控件和加载时的跳动。定一个小预算,比如图片的最大尺寸,以及没有正当理由就不引入阻塞式外部依赖。

7. 准备好批准、观察与回滚

发布前回答三个问题:谁批准?哪些信号会暴露故障?如何恢复上一个版本? 一个受控的预览——就像关于 ChatGPT Sites 的文章里那样——可以用于最后一次复核,前提是它的受众和表单数据都是被有意识选定的。

发布一个具体的、测过的版本,而不是含糊的「当前状态」。之后检查线上网址、主流程、服务端报错和真实提交事件。只有当目标版本、负责人和操作步骤都明确时,回滚才可靠。

发布用的精简清单

  • 目标、排除项和被测版本都已记录。
  • 正确路径、空状态、无效输入和服务端故障都在浏览器里测过。
  • 客户端与服务端都做校验;权限和数据流向清楚可述。
  • 流程在键盘、放大和一台相关手机上都能走通。
  • 密钥、环境变量、依赖和公开入口都已复核。
  • 用真实资源测过性能,并修复了关键回退。
  • 批准、观察和回滚都有明确的负责人。

这些检查不是为了抹掉 AI 辅助带来的速度。它们保护的正是这份速度的真正价值:快速地把一个想法变成一个你能解释、也愿意负责的有用产品。当某个证据缺失时,就把这个缺口变成下一个有边界的任务。 迭代仍然会很快,而发布不必变成一场赌博。

小测验

这个网站真的准备好了吗?

选出那个让每个发布决定更可靠的证据。

1 / 3

第一个发布检查项是什么?
显示答案
  1. 1. 第一个发布检查项是什么?

    正确答案: 确定目标与范围

    没有确定的结果,你就无法区分「行为正确」和「只是看着好看」。

  2. 2. 表单数据应该在哪里被校验?

    正确答案: 浏览器和服务端都要

    浏览器校验改善的是反馈,但可以被绕过。服务端必须守住自己的规则。

  3. 3. 什么证据能支撑一个发布决定?

    正确答案: 一条验证过的用户流程和一次可行的回滚

    可用的主流程和清晰的回滚路径,降低了对人和运维的风险。

来源

  1. WCAG 2 OverviewW3C Web Accessibility Initiative · 访问于 2026-07-24
  2. Client-side form validationMDN Web Docs · 访问于 2026-07-24
  3. Best PracticesPlaywright · 访问于 2026-07-24
  4. Web Vitalsweb.dev · 访问于 2026-07-24
  5. OWASP Top 10:2025OWASP Foundation · 访问于 2026-07-24

常见问题

新手需要独自完成这七项检查吗?

不需要。AI 可以准备测试和清单,但你必须理解目标、可见行为、数据流向和审批。登录、支付或敏感数据同样值得一次专业的安全复核。

有 Lighthouse 或无障碍评分就够了吗?

不够。自动审计能发现重要的问题模式,但发现不了所有交互、内容或业务错误。还要加上真实流程、键盘操作、故障状态和目标设备。

为什么只在浏览器里做表单校验不够?

请求可以被修改,也可以直接发给服务端。客户端检查提升的是使用体验;服务端必须自行强制可接受的取值和权限。

应该先自动化哪一个测试?

先自动化最重要的流程和最危险的故障,例如提交一份无效报名。检查角色、标签、提示和可见结果,而不是内部 CSS 类名。

什么时候可以带着已知问题发布?

只有当它们被记录、被有意识地接受,并且对人和数据都不关键时。一处小间距可以等;缺失的授权、数据丢失或无法使用的表单不行。