软件测试 10 倍提速实战指南
分析了项目成败的核心差异在于测试质量和效率,提供了加速测试流程的可操作方法。
分析了项目成败的核心差异在于测试质量和效率,提供了加速测试流程的可操作方法。
市面上有数以百万计的项目,但它们最终能否成功,真正的差异往往取决于测试做得有多深入。
编写和维护测试非常耗时,检查测试本身是否准确则更加困难。但如果有一种效率高得多的方法呢?
今天,我们将探讨如何使用 LambdaTest 打造的全球首个 AI Agent——KaneAI,完成端到端软件测试。
简单来说,本文将详细介绍以下内容:
KaneAI 是全球首个端到端软件测试 Agent。
你只需要使用自然语言说明目标,它就能生成测试,甚至还会检查 Bug。
你可以将自动化测试导出为所有主流语言和框架的代码,例如 Cypress、Selenium、Mocha、Jest 等。
🎯 如果你想知道什么是端到端软件测试:
一般来说,测试是为了检查所有代码是否正确。
端到端测试更像是从用户视角出发,从头到尾测试整个应用,确保用户旅程尽可能顺畅。
Selenium 和 Cypress 等工具可以帮助自动执行这些测试,让测试变得更高效、更可靠。
以一个简单的注册表单为例:
-→ 输入空白的邮箱和密码 -→ 输入有效的邮箱和密码 -→ 输入无效的邮箱和密码 -→ 点击注册按钮
这些测试场景可以验证各项操作是否符合用户预期,例如输入无效数据时是否会显示错误消息,或者输入有效数据后是否能够成功注册。
如果你想进一步了解端到端测试,我推荐以下两个资料:
✅ CircleCI 的《什么是 E2E?端到端测试指南》。
✅ BrowserStack 的《端到端测试:工具、类型与最佳实践》。
🎯 为什么应该使用 KaneAI?
坦白说,执行测试需要花费很长时间,而且在这个过程中很容易遗漏边界场景。
但如果身边有一个智能 Agent,能帮助你以 10 倍速度完成测试,同时减少错误呢?显然,任何人都会愿意使用它。
⚡ KaneAI 会为你所做的每一次更改保留独立版本。
⚡ 只需提供高层目标,即可生成测试。
⚡ 它可以从 Jira、Slack 和 GitHub Issues 等多种来源启动测试自动化流程。
此外还有大量实用功能,我会在下一节中详细介绍。
如果你想自行探索,可以阅读官方文档。文档还提供了引导式操作指南,帮助你运行第一个测试。
如果想更快上手,我建议观看这份使用 KaneAI 运行第一个测试的教程。
KaneAI 目前处于私有 Beta 阶段。如果你有兴趣使用,只需填写申请表,支持团队就会为你开通访问权限。
观看这段视频,了解 KaneAI 的基本概念!
为了让大家更好地理解 KaneAI,我决定用单独一节介绍它的全部功能。仅仅是数量惊人的自定义选项,就足以让人意识到 KaneAI 将彻底改变软件测试。
如果你想知道如何使用这些功能,我会在下一节中结合示例进行介绍。
以下是这些非常酷的功能:
⚡ 你只需要用自然语言描述操作步骤,它就能正常执行。
⚡ 你可以将自动化测试导出为所有主流语言和框架的代码,例如 Cypress、Selenium、Mocha、Jest 等。
⚡ 只要提供“访问 xyz.com 并点击 Buy 按钮”这样的高层目标,它就能自动规划并执行测试步骤。
⚡ 你可以使用自然语言插入断言,并据此指定判断条件。
⚡ 你可以在由浏览器、操作系统和真实设备组成的 3000 多种环境组合中运行生成的测试。
假设有一个移动应用必须适配多种设备和屏幕尺寸。你不必为每种组合单独编写测试用例,KaneAI 会替你完成这些工作。它可以在不同环境中创建并执行测试。太棒了!
⚡ 你将获得详细的测试执行报告,以及 Test Intelligence 和深度分析数据。
⚡ 它会使用 AI 实时调试并解决 Bug,其中包含一系列创新能力,例如内联测试失败分类处理,以及修复 Bug 复现流程。
⚡ KaneAI 可以从现有测试用例中探索相关测试,从而提升整体测试覆盖率。太棒了!
⚡ 它提供了大量集成选项,因此你不必改变现有工作流。可集成的对象包括 Bug 跟踪器、数据分析工具以及通信工具,例如 Jira、Slack、GitHub Actions、Microsoft Teams(即将推出)和 Google Sheets。你可以在 integrations.lambdatest.com 查看全部集成。
⚡ 每次添加新步骤时,你都需要提交更改。提交信息会根据你的操作自动填写,最终能够节省大量时间。你甚至可以比较两个版本之间发生了哪些变化。
⚡ 对于每个测试用例,你都可以提供优先级、类型和状态等自定义字段。如果团队还需要遵循其他标准,你也可以创建自己的自定义字段。系统提供的类型选项同样非常丰富。
⚡ 它还支持通过手动交互生成自然语言 prompt、分析测试步骤、生成多种语言的代码,并提供详细的测试说明。你可以观看这份快速教程了解更多信息。
呼!功能真的非常多。你可以通过下面的入口注册私有 Beta,获得访问权限。
注册 KaneAI 私有 Beta 🔥
下一节中,我们将通过三个实际示例,了解可以使用 KaneAI 完成哪些工作。
获得 KaneAI 的访问权限后,你可以在 kaneai.lambdatest.com 看到这样的控制面板。
根据我的使用体验,它的用户界面非常简洁,用户体验也非常出色。
我特别喜欢它提供的预构建模板。这些模板能够帮助你轻松理解用户流程,只需点击即可运行相应的测试用例,就这么简单!
我会通过这个示例带你了解最初的操作流程,并演示如何正确使用 KaneAI。我们将通过手动步骤登录 LambdaTest 官方网站。
注册 LambdaTest 后,进入 Test Manager。在这里,你可以看到我们即将使用的所有测试详情。
我创建了一个新测试用例,标题是“访问 lambdatest.com,并检查用户能否成功登录”。
在添加任何手动步骤之前,一个空白测试用例看起来就是这样。
现在,让我们定义手动步骤。每个步骤被正确添加到执行流程后,系统都会显示确认信息。
以下是我使用的步骤:
1) go to https://accounts.lambdatest.com/login
2) wait for 4 seconds.
3) enter email: prateekp@lambdatest.com
4) enter password: Prateek*641
5) click login button.
这里提供了许多选项,例如对测试类型进行分类、设置状态,甚至选择优先级。我们还可以在设置中创建自定义选项。
现在需要做的就是点击“Automate with KaneAI”,系统便会开始执行这些步骤。
最棒的功能是,你可以逐个点击并直观查看每一个步骤。
在对应步骤的截图中,发生交互的输入框会被高亮显示。
有时候,直接与屏幕进行交互会更加方便,因此系统也提供了手动交互选项。
开启这项功能后,只要你开始在屏幕上移动光标,系统就会跟踪这些操作、进行分析,并自动编写步骤。
可以看到,我点击了登录页面上的 GitHub 按钮,AI Agent 随即自动编写了对应步骤。
系统会跟踪手动交互功能何时开启或关闭,并自动对执行的测试类型进行分类。
测试完成后,系统会根据你执行的步骤生成一段说明。你也可以保存它,以供日后参考。
正如上一节所述,你可以集成 Jira 等工具,用来获取和发布工单。
在这个示例中,我们只提供一个简单的高层目标,然后看看 KaneAI 会如何执行。
这里我会让它进入 LambdaTest 的招聘页面,并查找 Frontend Engineer 职位。我已经在官方网站上检查过,目前并没有这个职位。
进入 KaneAI 的主页:kaneai.lambdatest.com。
我使用下面的内容创建测试:
I want to assert if the Frontend engineer position open at https://www.lambdatest.com/career
outcome: user should be able to find the frontend engineer position
KaneAI 会自动为你生成一组测试,你只需要进行审核和调度即可。我非常喜欢它的一点是:在把完整控制权交给 AI 之前,它允许我们确认所有内容。
调度测试后,系统会自动运行测试并验证目标。让我们看看实时预览。
它与手动步骤的主要区别是:在测试完成前,你不会看到用于编写更多步骤的输入框。KaneAI 会持续思考下一步应该执行什么操作。
如果你想添加或编辑更多步骤,可以通过草稿完成。
例如,我添加了一个步骤,用来检查 KaneAI 能否在屏幕上找到蓝色横幅。这个横幅在招聘页面上清晰可见。
正如前面提到的,系统拥有版本历史记录。因此,每次添加新步骤时,你都需要提交更改。提交内容会根据你执行的操作自动填写,再次节省了大量时间。
之后,你可以在 Version History 标签页中轻松查看版本变更。
你甚至可以比较两个版本之间发生了哪些变化。面对大量测试用例时,这项能力会非常实用。
可以看到,这里还有一个 HyperExecute 按钮。HyperExecute 是一个速度极快、智能化的端到端测试执行与编排平台。它不受框架和语言限制,并宣称比任何基于云的测试执行网格快 70%。
你可以在同一个控制面板中查看大量数据,包括终端日志、网络日志、命令、异常、测试运行视频等。
我专门创建了 v3,用来演示系统会根据测试用例生成转换后的代码,这样你就不会被锁定在某个专有框架中。
通过前两个示例,你应该已经发现,可以使用 KaneAI 访问网站并检查链接是否有效、验证滚动条能否正常工作,或者跟踪模式切换等可见变化。
在我看来,由于涉及大量变量,而且用户与电商网站交互的方式多种多样,因此测试电商网站尤其困难。这里我的目标是向你展示 KaneAI 究竟有多智能。
你当然可以为这类测试设置高层目标。我也尝试过这种方式,但有时会出现意料之外的问题,尤其是许多可信网站都设置了限制机器人的机制。
可以看到,由于 Amazon 的 CAPTCHA 是基于文本的,KaneAI 成功解决了它。
我在 Amazon 上尝试了很多次,并发现了一件有趣的事。
它们会在最后一刻更换 CAPTCHA。对我们人类来说,注意到变化并重新输入很容易;但对于已经提交 CAPTCHA 的 AI 来说,难度要大得多。不过从下面可以看到,KaneAI 会立即检测到这一变化,并做出相应调整。
你当然还可以测试其他操作,例如搜索某个特定商品,然后继续指示它执行你想要的任何操作。
有趣的是:当我只提供 amazon.com(美国版),却没有指定商品时,它搜索了 headset。
下面展示了我如何使用高层目标,在 Amazon.in 上搜索 S24 Ultra。
我不会继续深入展开,否则这篇文章会变得非常长。
如果你还想了解更多使用场景,请阅读下面这一节,也许能发现一些有趣的内容。
下面介绍几个有趣的使用场景,帮助你了解还可以使用 KaneAI 做些什么。
⚡ 你可以通过一种迂回方式登录 Google 账号:先在 Google 上搜索“Google sign in”,然后打开第一个链接。我也亲自尝试过。
⚡ 假设你需要测试一个要求用户授予位置访问权等外部权限的场景。即使不实际提供任何外部权限,你仍然可以使用 KaneAI 测试这个场景。例如,想象一下访问某个网站,寻找附近的咖啡店。太棒了!
⚡ 电商网站的测试非常困难,因此你可以直接提供所有指令,让 KaneAI 检查完整的用户旅程,无须浪费数个小时。正如前面所说,即使只提供一个简单的高层目标也足够了。
⚡ 你甚至可以进入 LambdaTest 这样的工具,让 KaneAI 完成全部工作,从而检查页面的响应式表现。此外,它没有语言障碍,你可以直接用日语等任何语言描述步骤,它依然能够正常工作。
我认为可以肯定地说,KaneAI 至少能帮助你将应用测试速度提升 10 倍。它既简单又高效。
许多人不愿编写测试,是因为他们不想再学习一个新的库。现在,开发者可以直接在软件开发生命周期中使用 KaneAI。
如果你有任何问题或反馈,请告诉我。
祝你今天愉快。我们下次再见!
“多写一些,启发更多人!”
部分评论可能只有登录后的访客才能看到。登录后即可查看全部评论。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。