🍹 Insight Daily 🪺
Aitrainee | 公众号:AI进修生
Hi,这里是Aitrainee,欢迎阅读本期新文章。
我曾经在这篇文章中写到《WindSurf+Bolt+Cursor+Sealos:构建AI播客应用程序,前后端分离、对象存储、数据库存储、部署、K8S》使用AI编程的一个工作流程是:
让Cursor / Windsurf 自动进行我们编写的API的自动化测试,以保证现阶段API的正确性,然后我们再开始下一个功能的开发。
不过这两天在 Github 热榜上看到了一个开源的 AI 驱动测试框架:Shortest。
它允许开发人员用简单的自然语言编写端到端测试,例如:“用户可以注册并创建一个 5 美元的产品”。通过自然语言编写简洁的测试用例,可以鼓励开发者编写更多测试,测试越多 = AI 编写和发布代码时的回归越少。
这个框架底层由 Claude AI 将自然语言转换为实际的测试执行步骤
主要亮点:
-
使用自然语言写测试 - 开发者可以用日常语言描述测试场景,而不是写复杂的测试代码
-
AI 驱动 - 集成了 Anthropic Claude API 来理解自然语言并转换为实际的测试步骤
-
基于 Playwright - 底层使用了成熟的 Playwright 测试框架
-
支持 GitHub 集成 - 包括双因素认证(2FA)支持
这是他的演示视频:
这个项目的意义在于:
-
大大降低了编写测试的门槛
-
提高测试效率和可维护性
-
让非技术人员也能参与测试用例编写
-
展示了 AI 在软件开发中的实际应用
似乎改变了 QA 团队的游戏规则。
有人提议:希望写成VSCode插件,这样就可以在VSCode中直接使用Shortest了。
其实字节也开源了一个 Midscene.js 。自然语言+界面截图直接生成 E2E 测试,给团队内部节省了很多的测试时间,
像AI 做 E2E 的开源框架最近也挺多的,再加上多模态,解决这些问题,也是相对来说比较成熟。
不过也有网友提到了一些问题:
AI驱动的测试框架,需求很硬核,但如何保障和测试测试框架的可靠性...
还有。。。更多的测试并不总是意味着更好的代码。注重质量而不是数量。考虑使用人工智能来分析测试有效性。所以框架之上再来个智能体?
还有一点 ,就是我最开篇说的,如果是我们要求Cursor Agent这些进行自动化测试,他除了在测试的时候,他还会自己去修改。这也是我们测试的目的,
Yolo模式解放双手,其是我期待的是这个东西:既能测试,又能自己修改,那这样说起来好像又是Cursor最新版,最后他会有一个review的功能。就是反思一遍的功能。
此外,我有一个想法,我们的Cursor Agent它是一个智能体,如果我们在自己的代码仓库的一个文件夹里面放满了自己自定义的Agent:
比如我们使用python编写的一个Agent用于调用dify知识库,那么我们可以在cursorrules里面告诉cursor agent去我们的工具库调用这个工具)。
也就是说,利用 Cursor Agent + 代码库Agent = Cursor 的Agent可以做任何你可以用 Python(或其他构建的代理) 做的事情;
补充:Cursor Agent 可以获取存储库中的任何 Python 模块并将其作为终端命令运行】。
如果把这个Shortest框架作为一个agent,然后让Cursor Agent调用,那么我们的Cursor Agent就能集成这个端到端的框架。
One more thing
最后,分享一些与 AI 相关的开源 Next.js 代码库:
• AI 聊天机器人:https:// git.new/ai-chatbot
• MiniPerplx(AI 搜索引擎):https:// git.new/miniperplx
• Supabase(矢量数据库):https:// git.new/database
• Langline(AI 翻译):https:// git.new/langline
• Shortest(使用 AI 进行 E2E 测试):https:// git.new/shortest
• Hume(AI 语音聊天):https:// git.new/voice-chat
• Morphic(答案引擎):https:// git.new/morphic
• 表情符号生成器:https:// git.new/emoji-generator
• RAG(AI SDK):https:// git.new/rag-ai-sdk
• Midday:https:// git.new/midday
• AI Slackbot:https:// git.new/slackbot
• Stockbot https:// git.new/stockbot
• Cal AI:https:// git.new/cal
• Google Gemini 聊天机器人:https://git.new/gemini-chatbot
• 语义图像搜索:https: //git.new/semantic-search
• 事实核查器:https : //git.new/fact-checker
• 头像生成器:https: //git.new/avatar-gen
2、 完成度相当高的开源导航站,稍微改改就能用,不花一分钱,就能部署自己的 AI 导航站:
https://github.com/someu/aigotools
3、 OpenRouter 的第三方Key集成功能可以让你统一白嫖,而且不用切换客户端。
1. 什么是端到端测试 (E2E Testing)?
端到端测试(End-to-End Testing),简称 E2E 测试,是一种软件测试方法,它模拟真实用户的使用场景,从头到尾地测试整个应用程序或系统的功能。
想象一下,你正在测试一个电商网站。E2E 测试会模拟用户从浏览商品、添加到购物车、下单、支付,直到收到订单确认的整个过程。它会检查所有组件(前端、后端、数据库等)是否协同工作,确保整个流程的正确性。
E2E 测试的目标是验证整个系统是否按照预期工作,而不是仅仅测试单个组件。它关注的是用户体验,确保用户可以顺利完成他们的任务。
2. E2E 测试框架的作用
E2E 测试框架是一套工具和库,可以帮助开发者更轻松地编写、执行和管理 E2E 测试。这些框架通常提供以下功能:
- • 测试用例编写: 提供 API 或 DSL (领域特定语言) 来编写测试用例,模拟用户操作。
- • 浏览器自动化: 自动控制浏览器,模拟用户在网页上的操作,例如点击按钮、输入文本等。
- • 测试执行: 运行测试用例,并记录测试结果。
- • 测试报告: 生成测试报告,显示测试的成功或失败情况。
使用 E2E 测试框架可以大大提高测试效率,减少手动测试的工作量,并确保测试的可靠性。
🌟 知音难求,自我修 炼亦艰, 抓住前沿技术的机遇,与我们一起成为创新的超级个体 (把握AIGC时代的个人力量)。
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见 ~