在 Google Chrome 上执行的自动化测试?

软件测试 自动化测试 铬合金
2022-01-17 14:21:35

我已经使用 Chrome 的 Canary 构建(夜间构建)一个月了。到目前为止,质量一直很高,并且没有任何重大问题。有人可以描述在每个版本上执行的自动化测试吗?

我相信 Canary 版本在发布之前不会手动检查,因此自动化测试必须是广泛的。

http://blog.chromium.org/2011/05/adding-more-yellow-to-mac-color-scheme.html

1个回答

Ok Chrome 建立在 WebKit 开源引擎之上,该引擎最初由 Apple 为 Safari 构建。第一轮测试作为该项目的一部分运行,并记录在http://www.webkit.org/quality/testing.html

WebKit 测试 在补丁可以登陆存储库中的任何框架之前,布局回归测试必须通过。要运行这些测试,请执行 run-webkit-tests脚本

该脚本将转储所有页面的渲染树,并将结果与​​预期的正确结果进行比较。如果没有发现差异,则补丁已通过测试。如果任何测试失败,则在解决测试中的差异之前无法提交补丁。

回归测试必须在 Leopard 上运行,因为签入的预期结果是在 Leopard 上生成的。

JavaScriptCore 测试 如果您要对 JavaScriptCore 进行更改,则必须在登陆更改之前运行一个额外的测试套件。这是 Mozilla JavaScript 测试套件。

JavaScript 测试涵盖了哪些内容?

JavaScript 测试涵盖了核心 JavaScript 引擎的功能。这包括以下 JavaScript 对象:数组、布尔值、日期、函数、全局对象、数学、数字、对象、正则表达式和字符串。

此外,JavaScript 测试还包括解析、词法约定、表达式、语句、类型转换和异常处理。如何运行测试 执行 run-javascriptcore-tests 脚本。该脚本将运行所有测试并总结结果与当前预期的差异。

刚刚发生了什么 在所有测试运行完成后,测试结果将保存到 actual.html。该脚本将本地树的这些结果与树尖预期通过/失败的结果进行比较。如果您的更改导致任何回归,您将意识到它们。如果您修复了导致现有故障的错误,您还将了解您的修复影响了哪些特定测试。

然后谷歌将 webkit 构建到 Chrome 中,并运行一整套更多测试,这些测试记录在这里:http ://dev.chromium.org/developers/testing

以下是 Chromium 当前使用的一些测试的非详尽的可能已过时的列表:automated_ui_tests - 使用像 ui_tests 这样的自动化,但在单独的可靠性机器人上运行。

base_unittests - 测试基本模块。

browser_tests - 测试浏览器 UI,但在同一个进程中,而不是像 ui_tests 这样的单独进程。

installer_unittests - 测试 Chromium 安装程序。

interactive_ui_tests - 使用像 ui_tests 这样的自动化,但测试需要模拟用户事件的交互功能,如在页面中查找和标签拖动。它们在单独的机器人上运行,其中始终有一个登录用户,因此交互式事件不会失败。

ipc_tests - 测试 IPC 子系统在浏览器、渲染器和插件进程之间的通信。

layout_tests - WebKit 的一部分。我们使用 test_shell 运行这些测试(见下文)。mini_installer_test - 测试迷你安装程序。

net_perftests - 磁盘缓存和 cookie 存储的性能测试。

net_unittests - 测试网络模块。

npapi_layout_test_plugin - 与布局测试一起使用的 NPAPI 插件。

npapi_test_plugin - 与 plugin_tests 和 ui_tests 一起使用的 NPAPI 插件。

perf_tests - 测试某些子模块的性能 - JSON、安全浏览、URL 解析等。

plugin_tests - 测试插件子系统。

可靠性测试 - 在渲染器挂起或崩溃后验证 Chromium 恢复的测试。

security_tests - Chromium 的一组安全测试。

selenium_tests - 用于运行 selenium 测试的驱动程序。

startup_tests - 测试 Chromium 的启动性能。

tab_switching_test - 测试选项卡切换功能。

test_chrome_plugin test_shell - Test Shell 是一个独立的应用程序,用于运行渲染器 (WebKit)。

test_shell_tests - 测试外壳中的测试集合。

ui_tests - 在单独的进程中启动 Chromium 并通过自动化控制它的测试。

ui_unittests - /src/ui 模块的单元测试。

unit_tests - 用于单元测试的厨房水槽。这些测试涵盖了 Chromium 中的几个模块。

这就是在每个版本的 Chrome 上进行的测试。