开发人员在测试时面临的 12 个问题及其解决方法

2025-06-11

开发人员在测试时面临的 12 个问题及其解决方法

自动化测试有时会给开发人员带来很大的麻烦,因为设置缓慢、测试不牢固,而且工具甚至不能正确扩展。

即使是无代码工具也并非像看起来那么简单。但如果有一种方法可以让测试变得更智能、更轻松呢?

今天,我们将介绍开发人员在测试期间面临的 12 个常见问题以及 KaneAI(GenAI 原生测试代理)如何帮助解决这些问题。

让我们开始吧。

注意:在每个要点的末尾,您都会看到问题和解决方案的摘要,为您提供简单的概述。


🎯 什么是端到端软件测试?

在讨论这些要点之前,让我们快速了解一下端到端软件测试。

一般来说,测试被认为是检查所有代码的准确性。

端到端测试更像是从用户的角度测试整个应用程序,从开始到结束。它确保用户的旅程尽可能顺畅。

Selenium 和 Cypress 等工具有助于自动化这些测试,使其更完善、更可靠。我们来看一个简单的例子example of a signup form

  • 输入空白电子邮件和密码
  • 输入有效的电子邮件和密码
  • 输入无效的电子邮件和密码
  • 点击注册按钮

这些案例检查操作是否按预期进行,例如显示无效数据的错误消息或使用有效数据确认注册成功。

如果你有兴趣了解更多关于端到端测试的知识,可以阅读  CircleCI的一篇很棒的博客:什么是E2E?端到端测试指南。

 

🎯 什么是 KaneAI?

我以 KaneAI 为例,但最后我也列出了其他类似的工具。

如果您还不了解 KaneAI,它是全球首款面向高速质量工程团队的 GenAI 原生测试代理,可让您使用自然语言规划、编写和改进测试。您只需用自然语言指定目标,它就会生成测试,甚至检查错误。

如果您有兴趣尝试一下,只需预订演示即可。

KaneAI 的仪表板

KaneAI仪表板

 

现在,让我们了解测试过程中的一些常见痛点以及 KaneAI 如何解决它们。


1. 回归测试是必要的,但您可以使这个过程更容易。

编写和维护测试需要花费很多精力,特别是对于具有大量功能的应用程序(如电子商务平台)。

想象一下,每次推送新功能时都要检查登录功能。步骤都一样:输入邮箱、密码,然后点击登录。只需将这个步骤乘以你构建的所有其他功能即可。

回归测试可确保现有功能在变更后仍能继续正常工作。有了 KaneAI,一切变得轻而易举。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 以一种非常简单的方式解决了这个问题。

转到kaneai.lambdatest.com上的仪表板。

如果您在仪表板上注意到,您还会发现一组预先构建的用例,它们提供了一种轻松理解用户流程的方法。您只需点击一下即可运行该用例!

预建模板

首先,您需要提供一个简单的高级目标并观察 KaneAI 如何执行它。

您可以通过单击 来启动该过程Create a Web Test。如果您使用 KaneAI 测试移动应用程序,您还可以运行应用程序测试。

启动 Web 代理

您可以使用简单的英语描述您的测试步骤。它还允许在工作流中注入自定义 JS 。

您可以继续添加测试步骤,它们将按顺序运行。

生成测试步骤

name您可以使用和保存测试用例description(它将自动生成)。您还可以选择测试类型、设置测试状态并定义必要的标签。

保存你的测试用例

然后,您可以使用 执行它HyperExecute。它是一个超快速、智能的端到端测试执行和编排平台。它与框架和语言无关,据称比任何基于云的测试执行网格快 70%。

然后,您可以使用所有主要语言和框架(例如 Cypress JS、Playwright JS、Playwright Python、Selenium Java、Selenium Python 和 WebdriverIO)导出自动化测试。

测试已成功完成。

如果您必须再次重新运行该测试怎么办?

您只需点击“编辑步骤”,它就会为该测试创建一个新版本。它完全易于访问,并且与从头开始手动操作相比,可以节省大量工作。

编辑步骤

 

✅ 问题和解决方案的总结

Problem:创建和维护测试需要耗费大量的时间和精力。回归测试虽然繁琐,但我们不能忽略它。

Solution:KaneAI 自动化回归测试,允许开发人员定义目标、生成测试用例并有效地执行它们。


2. 缺乏测试步骤的版本控制。

在当今快速发展的环境中,测试用例需要频繁更新以适应不断发展的应用程序。

每次测试步骤发生变化都会影响测试的运行。手动跟踪这些变化非常困难,尤其是在时间紧迫的情况下。

可能存在如下问题:

⚡ 依赖问题:新版本的浏览器可能会引入重大更改或弃用 API。

⚡ 测试脚本维护:如果测试脚本依赖于因应用程序更新而发生变化的 UI 元素或工作流程,则可能会失败。

如果没有适当的跟踪,就很难查明哪些变化导致了测试失败。

 

🎯 KaneAI 如何解决这个问题?

而KaneAI以更好的方式解决了这个问题。

⚡ 它为您所做的每个更改维护单独的版本。

⚡ 每次添加新步骤时,您都必须提交更改(以进行版本更改)。字段将根据上一步生成的测试步骤自动填充。

提交更改

然后您可以从选项卡中轻松检查版本更改Version History

版本历史记录

您可以搜索和比较两个版本的更改内容,甚至可以恢复到具有不同步骤的任何先前版本。

两个版本的比较

如果您具有组织级别的访问权限,并且有多个团队成员,那么您还可以找出谁运行了该特定版本的测试用例。

这对于大型测试用例非常有用,并且可以帮助任何人在稍后选择内容时了解变化。

 

✅ 问题和解决方案的总结

Problem:手动跟踪测试步骤变化很困难,当测试失败时会导致调试挑战。

Solution:KaneAI 自动对每个测试步骤更新进行版本控制,以便轻松跟踪、比较和回滚。


3. 在本地/内部设置上,不同操作系统、浏览器和真实设备的测试覆盖率是不可扩展的。

跨多个浏览器、设备和操作系统进行测试。由于未考虑的差异,在一种设置上通过的测试可能会在另一种设置上失败。

你真的知道你的测试是否能在各种浏览器组合上运行吗?对很多开发者来说,答案是肯定的I guess they are fine?(即使他们并非如此)。

例如,金融科技应用程序可能在 Windows 或 Chrome 上完美运行,但在 macOS 和 Safari 上却无法正常运行。三星 S25 Ultra 于 2025 年推出,因此您需要确保您的应用程序也能在其上正常运行,而 KaneAI 可以轻松实现这一点。

正如我之前所说,您可以使用 KaneAI 运行 Web 和 App 测试。在 App 测试方面,KaneAI 支持在真实移动设备上进行 App 测试(原生、混合),包括 iPhone 16 系列、S25 系列等最新旗舰产品。

2015年,Myntra 停止了其网站运营,专注于纯应用模式,因为其90%的流量都来自应用。然而,这最终导致了一场巨大的灾难,也凸显了即使用户并不主动使用网站,在所有平台上保持影响力的重要性。您可以阅读沃顿商学院的完整案例研究

三星 S25 Ultra

2023 年的一项研究发现,近 60% 的软件开发团队认为测试覆盖率不足是导致关键错误进入生产环境的主要因素。-来源

 

🎯 KaneAI 如何解决这个问题?

使用 HyperExecute,您可以在不同的浏览器、操作系统和真实设备组合上运行测试。因此,您可以将这个庞大的基础架构与 KaneAI 结合使用。

例如,您可以在最新设备(如三星 S25 Ultra)上进行测试,以确保您的应用程序顺利运行。

应用测试

KaneAI 还会从您现有的已执行运行中探索相关测试,并自动增加测试覆盖率。

它分析现有的测试套件,找出差距,生成额外的测试并运行它们以帮助增加测试覆盖率。

测试覆盖率

现在,想象一下在所有设备上重复测试步骤的痛苦。这就是概念的modules用武之地。它只是将测试步骤转换为可重复使用的模块,您可以在其他任何地方使用。我在第五点已经讨论过了。

 

✅ 问题和解决方案的总结

Problem:跨不同操作系统、浏览器和真实设备进行测试覆盖率非常困难。在一种设置下通过的测试,在另一种设置下可能失败,从而导致生产环境中出现意外的错误。

Solution:KaneAI 通过在数百种实际的浏览器、操作系统和设备组合上运行测试来扩展您的测试。KaneAI 会分析您现有的测试,找出差距,生成并运行额外的测试,以扩大测试覆盖率。


4. 使用 CI/CD 工具自动执行测试。

将自动化测试集成到 CI/CD 管道中可能很麻烦,导致反馈延迟和开发周期中的潜在瓶颈。

为每个代码更改手动配置和触发测试需要更长的时间,并且无法提供测试执行的实时可见性,从而难以快速识别和解决问题。

例如,使用 GitHub Actions 进行 CI/CD 流程的开发团队可能难以在每次提交代码后自动执行测试运行。

使用 KaneAI,您可以轻松地自动执行此过程。

 

🎯 KaneAI 如何解决这个问题?

GitHub Actions您可以使用 CI/CD 工具(例如JenkinsKaneAI 平台上的)自动执行测试运行。

您可以遵循以下简要步骤:

1) 导航到测试管理器,选择测试运行所在的项目。然后转到“测试运行”部分,打开要自动化的测试运行,并从 URL 中复制测试运行 ID。此 ID 将用于集成的 API 调用。

测试 ID

2) 现在,您可以通过替换为您复制的实际 ID 来配置 API 调用<TestRunID>。您还可以设置可选参数,例如concurrency(默认为 1)、title(作业的唯一名称)等region

3) 设置 API 调用后,您需要使用 LambdaTest 用户名和访问密钥进行身份验证。发送 API 请求后,测试将在几秒钟内开始执行。

4)然后,您将收到一个包含作业链接的 API 响应。您可以使用此链接通过仪表板实时监控您的测试执行情况HyperExecute

监控测试执行

监控测试执行

 

🛠 让我们举一个简单的例子。

此 GitHub Actions 工作流程运行参数化cURL command以通过 CI 执行 KaneAI 测试,使用test_run_idconcurrencytitle的动态输入值region

您只需添加AUTH_HEADER值为 的存储库机密即可Base64-encoded authorization token

name: Parameterized cURL Command

on:
  workflow_dispatch:
    inputs:
      test_run_id:
        description: 'The Test Run ID'
        required: true
        default: 'YOUR_TEST_RUN_ID'
      concurrency:
        description: 'Concurrency Level'
        required: false
        default: 1
      title:
        description: 'Unique Build Name'
        required: false
        default: 'UNIQUE_BUILD_NAME'
      region:
        description: 'Desired Region'
        required: true
        default: 'eastus'

jobs:
  run-curl:
    runs-on: ubuntu-latest
    steps:
      - name: Run Parameterized cURL Command
        run: |
          curl --location 'https://test-manager-api.lambdatest.com/api/atm/v1/hyperexecute' \
          --header 'Content-Type: application/json' \
          --header "Authorization: ${{ secrets.AUTH_HEADER }}" \
          --data "{
              \"test_run_id\": \"${{ github.event.inputs.test_run_id }}\",
              \"concurrency\": ${{ github.event.inputs.concurrency }},
              \"title\": \"${{ github.event.inputs.title }}\",
              \"region\": \"${{ github.event.inputs.region }}\"
          }"
Enter fullscreen mode Exit fullscreen mode

工作流运行

您可以阅读包含 Github Actions 示例的文档,其中包含我提到的所有步骤。

 

✅ 问题和解决方案的总结

Problem:如果没有 CI/CD 管道中的自动化测试,团队将很难轻松触发测试运行并实时监控结果。

Solution:KaneAI 使用 GitHub Actions 和 Jenkins 等 CI/CD 工具自动执行测试。通过 HyperExecute 仪表板进行实时监控,团队可以更好地运行和监控测试。


5.重复常见的动作会使过程变得更加困难。

当开发人员必须重复努力完成常见操作(如登录或填写表格)时,这会减慢测试执行速度并使维护测试用例变得更加困难。

例如,在测试一个电商网站时,多个测试用例可能需要登录才能继续。在每个测试用例中手动编写登录步骤不仅浪费时间,还会增加不一致的风险,并在需要更新时增加维护挑战。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 中有一个概念可以Modules有效地解决这个问题。它允许开发人员将常用的测试步骤转换为可重复使用的模块,这些模块可以在多个测试中使用。

您可以通过多种方式创建它,一种是直接访问kaneai.lambdatest.com/module

例如,我正在创建一个登录流程模块。

金爱模块

无论何时运行测试用例,只需键入/即可调用模块菜单。

浏览模块

您可以轻松浏览所有现有模块。

浏览所有模块

只需从列表中选择所需的模块,添加它,模块的测试步骤就会自动开始执行。

您无需重新配置或重复这些步骤。阅读有关 KaneAI 模块的文档,并在文档末尾附上演示。

 

✅ 问题和解决方案的总结

Problem:重复登录或填写表单等常见测试步骤不仅浪费时间,还会增加维护难度。任何更新都需要修改多个测试用例,这增加了不一致的风险。

Solution:模块功能允许开发人员将常用的测试步骤转换为可重用的模块。测试人员无需重复执行步骤,即可调用这些模块,从而更顺畅地执行测试。


6.直接从第三方工具生成测试用例。

许多国际团队使用它Jira来跟踪问题,然后在其中进行讨论Slack和记录GitHub issues

在工具之间切换会降低开发人员的工作效率,并使跟踪进度变得更加困难。这种支离破碎的工作流程很糟糕(即使你还没有意识到)。

直接从平台生成和管理测试用例的集中方式Jira可以使流程变得更加简单,这正是 KaneAI 所做的。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 通过与 JIRA、Slack 和 GitHub Issues 等第三方平台集成解决了这个问题。您只需在这些工具中标记 KaneAI,它就会启动测试自动化,从而保持一切集中化。

例如,该Jira integration功能使用 AI 自动将 Jira 票证中的测试用例描述转换为 LambdaTest 上的可执行测试,从而无需手动设置。

要触发 KaneAI,只需将评论添加到调用 LambdaTest 应用程序的 Jira 票证中。

@LambdaTest create a test case based on the details of this Jira
Enter fullscreen mode Exit fullscreen mode

然后,Kane AI 将处理请求并回复确认消息,其中包含指向 LambdaTest 的链接,您可以在其中查看、修改和安排生成的测试用例。

在第三方平台上标记 kaneai

这将有助于 PM(产品经理)将用户故事或需求转换为 LambdaTest 平台上可执行的测试用例。

您还可以通过仪表板中的测试管理器来规划测试用例。

从测试管理器创建测试

您可以在仪表板中找到具体的运行。在这里,您可以创建问题、编辑测试等等。

在仪表板上运行

仪表板

 

✅ 问题和解决方案的总结

Problem:跨平台管理测试用例的分散方法使流程变得复杂。

Solution:KaneAI 可以轻松地与这些工具集成,您只需对其进行标记即可生成测试。


7. 测试真实用户行为和处理动态定位器很复杂。

用户很少会遵循预期的路径。他们会随意点击按钮,在操作过程中刷新页面,并以你意想不到的方式使用你的应用。尝试覆盖所有这些情况极具挑战性。

例如,拼车应用程序必须测试边缘情况,例如用户在预订过程中取消乘车或两个用户同时请求同一位司机。

自动代理可以在一定程度上模拟这些行为,以确保涵盖尽可能多的边缘情况,从而为实际使用做好准备。

最终用户是不可预测的

然而,识别交互的目标元素是另一个挑战。定位元素的方法通常有很多种,但代理可能无法处理所有方法,从而导致测试失败。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 最棒的地方在于,它能够在生成和运行测试时自动发现错误(持续思考)。错误发生时,您会收到通知,从而帮助您快速修复错误。

通过自动化调试过程来帮助及早发现问题,从而节省时间。

自动发现错误

您可以在仪表板中检查生成的代码。

代码

正如您所注意到的,测试用例中有一个代理需要的操作Click on the "See Open Roles" button

下载代码后,您将locator在 中看到operations_meta_data.py。它会生成查找该元素的所有可能方法,并逐一执行。

定位器

我在这里展示了另一个步骤,您可以看一下。

"operation_intent": "Type 'Frontend Engineer' in the input field with placeholder 'Search for Position'",
        "locator": [
            "//input[@id='search-form']",
            "//form//input[@name='search-form']",
            "//input[@placeholder='Search for Position']",
            "//input[@type='search' and @id='search-form']",
            "//input[contains(@class, 'rounded-l') and @id='search-form']",
            "//input[@id='search-form' and @name='search-form']",
            "//html/body/div[1]/div[1]/section[2]/div/div/div/div[1]/form/input",
        ],
Enter fullscreen mode Exit fullscreen mode

如果由于某种原因无法找到该元素,它将尝试直观地检测页面上的元素,例如通过识别订单列表的布局或结构。

这时, 的功能就派上Scroll to element用场了。它允许用户在测试期间使用自然语言命令对 Web 元素执行滚动操作。您可以在 元素中阅读有关滚动的更多信息。

还有一个“自动修复”的概念。它可以帮助您自动修复运行时网页结构变化导致的测试失败。当之前的定位器失败时,它会通过更新定位器来适应 DOM 变化,以确保即使应用程序更新,测试也能继续顺利运行。

研究表明,软件项目中 45% 的功能从未使用过,这表明测试可能无法有效捕捉真实的用户行为和偏好。-来源

 

✅ 问题和解决方案的总结

Problem:用户与应用程序的交互方式难以预测,这给测试真实用户行为带来了挑战。此外,由于存在多种潜在交互方式,定位目标元素可能非常棘手,代理可能难以应对。

Solution:KaneAI 在生成和运行测试时持续识别隐藏的错误。它使用多个定位器来确保找到元素,并通过自动修复功能进行动态调整,防止因 UI 更改而导致测试失败。


8. 在测试执行期间动态定义和管理数据。

虽然静态测试数据曾经是快速测试的常用方法,但它不再是最有效或可扩展的解决方案。随着应用程序复杂性的增长和需求的变化,使用静态数据维护测试变得越来越困难。

例如,测试具有不同参数的用户场景(如不同的user IDsproduct variationsorder details将需要手动更新每个测试用例。

当测试具有多种配置、环境或输入参数(例如表单提交、登录凭据和产品价格)的应用程序时,这变得更具挑战性。

如果没有合适的系统,管理这些数据集将会变得非常繁琐。这时,KaneAI 就可以利用参数、变量和数据集来提供帮助。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 将多个概念整合在一起来解决这个问题。让我们来研究一下。

-→ 变量的概念。

KaneAI 中的变量允许您定义可重复使用的变量、为其分配值并在测试用例中使用这些值。

您可以避免在测试用例中重复输入。这对于可能频繁更改的参数(例如 URL、凭据或环境设置)尤其有用。

您可以使用类似的简单语言来定义它们set new_variable as value,然后可以使用双花括号来应用它,例如{{username}}

Set username as Anmol

use the value of {{username}} in the text field
Enter fullscreen mode Exit fullscreen mode

 

-→ 参数化的概念。

它是在测试用例中使用变量或占位符来表示数据的过程。参数允许测试接受各种输入,而不是像 auser ID或那样硬编码特定值。product name

这些参数在测试运行时动态填充,可以来自外部数据源(例如 CSV 文件)或预定义值。

它使测试更具适应性,因为相同的脚本可以重复用于不同的数据集、配置或环境。

您可以使用/命令调用它。

调用参数

然后您可以快速创建一个参数。

创建参数

要引用该参数,您可以使用美元花括号语法,例如${email}

电子邮件

显示步骤中

您可以利用这些参数,使用不同的数据集和输入来运行测试用例。阅读文档

 

-→Dataset的概念。

数据集允许您高效地管理和重用测试用例的输入值。当您使用数据集和参数来运行测试用例时,它会让整个过程更加高效。

数据集

您可以向现有数据集添加行,使用 AI 自动填充并使用 CSV 导入数据。

csv

导入数据

导入数据

 

然后,您可以在仪表板中找到您创建的所有数据集,并使用这些数据集执行测试用例来模拟不同的输入场景。

所有数据集

在 KaneAI 中,您可以使用JSON variables它对 API 响应执行详细的断言。这允许您验证响应结构中的特定对象和元素。我附上了一张快照,以帮助您理解。

json 变量

 

✅ 问题和解决方案的总结

Problem:依赖静态测试数据效率低下。随着应用程序规模的扩大,尤其是在处理多个环境和配置时,维护起来会变得更加困难。

Solution:KaneAI 使用参数、变量和数据集管理测试数据,确保测试保持适应性、可扩展性和易于维护。


9.在没有明确见解的情况下进行调试。

你的测试失败了,但错误日志却显示了一些奇怪的内容,例如unexpected token null。现在你只能费尽心思翻阅日志,重新运行测试,才能找出问题所在。调试很快就会耗费你数小时宝贵的开发时间。

例如,一个电商应用程序可能会在结账测试中失败,因为测试没有考虑到新的折扣规则。通过使用提供清晰日志甚至精确定位故障原因的工具,您至少可以节省一些时间并解决问题,而不会迷失方向。

 

🎯 KaneAI 如何解决这个问题?

⚡ 有一个概念,Inline test failure triaging这意味着 KaneAI 使用其智能测试功能来快速找出测试失败的原因(根本原因分析或 RCA)并提出可能的修复方法(补救措施)。

您可以手动与测试交互,编辑分步目标,或删除不必要的步骤来解决问题。

使用人工智能解决错误

编辑步骤作为目标

编辑步骤作为目标

 

⚡ 您将获得包含测试智能和深度分析的详细测试执行报告。它能够提供宝贵的见解,帮助您更快地调试问题。

测试执行报告

CPU 利用率

一份报告显示,调试工作每年给公司带来约 610 亿美元的成本,凸显了调试活动的财务影响。-来源

 

✅ 问题和解决方案的总结

Problem:调试失败的测试令人沮丧,尤其是在错误日志不清晰的情况下。如果没有更深入的了解,调试过程可能更像是猜测。

Solution:KaneAI 通过内联测试故障分类改进了调试功能,识别根本原因并提出修复建议。开发人员可以手动交互、编辑或删除不必要的步骤。它还提供详细的测试执行报告,并结合测试智能和分析功能,以便更快地调试问题。


10. 管理和测试 API 的挑战。

API 是现代软件的支柱,这就是为什么 API 测试是开发中最关键的方面之一。

由于管理多个 API、各种 HTTP 方法以及确保响应正确的复杂性,测试 API 可能具有挑战性。

如果没有简单、自动化的解决方案,开发人员将面临确保所有 API 按预期工作的难题。

 

🎯 KaneAI 如何解决这个问题?

您可以使用 KaneAI 轻松执行 API 测试。第一步是使用/命令调用 API 模块。

api模块

我们将使用petstore.swagger.io/v2/store/inventory作为示例的一部分。

一旦您粘贴 curl 命令,它将填充所有必要的详细信息。

验证选项

点击该validate选项检查 API 响应。A200 response status表示验证成功,并自动将该 API 添加到您的测试步骤中。

分步展示 API

您还可以添加多个 API、处理不同的 HTTP 方法或粘贴多个 curl 命令,以便自动将它们添加到测试步骤中。更多信息请参阅文档

生成的代码

生成的代码

 

✅ 问题和解决方案的总结

Problem:API 为现代应用程序提供支持,但手动测试它们可能会让人不知所措。随着应用程序的增长,管理多个端点、处理不同的 HTTP 方法以及确保正确的响应变得越来越困难。

Solution:KaneAI 使用易于使用的命令进行 API 测试,用于添加、验证和管理 API。它可以自动执行响应验证,并将 API 直接集成到测试步骤中,从而减少手动工作量。


11. 机密泄露可能导致重大安全漏洞。

在测试脚本中处理 API 密钥、用户凭据或身份验证令牌等敏感数据是一种常见做法,但如果处理不当,会带来重大的安全风险。

例如,一个开发团队通过将登录凭证存储在测试脚本中来自动化电商平台的登录测试。如果这些脚本与其他团队共享或上传到 GitHub 等公共存储库,则任何有访问权限的人都可以看到这些凭证。

这使得攻击者可以非常轻松地窃取敏感的用户数据或滥用 API 凭证,从而导致潜在的数据泄露、财务损失甚至系统的全面破坏。

此外,机密管理不善可能会造成难以遵守 GDPR 或 HIPAA 等要求采取数据保护措施的法规。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 通过提供一项Secrets功能来解决这个问题,该功能可确保敏感数据安全存储并仅在特定场景中使用。

敏感信息通过 HashiCorp Vault 进行管理。

您可以通过测试管理器或 Web/App Agent 创建密钥。创建后,您现在可以使用双花括号语法(例如)在测试步骤中引用任何密钥变量{{secrets.user.email}}

⚡ 用户角色只能创建用户级别的机密,而管理员可以创建用户级别或组织级别的机密。

⚡ 这些变量将可以在测试步骤、模块和测试用例中访问。

要在测试用例中使用存储的机密,请键入/以调用机密菜单。

浏览秘密菜单

秘密

您可以在测试管理器仪表板中找到这些秘密。请参阅文档了解更多信息

 

✅ 问题和解决方案的总结

Problem:在测试脚本中存储 API 密钥和凭证等机密信息可能会导致数据泄露、安全漏洞和合规性问题。一旦泄露,攻击者可能会滥用敏感信息,造成财务和声誉损失。

Solution:KaneAI 提供由 HashiCorp Vault 提供支持的 Secrets 功能,允许安全存储敏感数据并控制其访问。开发人员可以使用简单的语法引用这些 Secrets。


12. 跨不同地区、本地服务器和防火墙环境进行测试。

确保 Web 应用程序在不同区域、本地服务器和防火墙环境中保持一致的性能是自动化测试中的主要挑战。

许多公司在全球开展业务,但从单一地点进行测试可能会错过特定区域的问题,例如定价、延迟或访问限制。

例如,一个电商网站可能会根据用户位置显示不同的产品,但如果仅在一个地区进行测试,这些差异可能会被忽略。同样,内部或本地托管的应用程序通常很难使用标准的云平台进行测试。

为每个区域设置单独的基础设施是complexcostlytime-consuming。开发人员需要一种更好的方法来适应不同的环境,而无需额外的设置。

 

🎯 KaneAI 如何解决这个问题?

KaneAI 中有一些高级设置,例如Geolocation supportTunnel supportProxy support,可以解决这个问题。

-→ 地理位置支持。

您可以模拟来自不同地区的用户交互,以确保您的网站在全球范围内按预期运行。

地理位置支持

地理位置支持

通过选择所需的区域,可以执行测试并将流量路由到该位置。保存测试后,生成的代码将自动包含地理位置详细信息,从而更轻松地在不同区域复制测试。您可以在文档中阅读更多内容。

 

-→ 隧道支撑。

这使得开发人员能够使用安全隧道在本地托管或受防火墙保护的应用程序上进行测试。通过配置 LT 隧道,开发人员可以直接在私有或受限环境中运行 Web 测试。

隧道详细信息会自动保存在测试配置中,确保未来运行能够重现相同的条件。您可以在文档中了解更多信息。

 

-→ 专用代理支持(仅限企业)。

对于需要严格网络控制的组织,我们提供专用代理支持。开发人员可以通过为其组织配置的特定代理 IP 来路由测试,从而获得一致且可控的测试环境。您可以在文档中了解更多信息。

专用代理支持

 

✅ 问题和解决方案的总结

Problem:由于特定区域的内容、网络限制和访问限制,跨不同区域、本地服务器和防火墙环境测试 Web 应用程序非常困难。为每个环境设置单独的基础架构既复杂又昂贵,而且不可行。

Solution:KaneAI 通过地理位置支持、隧道支持和专用代理支持解决了这个问题。这些功能允许测试人员模拟不同的区域,访问本地托管的应用程序,并通过安全代理路由测试,而无需额外的设置开销。


还有许多其他类似 KaneAI 的工具,例如:

  • Functionize - 使用人工智能和机器学习来自动化甚至复杂应用程序的测试,简化 QA 流程并减少人工工作量。

  • Spur-使用自然语言测试您的网站。

  • Testim - 使用人工智能快速创建和维护自动化测试,节省管理不稳定测试的时间和精力。非常适合动态 Web 应用程序。

  • Applitools - 专注于视觉测试自动化,确保您的应用在所有设备和浏览器上看起来都完美无缺,减少生产中的视觉错误。

  • 测试人员- 自主测试代理,由测试 Google Chrome 的专家构建。

  • Sauce Labs - 具有 AI 功能的测试自动化平台,用于优化测试执行和维护。

  • Tricentis Tosca——结合人工智能和机器学习算法,实现跨各个应用层的测试过程自动化。

  • Testsigma - 使用通用语言的无代码自动化功能测试平台。

  • Mabl - 人工智能测试自动化工具,专注于让所有开发团队成员都可以进行自动化测试。

对于KaneAI,您可以参考文档和官方网站

立即预约演示并尝试使用 KaneAI 来加快您的测试流程。🔥


呼!这非常详细。

最后,修复这些常见的测试问题可以使开发速度更快(即使只是一点点)。

大量的自定义选项将帮助您意识到 KaneAI 已经在改变测试的方式。

如果您知道测试过程中的任何其他常见问题,请在评论中告诉我。

祝你今天过得愉快!下次再见 :)

你可以在anmolbaranwal.com
查看 我的作品 感谢阅读!🥰
叽叽喳喳 GitHub 领英

结尾挥手告别的 GIF

鏂囩珷鏉簮锛�https://dev.to/anmolbaranwal/12-problems-developers-face-while-testing-and-how-to-solve-them-1mdj
PREV
1-10 个 TypeScript 项目的自定义实用程序类型
NEXT
使用指令在 Angular 中创建一个超级简单的 Badge 组件。