我们怎样自动化我们的内容翻译 QA 测试

这篇文章是关于我们怎样在不牺牲速度或灵活性的情况下自动化这些流程以确保质量。 作为首席 QA 自动化工程师,我负责对 Nord Security 的三个主要产品的各个方面进行自动化测试。 这包括设计能够涵盖用户界面和后端 API 回归测试的测试库和统一框架架构。

挑战

Nord Security 的网络域包含数千个不同语言的页面。 验证这些页面的每次更新的范围太大,QA 工程师无法手动执行。 它涉及使用字典工具来评估标签在每个受影响页面上的正确语言是否有意义。 我们需要一个更复杂的解决方案来处理这个问题。

主要挑战是尽可能减少人力和人力,因此我们决定尝试尽可能多地自动化内容测试步骤。

首先,我们必须弄清楚怎样测试不同语言的标签。 几乎不可能跟踪所有受支持语言的所有标签更改,而且我们的测试维护资源有限,因此硬编码文本值不是一个好的解决方案。 该工具必须能够自行评估所有支持的语言。

第二个问题是处理任何给定页面和子页面的能力。 每次发布新页面或子页面时几乎不可能更新测试工具,因此该工具必须能够立即适应新页面。

第三,我们必须找到一种从任何站点提取所有文本标签的方法。 这意味着我们不能依赖特定的元素选择器——它们必须是通用的。 这是因为我们的网站是怎样呈现给客户的。 有些页面内容只能从特定国家的 IP 地址看到,所以我们需要一种通过 IP 地址进行迭代的方法。

最后,仍然需要人工交互来完成测试结果评估。 因此,我们还需要一个复杂的报告工具来显示结果。 它们呈现得越清晰、越简单,就越能减少人力。

解决方案

一旦我们列出了我们的要求,我们就明白常规的解决方案不会削减它。 经过深思熟虑、漫长的调查和大量的试错实验,我们实现了一个满足我们对这个问题的质量要求的 AI 模块。 我们选择了一个训练有素的 AI 模块和基于 Selenium 的库。

AI 模块帮助我们确定文本语言(以检测语言不匹配)并让我们自动检查翻译是否到位。 无需对每个页面上每种语言的每个标签进行硬编码,因为无论标签数量、语言或页面怎样,人工智能都可以正常工作。 它也需要很少的维护。

为了解决 IP 本地化挑战,我们决定使用 Docker 虚拟化机器来构建隔离的虚拟环境镜像——容器。 这些容器必须具有所有必需的测试文件和依赖项,并且能够建立 VPN 隧道连接,而不管运行映像的是谁或什么以及它们在哪里。 他们还需要导出和存储测试工件——带有结果的报告、屏幕截图和任何已发现的错误——用于评估、进一步调查和在主机或 CI 工具上存档。

在多次尝试显示测试结果后,我们发现 HTML “Allure” 报告是查看器最终确定测试结果的最便捷方式,因此该库也包含在虚拟机容器中。

结果

我们现在几乎所有的内容测试都依赖于这个解决方案。 它通过显着减少测试新翻译所需的人力来帮助我们按时完成任务。 此外,它还帮助我们在我们的语言实现中找到了一些手动很难找到的错误。 因为测试运行是完全自动化的,所以是否有一种或几种新语言或有多少新页面出现不再重要。 我们不再需要单独审查所有更改。 该工具会报告它发现的任何不匹配情况,QA 工程师只需要查看可疑标签并做出最终决定。 所需的人力已大大减少。

未来该何去何从?

我们还有几个新的挑战需要解决。 其中一些包括对网站结构、文本、字体大小、覆盖和整体客户体验问题的视觉检查。 这些目前正在手动测试,但在内容语言检查工具取得巨大成功之后,我们一直在努力实现更多关键点的自动化。 更广泛地使用基于人工智能的模块可能是确保我们网站质量的关键。

订阅订阅您已成功订阅我们的时事通讯!电子邮件无效订阅