开发者生态
morning
结束有缺陷的网络应用程序
摘要
It is possible now to reliably and automatically detect and fix every bug which users are encountering on the web. This clearly hasn’t happened yet. Our mission at Replay is to bring it about. A few i...
and
the
every
they
can
bug
Replay
observability
app
with
2026-11-05
1 阅读
约5分钟阅读
bhackett
字号:
现在可以可靠地自动检测并修复用户在网络上遇到的每个错误。这显然还没有发生。我们 Replay 的使命就是实现这一目标。需要一些成分: 现代编码代理 可观察性,以查看每个错误 可观察性,可发现每个错误的根本原因 将这些连接在一起的线束 正确的可观察性是此过程的关键,因为它通常对于人工智能驱动的 SDLC 来说是关键。代理需要上下文才能蓬勃发展,而可观察性是代理了解他们正在构建的应用程序实际行为方式的上下文层。当他们实际上不知道发生了什么时,他们就会开始猜测、犯错误,事情很快就会走下坡路。当他们确实知道时,他们可以确认有关应用程序行为的理论并保持正轨。更好的可观察性带来更好的结果。 Perfect Observability Replay 的核心技术是 Chromium 和 Node.js 的时间旅行调试器。这些运行时的分叉版本以较低的开销捕获运行时的非确定性输入,从而允许确定性地重播运行时。它在记录时所做的一切都可以恢复并解压缩到本质上是数据库中,从而允许代理查看执行的每条语句、每个点的状态、每个控制和数据依赖性等等,而不会丢失细节。时间旅行调试器提供了完美的可观察性:有关应用程序行为方式的每个问题都可以得到解答。有了一张在手,特工就永远不需要猜测。他们可以准确地弄清楚发生了什么,找到问题的实际根本原因,并制定正确的解决方案。重播 QA 几个月前,我们推出了重播 QA,作为一种嵌入式工具,用于在我们的调试器的基础上查找和解释应用程序中的每个错误。 QA 自行或在指导下探索和测试应用程序,并且借助新的自我修复功能,可以通过从部分和经过编辑的数据再现用户会话来创建记录。它处理它创建的记录,以发现各种错误(从损坏的功能到故障、性能问题、安全漏洞等),并针对每个错误确定根本原因,并使用从记录中提取的证据支持其分析。 QA 也可以自行修复。它的整个后端都会被记录下来,当检测到问题时(未能准确地发现错误或根本原因),这些问题将由软件工厂进行调试、修复并转换为持久的测试用例。作为一项实验,我们对 40 个已赢得竞赛或通过主要应用程序构建工具(Lovable、Replit、Base44、Bolt.new 等)进行推广的应用程序进行了 QA。我们让 Astra 确认并删除重复的结果,最终发现了 900 多个错误,分布如下。示例:死按钮 为了进行比较,我们在其中一些应用程序上运行了其他 QA 工具。以下是 QA Wolf 关于其中一个应用程序 CallVance 的错误报告。下载按钮不起作用。 QA Wolf 识别并生成错误的 STR,但根本没有解释导致该错误的原因。处理此错误报告的代理必须阅读代码并猜测根本原因是什么。如果它猜错了,就必须经历几个修复周期,最终可能会陷入困境,无法解决问题。这些问题并非 CallVance 或 QA Wolf 特有的。应用程序构建工具的产品充满了错误,在不使用时间旅行调试器的情况下对它们进行质量检查只能提供有关原因的有限信息。通过观看屏幕记录或查看网络和控制台日志进行的表面观察有时可以提示原因,但无法明确识别,并且代理始终只能猜测。以下是来自 Replay QA 的针对同一个死按钮的报告。重放 QA 确定了确切的问题:React 组件上缺少 onClick 处理程序。 QA 识别了与按钮相关的渲染函数,并提供了显示该函数和缺失处理程序的证据。审查此报告的代理可以根据证据交叉检查根本原因,并无需猜测即可修复错误本身。示例:布局转换 上述技术同样适用于更复杂的错误,包括那些在不进行基于记录的分析的情况下难以发现的错误。下面是同一个 CallVance 应用程序中的布局变化。当应用程序加载时,骨架会改变大小,页面上的其他控件也会自行移动,从而影响可用性。以下是报告中的根本原因。该报告更广泛,并参考所有影响因素描述了布局变化的根本原因,包括不同的 React 提交、其间发出的网络请求以及组件渲染函数中的变量值。这份详细的报告为代理提供了正确修复布局变化所需的信息。下一步是什么 Replay QA 现已全面开放并免费试用。可以轻松设置集成,包括自我修复用户会话分析、github 和代理连接以及计划运行,以根据您的需要密切关注您的应用程序
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱