• Performance
  • Accessibility
  • SEO
  • Sustainability
  • Tools
  • Best Practices
  • 工具与 Best Practices

    自动化网站测试:有用的信号,还是虚假的安慰?

    像 Google Lighthouse 这样的工具能在几秒内完成网站检测并给出一个分数。这确实很有用——但很容易误读分数的含义。高分并不总意味着网站质量好。以下是这些工具能做什么、不能做什么,以及如何从中获取真正价值的说明。

    Web Audits 8 分钟阅读AI 辅助写作ClaudeAI 翻译Claude
    一群专注于智能手机的人,展现了现代社交连接的多样性。

    自动化测试工具的实际作用

    Google LighthouseWebPageTestWAVEwebaudits.org 上的 Audit 工具,会针对某个 URL 运行一系列自动化检查。它们测试的内容包括:

    • 页面加载速度(或表观加载速度)
    • 图片是否有 alt 文本
    • 页面是否使用 HTTPS
    • 是否满足特定无障碍规则
    • 页面传输的数据量
    • 基本 SEO 信号,如 meta 标签和标题结构

    结果通常是一个分数——通常在 0 到 100 之间——按类别细分。看起来很权威,但问题在于它可能产生误导。


    分数是代理指标,而非真相

    有一个原则有时被称为古德哈特定律:当一个指标成为目标时,它就不再是一个好指标。 换句话说,针对分数进行优化,与改善分数本应反映的事物并不是同一回事。

    这种情况在网站 Audit 中屡见不鲜。

    开发者可以让一个页面在 Lighthouse Performance 上获得近乎满分,而真实用户访问时仍感觉很慢——因为该工具在受控实验室条件下测量指标,而非真实网络环境。一个页面可以在无障碍性上得 100 分,却对依赖屏幕阅读器的用户来说完全无法使用,因为许多真实的无障碍问题需要人工判断,而非自动化检测。Deque 的研究表明,自动化工具只能发现约 57% 的无障碍问题——其余部分需要人工测试。

    高分是一个好兆头,但并不是保证。


    这些工具真正无法检测的内容

    自动化工具通过运行脚本来工作。它们能检查存在的内容和可测量的内容,但无法判断对用户真正重要的是什么。

    以下是它们真实遗漏的内容:

    可用性。 一个按钮可以足够大、色彩对比度充足,却仍令人困惑。工具无法判断用户是否理解界面。

    内容质量。 文字是否有用、诚实或易读,超出了任何自动化检查的能力范围。

    真实世界 Performance。 实验室测试使用固定条件。真实用户拥有不同的设备、网络连接、地理位置和浏览器状态。工具可能显示页面很快,但对你大多数真实访客来说加载却很慢。

    深层无障碍性。 表单字段可以有标签(工具会检查),但描述方式可能对屏幕阅读器用户毫无意义(工具会遗漏)。

    完整情境下的可持续性。 工具可以估算页面加载的碳足迹,但无法考虑页面的访问频率、是否替代了更高能耗的方案,以及服务器端发生了什么。


    它们真正擅长的事

    话虽如此,自动化工具仍然很有价值——尤其是在抱有正确预期的情况下使用。

    反馈速度。 快速扫描可以在几秒内发现明显问题。无论是 Audit 自己的网站还是评估供应商的工作,这都很有用。

    一致性。 工具每次应用相同的规则。这比人工审查更难实现。

    发现回归问题。 定期运行相同的测试,你会注意到某次部署后是否有什么变差了。

    开启对话。 对于非技术背景的客户,带有具体数据的工具报告,比抽象描述更容易引发关于优先级和取舍的讨论。

    容易摘取的成果。 缺失的 alt 文本、未压缩的图片、没有 meta description 的页面、缺少 HTTPS、阻塞渲染的脚本——这些都是真实问题,工具能快速发现它们。


    从客户的视角看

    如果你在付费让人构建或维护网站,自动化 Audit 结果可以作为有用参考——但应将其视为起点,而非成绩单。

    几点值得了解:

    • 分数可以通过只关注工具测量的内容来刷高。要问实际改进了什么,而不仅仅是分数是多少。
    • 不同工具给出不同结果。同一页面在 Lighthouse 上得 90 分、在另一个工具上得 60 分,并不矛盾——它们测量不同的内容。
    • 要求提供随时间变化的对比,而不仅仅是一次性的数字。你付费的工作完成后,Performance 是否有所提升?

    如果有人承诺满分 100,要对实现方式保持好奇。有些有助于提高分数的优化在真实世界中毫无益处,甚至是用一个问题换来另一个问题。


    从开发者的视角看

    工具速度快、成本低,且可自动化。将其纳入日常工作流程,而不仅仅是在上线前使用。

    几个实用习惯:

    • 在一致的环境中运行 Audit。 Lighthouse 结果因运行位置和方式而异。每次使用相同的设置(例如在部署流水线中使用 Lighthouse CI),使结果具有可比性。
    • 不要孤立地修复问题。 在采取行动之前,先理解被标记的问题实际意味着什么。有些建议互相冲突,或对真实世界的影响可以忽略不计。
    • 使用多种工具。 不同工具发现不同问题。结合 Lighthouse、WAVE 和人工审查,比任何单一工具都更接近真相。
    • 尽可能与真实用户测试。 即使是小规模的可用性测试,也会发现任何自动化工具都无法发现的问题。

    在有限预算下工作

    并非每个网站都有资源进行完整 Audit、一轮用户测试,以及修复所有问题的开发冲刺。这没关系。关键是如何确定优先级。

    一个有用的框架:哪些问题造成真实危害,哪些容易修复?

    优先级问题类型示例
    优先修复高影响、低投入缺失 alt 文本、无 HTTPS、断链
    计划处理高影响、较高投入全站色彩对比度差、服务器响应慢
    降低优先级低影响、高投入对用户无实际效果的微小分数提升
    暂时跳过低影响、低投入仅影响分数而无其他效果的调整

    从对真实用户最重要的事情开始。对于无障碍性,通常意味着确保核心功能(导航、表单、关键内容)在不使用鼠标和使用屏幕阅读器的情况下正常工作——再考虑边缘情况。对于 Performance,修复一张 4 MB 的图片比微调缓存头部更有价值。

    预算紧张时,结构化的 Audit 可以帮助确定首先处理什么。webaudits.org 上的工具可以提供跨多个类别的概览——可持续性、Performance、安全性、SEO 和无障碍性——让你在决定投入精力的方向之前,先了解最大的差距在哪里。


    如何处理 Audit 结果

    Audit 报告只有在有人付诸行动时才有用。以下是一个简单的处理方法:

    1. 分类。 梳理发现的问题并分类:严重、重要和次要。
    2. 理解后再修复。 对每个问题,确保你理解其在实践中的含义。有些被标记的项目是真实问题,有些是误报,有些是真正的取舍。
    3. 估算投入。 时间有限的小团队需要知道哪些修复是快速见效的,哪些是需要投入的项目。
    4. 修复并验证。 做出更改后,重新运行 Audit。确保问题真正得到解决——而不仅仅是分数上升了。
    5. 养成习惯。 一次性 Audit 只是一个快照。定期检查能在新问题变得严重之前发现它们。

    有用的工具,而非答案

    自动化测试是一种输入。它比人工审查更快、更便宜。它能持续地发现特定类型的问题。但它测量的是可测量的内容,而非最重要的内容。

    将其作为起点。结合人工测试、真实用户反馈和常识。对分数保持怀疑——包括高分。

    目标不是更好看的数字,而是更好的网站。

    关于自动化网站测试的常见问题

    自动化测试工具会引发许多实际问题——尤其对于初次接触网站 Audit 的人。以下是最常见问题的解答。

    所有文章