您的测试仍然使用 Playwright、Selenium 和 pytest。我们不会取代它们。我们让它们满足企业级需求,而您拥有一切:代码、证据和历史记录。

Nexus Studio 的每个术语, 只定义一次。

Nexus Studio 是一款面向 Playwright、Selenium 和 pytest 的本地部署 QA 操作系统,使用 14 种判定结果评估测试,并保留每次失败的证据。

以下每个条目都提供一个明确的定义,并附有该术语所在页面的链接。如果页面内容与本术语表不一致,以页面为准。最后更新: .

产品

Nexus Studio 是什么,以及它在哪里运行。

  • 什么是 Nexus Studio?

    Nexus Studio 是一款面向 Playwright、Selenium 和 pytest 的本地部署 QA 操作系统,使用 14 种判定结果评估测试,并保留每次失败的证据。

    关于 Nexus Studio

  • 什么是本地部署质量保证?

    在您掌控的机器上运行测试、保留证据并存储历史记录。Nexus Studio 唯一的自动联网操作是许可证检查,不会传输任何测试数据。

    测试运行及其证据可以存放在哪里

  • 什么是取证判定?

    用于替代通过或失败的 14 种命名结果之一。这些结果可区分完全通过、有保留的通过、应用故障和环境问题。

    14 种判定是如何确定的

  • 什么是引擎主机?

    引擎运行测试套件所在的机器:Windows 电脑本身、该电脑上的 Docker, 或通过 SSH 连接的 Linux 服务器。Studio 始终在 Windows 上运行。

    掌控您的基础设施

14 种判定结果

每次运行都会得到其中一种判定,而不是通过或失败。判定顺序见判定页面。

  • SECURE 是什么意思?

    一次直接通过的运行,无需重试,也未修复选择器。无需采取任何措施。

    SECURE 的含义

  • CHAOS_RESILIENT 是什么意思?

    在注入故障的情况下仍通过的运行,说明应用程序经受住了考验。此类运行与缺陷报告分开归档,因此混沌测试不会影响稳定性统计数据。

    如何评判混沌测试运行

  • AUTO_RECOVER 是什么意思?

    只有修复失效的选择器后才通过的运行。测试中的定位器仍然失效,因此需要修复。

    如何对通过的测试分级

  • FLAKY 是什么意思?

    失败后在未修复任何内容的情况下重试通过的运行。这表明应用程序或测试存在原因不明的不稳定性,而不是问题已修复。

    关于 FLAKY 的解答

  • PERFORMANCE_DEGRADED 是什么意思?

    断言通过但页面过慢的运行:超出了 Web Vitals 或懒加载的性能预算。在将检查设为严格模式之前,仅作提示。

    可能改变通过判定的严格检查

  • A11Y_VIOLATION 是什么意思?

    断言通过但无障碍检查未通过的运行。元数据会列出触发的每条 axe-core 规则。在将检查设为严格模式之前,仅作提示。

    可能改变通过判定的严格检查

  • SECURITY_VIOLATION 是什么意思?

    断言通过但安全响应头检查未通过的运行,例如缺少 CSP. 在将检查设为严格模式之前,仅作提示。

    可能改变通过判定的严格检查

  • BREACHED 是什么意思?

    断言失败且无法用环境或测试框架的已知问题模式解释错误的运行。这是实际发现的问题,需要分诊为真实缺陷或误报。

    关于 BREACHED 的解答

  • BREACHED_FLAKY 是什么意思?

    经历过重试后,在最后一次尝试中失败的运行,说明失败本身并不稳定。提交缺陷前请比较各次尝试。

    不稳定的测试还是真实缺陷

  • CHAOS_BREACHED 是什么意思?

    在注入故障后出错的运行。这是发现的韧性问题,与功能缺陷报告分开记录。

    如何评判混沌测试运行

  • TIMEOUT 是什么意思?

    未能及时响应的运行。这并不能证明应用程序有问题:更改任何限制之前,请先检查页面当时的速度。

    关于 TIMEOUT 的解答

  • UNREACHABLE 是什么意思?

    完全无法访问主机的运行:在观察到任何页面之前,DNS 解析或连接就已失败。这并不代表发现了应用程序的问题。

    为什么应用程序正常时测试仍会失败

  • BLOCKED 是什么意思?

    网站通过 403、429、拦截页面或机器人验证进行自我防护的运行。这并不代表发现了应用程序的问题。

    关于 BLOCKED 的解答

  • CRASHED 是什么意思?

    浏览器或进程意外终止的运行:页面关闭、DevTools 协议错误或 WebDriver 会话失效。这是基础设施问题,而非应用程序问题。

    为什么应用程序正常时测试仍会失败

API 测试

REST 和 GraphQL 测试有各自的判定结果。

  • 什么是 API 判定结果?

    REST 和 GraphQL 测试有七种结果:API_SECURE、API_FLAKY、API_DRIFTED、API_BREACHED、API_DEGRADED、API_VULNERABLE 和 API_BLOCKED. 每种结果均根据响应判定。

    Studio 导览中的 API 测试

  • 什么是结构漂移?

    API 响应的结构与上一次记录相比发生变化。结果显示为 API_DRIFTED,在设为严格模式之前仍计为通过。

    Studio 导览中的 API 测试

  • API_BLOCKED 是什么意思?

    一次 API 运行返回了 429, 或带有 Cloudflare 或 Akamai 特征的 403, 因此请求从未到达你的产品。

    Studio 导览中的 API 测试

证据与证明

一次运行会留下什么,以及如何核验。

  • 什么是 Evidence Locker?

    Studio 中归档所有结果的页面。失败时会保留取证报告、元数据、原始日志和屏幕截图,确实失败时还会保留视频。

    一次失败会归档哪些内容

  • 什么是密封证据保管链?

    一种可按需启用的账本,使用 SHA-256 对每条证据记录中的所有文件进行哈希计算,并将该记录链接到上一条记录,以便在核验时指出最早发生变更的记录。

    证据

  • UNVERIFIED 是什么意思?

    表示不存在证据保管链账本的状态。核验会报告 UNVERIFIED 并判定失败,绝不会默默返回 OK, 因为缺少证明不等于已经证实。

    Studio 导览中的 Evidence Locker

  • 什么是真实缺陷或误报判定?

    对失败运行做出的分诊判定,必须填写理由。该判定会纳入证据保管链。

    Studio 导览中的 Evidence Locker

  • 什么是失败视频?

    为真实失败保留的会话录像:默认包括 BREACHED、BREACHED_FLAKY 和 CHAOS_BREACHED, 在设置中启用后还包括 TIMEOUT 和 BLOCKED.

    一次失败会归档哪些内容

  • 什么是身份矩阵?

    历史记录中的视图,展示每项测试在各个浏览器和设备上的结果,标明在哪些环境中通过、在哪些环境中未通过。点状标记表示从未在该环境中运行。

    Studio 导览中的历史记录

  • 什么是证据存储限额?

    所有已存储证据共用的总容量上限,默认为 20 GB, 同时要求磁盘可用空间至少保留 10 GB. 最早的运行记录会优先删除;每项测试的最新运行记录会保留。

    存储与自动维护

  • 什么是不稳定性预测器?

    基于你自己的历史记录训练,为每项测试与浏览器组合给出风险评分,并注明置信度。只有一次运行时会显示为低置信度。

    Studio 导览中的历史记录

创建与修复测试

如何编写、审查和持续维护测试。

  • 什么是 Nexus Recorder?

    随着你在真实浏览器中点击,自动编写 Playwright 或 Selenium 代码,全程不使用 AI, 并按固定规则为每个选择器评分。

    Studio 导览中的 Nexus Recorder

  • 什么是 AI 编写器?

    使用你现有的 AI 工具或本地模型起草测试。草稿需通过 Vet 审查并在沙盒中试运行;在你接受之前不会保存任何内容。

    Studio 导览中的 AI 编写器

  • 什么是 Vet?

    基于规则的测试审查:包含七项检查,不使用 AI, 其中包括检查测试 ID、断言是否可能失败,以及是否未使用休眠等待、强制点击、模拟对象或脆弱的定位器。

    Studio 导览中的 Vet

  • 什么是 Test Adapter?

    导入团队现有的 Playwright 或 Selenium 测试,依据规则而非 AI 进行改写,如果会导致任何断言丢失,则阻止导入。

    Studio 导览中的 Test Adapter

  • 什么是行修复?

    失败代码行旁侧栏中的操作,可重新录制该步骤或换用更稳健的选择器,优先选择最稳健的方案,最后才考虑 XPath. 保存更改即表示批准。

    UI 变更后失效的测试

  • 什么是先征求同意的自愈?

    失败后,后台浏览器会重放测试直至失败行,并准备候选选择器,全程不使用 AI. 在你做出选择之前,测试会一直保持红色失败状态。

    修复此行与自愈

  • 什么是定位器健康状况?

    列出当前打开的测试中稳定性较低和中等的定位器,在它们失效前显示所在行及原因。

    UI 变更后失效的测试

  • 什么是沙盒预演?

    新测试会先在沙盒中运行,不写入任何证据或历史记录。完成三次预演后,即可进行首次正式运行。

    上手的前 7 分钟

运行测试

测试的运行位置与时间。

  • 什么是运行巡检?

    Studio 的运行界面。可在 Chromium, Firefox, WebKit 和 Android 真机上依次运行测试,或同时运行最多三项测试,并为每个引擎分别给出判定结果。

    Studio 导览中的巡检功能

  • 什么是监控?

    定时重新运行选定的测试,可设为每 5 分钟至每 24 小时运行一次,或在指定日期运行一次。仅在状态发生变化时通过 Slack 或 Telegram 发送提醒。

    Studio 导览中的监控功能

  • 无需隧道的 localhost 测试是如何工作的?

    引擎会启动应用,等待其响应,运行测试,然后停止应用,从而直接测试 localhost 或私有预发布环境 URL.

    localhost 的工作原理

  • 什么是自托管 Playwright?

    在您掌控的机器上运行 Playwright, 而非使用云端测试集群:可以是您的电脑,迷你电脑,Docker 或通过 SSH 连接的 Linux 服务器,证据保存在您自己的磁盘上。

    自托管 Playwright

压力测试,安全与报告

功能测试之外的检查,以及发布决策。

  • 什么是 Chaos Lab?

    向浏览器注入故障,例如网络缓慢,断网或 CPU 限速,也可暂停,停止,强制终止和重启已注册的 Docker 容器。

    Studio 导览中的 Chaos Lab

  • NOT_INJECTED 是什么意思?

    表示基础设施混沌测试中未触发任何故障的结果。如果某次运行中没有故障实际生效,就绝不会将其判定为具备韧性。

    Studio 导览中的 Chaos Lab

  • 什么是负载测试?

    引擎中的工作线程生成负载,并报告每秒请求数,p50 至 p99 延迟,错误率和 APDEX, 判定结果为 PASS, OVER_BUDGET 或 UNMEASURED.

    Studio 导览中的负载测试

  • 什么是 Smart Monkey?

    用于扫描您获授权测试的目标的自主 DAST 扫描器。它通过您本机上的监听器确认盲测发现的问题,并导出 SARIF.

    Studio 导览中的安全功能

  • 什么是视觉回归?

    与您已批准的图片进行像素对比:首次运行建立基准,后续运行则与该基准比较。基准按浏览器和平台分别保存。

    Studio 导览中的视觉回归

  • 什么是管理层报告?

    为发布审批人提供允许发布,谨慎发布或禁止发布的建议,附带置信度,覆盖率和通过率,以及失败项和相应根本原因。

    Studio 导览中的管理层报告

测试概念

按本站用法定义的常用术语。

  • 什么是不稳定测试?

    首次失败但重试后通过的测试。Nexus Studio 会将其归类为 FLAKY, 而不是直接标记为通过,让不稳定的测试始终清晰可见。

    不稳定的测试还是真实缺陷

  • 什么是假失败?

    由环境而非应用本身导致的测试失败,例如网络缓慢、主机无法访问、机器人验证或浏览器无响应。

    为什么应用程序正常时测试仍会失败

  • 什么是脆弱选择器?

    界面变化时就会失效的定位器。定位器健康状况会在脆弱选择器失效前将其列出,修复行则会提出更稳健的替代方案。

    UI 变更后失效的测试

  • 什么是按机器定价?

    套餐按已激活的 Windows 安装实例计费,每个套餐均包含全部功能,不按用户、测试或并行运行次数收费。

    定价

在您自己的应用中了解这些术语。

在您的设备上免费使用 30 天,畅享全部功能。无需信用卡。