这个时代下AI如何赋能软件测试?又是如何给功能/自动化测试提供辅助?

张开发
2026/4/16 13:00:32 15 分钟阅读

分享文章

这个时代下AI如何赋能软件测试?又是如何给功能/自动化测试提供辅助?
一、AI能给测试带来什么测试流程AI 的作用需求分析理解需求文档提取测试点测试用例设计自动生成测试用例功能、边界、异常等脚本编写自动生成测试脚本如 Selenium、JMeter 脚本测试执行智能测试调度、自适应测试路径缺陷定位自动分析日志、堆栈、性能瓶颈回归测试智能判断哪些模块受影响、哪些用例需回归测试报告自动生成结构化报告、图表、结论建议1」具体场景举例项目名“区块链法治”试点示范建设项目1自动生成测试用例你只需要输入一段话AI 就可以生成多个测试用例且按照要求进行排版比如2自动编写测试脚本可以使用 DeepSeek 或其他 AI 工具生成手工测试用例文档并将该文档引用到 Cursor 的 AI 界面同时附上一句话例如“我的网页地址是 xxx请根据手工测试用例生成对应的自动化测试脚本。”2」节省用例时间成本估算✅ 优势效率提升生成测试用例、脚本、报告都更快质量提升补足遗漏场景减少重复劳动成本降低减少人力测试投入敏捷适配快速应对需求变更⚠️ 痛点模型理解可能不精准输出需要人工审查二、AI测试工具介绍1️⃣AutoGenTestCase1』AutoGenTestCase是什么与其他AI有什么差异1、AutoGenTestCase是什么AutoGenTestCase 是一个基于 AI 大模型的自动化测试用例生成工具通过自然语言处理NLP和提示工程从需求描述、用户故事或代码中提取关键信息生成结构化测试用例如 Gherkin 格式或 Python 测试脚本。它适用于单元测试、集成测试和端到端测试。工具名称类型/定位是否集成多模型是否界面化是否结构化输出自动提示构造主要适用对象AutoGenTestCase✨测试专用 AI 工具框架✅ 是DeepSeek 通义千问✅ 是Streamlit✅ 是用例、Excel、Markdown✅ 是自动封装 PromptQA 测试人员DeepSeek Chat / API通用大语言模型❌ 否单模型❓ 视接入方式而定❌ 否自然语言为主❌ 需人工写 Prompt开发者 / 通用用户CursorAI IDEAI 助手型 IDE❌ 否常用 OpenAI、Claude✅ 是集成 IDE❌ 否✅基于代码上下文补全开发者为主2、AutoGenTestCase与其他 AI 工具的区别DeepSeek 是个超强“大脑”但你得自己提问它才懂。Cursor 是 AIIDE 工具像你身边的“代码助理”但不懂业务场景。AutoGenTestCase 像是“懂业务、懂测试的专家助理”你只需要把需求交给它它就能自动搞定测试用例设计甚至能帮你评审用例质量。2』AutoGenTestCase实现原理AutoGenTestCase 的实现思路是这样的设计使测试用例生成过程自动化将复杂的生成逻辑交给 AI 模型来完成1、技术栈AutoGenTestCase 基于Python开发依赖 Python 3.11 及以上环境。前端页面采用 Streamlit 等框架快速构建交互式 Web 界面通过上传需求文档或手动输入功能实时展示生成结果。核心 AI 部分使用了微软开源的 AutoGen 多智能体协作框架参照 Autogen 库实现利用 DeepSeek 和通义千问等大模型提供强大语言理解能力。此外还可能使用 OpenAI ChatCompletion 客户端经由 DeepSeek 定制模型和 PyMuPDF 等库来处理文件和调用模型。2、工作机制系统首先将用户输入的需求文档或代码文本通过解析模块结合提示模板转换成对 AI 模型友好的提示。然后通过 llms.py 中封装的模型接口将提示发送到 DeepSeek 模型生成包含测试标题、步骤、输入数据和预期结果的测试用例文本。随后再调用通义千问模型对初步生成的用例进行“评审”或补充以提高准确性。最终将结果整理成Markdown 文档或 Excel 表。3』如何真正的落地到工作生活中(相关包私信我)1、前置条件/运行前准备工作1) 本地安装 Python 3.11 以上版本并安装依赖库如 Streamlit、AutoGen、DeepSeek SDK、PyMuPDF 等可通过pip install -r requirements.txt一键安装。2) 分别注册 DeepSeekhttps://platform.deepseek.com/api_keys和阿里云通义千问https://bailian.console.aliyun.com平台账号创建并获取对应的 API Key3) 配置工具将获取到的 DeepSeek 和通义千问 API Key 填写到项目根目录下的config.ini文件中并根据需要调整模型参数如 temperature、最大返回长度等具体配置可自行到github上读取。4) 启动程序运行run.exe或在 Python 环境中执行python page.py程序会自动启动本地服务并打开 Web 界面⚠️如直接运行run.exe文件则不需要安装依赖库只需更改config.ini文件即可。更多内容请参考源代码https://github.com/13429837441/AutoGenTestCase2、接入本地模型如ollama1) 下载安装Anaconda3 官网Anaconda2) 安装Autogenstudioconda1、安装python环境打开Anaconda Prompt 输入命令行create -n autogen_studio python3.112、切换环境完成环境创建后切换至新环境命令conda activate autogen_studio3、打开Autogenstudio在新环境中输入命令行autogenstudio ui --port 80814、Autogenstudio可视化操作打开浏览器http://127.0.0.1:8081/3) 本地安装ollama如果本地有模型请忽略安装步骤1、ollama下载地址https://ollama.com/ 安装本地大模型2、打开Anaconda Prompt 输入命令行ollama run 大模型名称3、ollama 启动大模型后端口号默认端口http://localhost:11434/4) 安装Litellm轻量快速部署大模型1、Anaconda Prompt中输入命令行conda activate autogen_studio 切换环境然后输入命令行pip install litellm 进行安装如出现以下附件图片报错请执行pip install litellm[proxy] 再次进行安装出现以下图片则为安装成功2、litellm --model ollama/gemma2:9b 对已经启动的大模型进行部署大模型名称依你本地情况而定出现以下图片则为部署成功5) 在Autogenstudio中使用本地大模型1、打开Autogenstudio 打开浏览器http://127.0.0.1:8081/2、添加本地大模型一次点击页面左侧的Models,页面右侧 New Model,然后点击弹窗中第一个标签“OpenAI”如下图3、开始配置本地大模型如下图第一个参数 Modelgemma2:9b 填写启动的本地大模型名称 必须一致第二参数 API Key随意填写接入本地模型不需要API Key ;第三个参数 Base URLhttp://localhost:11434/v1 ollama 启动本地大模型的默认地址点击Save Models 保存6) 测试大模型是否链接成功点击 Test Model 测试。3、页面使用教程AutoGenTestCase - 借助AI大模型生成测试用例-CSDN博客4、本地运行--这个是我本地服务器运行的访问地址http://101.132.**.21:8501/注:只要有阿里云VPN都可以访问1输入对应的API_KEY2访问页面选择用例规格3上传需求文档我这里让AI帮忙生产了一份需求文档4点击生成测试用例这是我的提示词这是程序识别出的需求文档5输出的产物需求文档与测试用例产出物2️⃣midscene.js字节跳动 Web Infra 团队全新开源的 UI 自动化工具1』midscene.js是什么与其他AI有什么差异1、midscene.js是什么基于 AI 技术的自动化 SDK 利用大型语言模型LLM把 UI 自动化测试里的命令变得简单。用户只需用日常的自然语言描述交互步骤或者预期的数据格式Midscene.js 就会完成相应的操作。Midscene.js 可以执行动作、查询数据和对页面进行断言这样能降低脚本维护的成本还会提供可视化的报告。Midscene.js 是个开源项目能在用户自己的环境中运行保障数据安全。这是一个融合了 JavaScript 脚本能力 和 AI 自动化交互能力 的自动化测试或操作框架它的核心想法是模仿人类在网页上的真实操作。「有 AI 能力的 Playwright/Selenium 脚本驱动的自动浏览器自动化框架」midscene.js 最主要的特点有脚本化用类似 YAML/JSON 的格式来编写自动化任务的流程。自动登录、表单填写和验证码识别里面自带了图像识别和验证码 OCR 功能。智能判断页面状态能根据页面元素是否出现、跳转是否成功等情况决定是否继续执行操作。Cookie 自动保存和重试机制经常用在需要登录并重复使用 Cookie 的场景中。截图和调试能力方便找出问题并完善脚本。适用于复杂交互场景支持点击、输入、滑动、文件上传和下载等复杂的页面操作。2、midscene.js 与其他 AI 工具的区别功能MidSceneJSSelenium / PlaywrightChatGPT / DeepSeek / Cursor操作层面自动化网页操作浏览器层自动化网页操作浏览器层不操作页面只生成文本/代码编写方式YAML 脚本 控制逻辑 AI能力编程JS/Java/Python语言模型输入输出AI能力内嵌 OCR、验证码识别、智能容错无 AI 能力纯自然语言生成代码用户门槛较低脚本驱动程序员较熟练非程序员也能用应用场景自动化登录、爬虫、测试、采集自动化测试为主代码生成、测试用例编写辅助强项脚本稳定执行 AI 图像能力元素精确操作和调试工具智能化代码创作和分析2』midscene.js原理1、技术原理自然语言处理NLP接收用户的自然语言输入基于NLP技术解析指令。界面理解模型分析网页内容理解用户描述的界面元素和动作。执行动作根据理解的结果模型将执行相应的浏览器自动化操作如模拟用户输入、点击等。数据提取模型根据用户的查询请求从网页中提取特定格式的数据。断言验证模型检查页面状态是否符合用户的断言条件。2、核心工作机制3、Midscene.js的应用场景自动化测试场景自动化执行测试用例确保网站或应用的各个功能按预期工作。数据抓取场景从网页中提取结构化数据如商品信息用在市场分析或库存管理。性能监控场景模拟用户行为监控网站性能及时发现并解决性能瓶颈。界面一致性检查场景证网站在不同设备和浏览器上的显示是否一致保证用户体验。价格监控场景定期检查商品价格并在检测到价格变动时自动通知用户或系统。零代码测试无需编写选择器告别“锚点依赖症”可视化报告提供动画回放、步骤详情支持在报告中直接调试方便用户调试和优化测试流程。支持多种模型 内置对公共多模态大语言模型如 GPT-4和开源模型如 UI-TARS的支持。开源数据安全 MIT协议支持私有化部署数据不出本地。3』如何真正的落地到工作生活中1、可视化安装前置条件/运行前准备工作1系统要求Node.js ≥ v18推荐 v20npm ≥ v9Node.js 自带推荐安装pnpm性能更好2 推荐工具Chrome 浏览器自动化控制Git克隆源码VSCode查看项目3操作步骤1、GitHub 上克隆 MidScene.js或者下载 ZIP 压缩包解压。git clone https://github.com/x-pair/midscene.gitcd midscene2、使用pnpm推荐或npm安装依赖项npm install -g pnpmpnpm install3、安装 ChromiumPlaywright 需要MidScene.js 使用 Playwright 驱动浏览器自动下载适配的 Chromium、Firefox、WebKitnpx playwright install4、运行以下命令启动 MidScene 的主界面pnpm dev 或者 npm run dev5、浏览器将自动打开http://localhost:3000你可以在这里构建场景。6、创建一个简单的脚本进入 MidScene 可视化界面点击 “New Scene”你可以通过拖拽组件创建步骤如点击、输入、等待等配置目标 URL、操作逻辑使用 AI 指令生成操作如输入“登录页面输入用户名并点击登录”生成的底层代码为 MidScene DSL类似于 JS 流程图2、命令行安装前置条件/运行前准备工作1系统要求Node.js v18 或以上2操作步骤1、配置模型全局变量我用的是Qwen如果需要其他别的模型具体看官方文档基本主流AI都支持# Choose a ModelAPI_key需在终端自动手动设置变量这里是权限问题设置后source保存一下Export OPENAI_API_KEY......2、安装midscene/clinpm i -g midscene/cli#or if you prefer a project-wide installationnpm i midscene/cli --save-dev3、写一个yaml文件xxx.yaml在 Web 浏览器中实现自动化(格式见官方文档):4、运行命令执行脚本midscene ./xxx.yaml全部 运行.yaml文件夹下的文件midscene /dir/of/yaml/5、Android 设备中通过 adb 连接android:launch: https://www.bing.comdeviceId: s4ey59tasks:name: search weatherflow:ai: open browser and navigate to bing.comai: search for weather todaysleep: 3000aiAssert: the result shows the weather info3、本地运行我用的是命令行的方式1因为我们公司本地都是通过本地ali VPN访问页面的所以需要在chrome安装一个插件并在桥状态处点击Allow connection

更多文章