1. 首页 > 电脑知识

Jupyter+大模型助力测试工程师:一键提升用例、分析与自动化, jupyter搭建

作者:admin 更新时间:2025-06-08
摘要:1. 环境准备(详细到每个小白都不会卡壳) 1.1 安装 Python(如果还没装) 推荐 Python 3.9-3.12,官网下载:Python 官网 安装好后,命令行输入:python --version pip --version 有正确输出即可。 1.2 安装 JupyterLab 打开命令行,输入:pip install jupyterlab 启动 JupyterLab(默认浏览器会自动,Jupyter+大模型助力测试工程师:一键提升用例、分析与自动化, jupyter搭建

 


1. 环境准备(详细到每个小白都不会卡壳)

1.1 安装 Python(如果还没装)

推荐 Python 3.9-3.12,官网下载:Python 官网 安装好后,命令行输入:

python --version pip --version

有正确输出即可。

1.2 安装 JupyterLab

打开命令行,输入:

pip install jupyterlab

启动 JupyterLab(默认浏览器会自动打开页面):

jupyter lab

1.3 安装大模型 SDK(以 OpenAI/DeepSeek 为例)

你需要有 DeepSeek/OpenAI 的 API Key(DeepSeek注册)。 安装依赖:

pip install openai

这里我们使用阿里云百炼大模型的deepseek。

(可选)安装 Jupyter AI 插件,支持 AI 代码自动生成:

pip install jupyter_ai

1.4 新建你的第一个 Notebook

在 JupyterLab 页面左上角点击【Python 3 Notebook】新建。 文件另存为 ai_test_demo.ipynb。


2. 配置 API 密钥与调用大模型(每一步都详细)

2.1 设置 API 密钥(安全不暴露)

在第一个单元格输入并运行:

import os from openai import OpenAI client = OpenAI( # 如果没有配置环境变量,请用百炼API Key替换:api_key="sk-xxx" # api_key='sk-xxx', api_key='sk-712a634dbaa7444d838d20b25eb938xx', # todo 此处需更换 base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" )

注意:不要把密钥硬编码在 Notebook 里,防止泄漏。


3. 大模型调用函数 & 单条用例体验

3.1 封装一个通用调用函数

在新单元格输入:

def call_deepseek_model(prompt,client): """ 输入 prompt,返回大模型的回复文本 """ reasoning_content = "" # 定义完整 思索 经过 answer_content = "" # 定义完整回复 is_answering = False # 判断是否结束 思索 经过并开始回复 # 创建聊天完成请求 completion = client.chat.completions.create( model="deepseek-r1", # 此处以 deepseek-r1 为例,可按需更换模型名称 messages=[ { 'role': 'user', 'content': f'提示词:{ prompt}'} ], stream=True, # 解除 下面内容注释会在 最后一个chunk返回Token使用量 # stream_options={ # "include_usage": True # } ) print(" " + "=" * 20 + " 思索 经过" + "=" * 20 + " ") for chunk in completion: # 如果chunk.choices为空,则打印usage if not chunk.choices: print(" Usage:") print(chunk.usage) else: delta = chunk.choices[0].delta # 打印 思索 经过 if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None: print(delta.reasoning_content, end='', flush=True) reasoning_content += delta.reasoning_content else: # 开始回复 if delta.content != "" and not is_answering: print(" " + "=" * 20 + "完整回复" + "=" * 20 + " ") is_answering = True # 打印回复 经过 print(delta.content, end='', flush=True) answer_content += delta.content return answer_content

3.2 体验一次 AI 生成

prompt = "请生成3条针对用户注册接口的边界用例,包含输入和预期输出。" result = call_deepseek_model(prompt, client) print(result)

效果:你会看到 AI 自动产出结构化的用例描述。


4. 用 Jupyter 批量自动生成测试用例

4.1 准备批量用例主题

test_prompts = [ "请生成5条针对登录接口正常流程的测试用例,内容结构化。", "请生成3条针对密码找回接口的异常场景测试用例。", "请用中英双语各写2条输入校验用例,适用于邮箱注册。" ]

4.2 批量调用并保存 结局

import pandas as pd results = [] for idx, prompt in enumerate(test_prompts): output = call_deepseek_model(prompt, client) results.append({ "主题": prompt, "AI生成用例": output}) df = pd.DataFrame(results) df.to_csv("ai_testcase_batch.csv", index=False) df

技巧:用表格保存,方便团队复用和后期维护。


5. AI 辅助生成自动化测试脚本

5.1 用 Jupyter AI 插件一步生成代码

在 Notebook 新单元格输入:

%%ai gpt-3.5 --for t=code 请生成一个 pytest 测试函数,校验接口 https://api.xxx.com/login 对错误密码返回 code=401

效果:AI 会自动返回如下代码,直接可用:

import requests def test_login_wrong_password(): url = "https://api.xxx.com/login" data = { "username": "testuser", "password": "wrongpass"} response = requests.post(url, json=data) assert response.status_code == 401 assert response.json().get("code") == 401

注意:你也可以让 AI 生成多条、不同接口、不同断言的自动化脚本,大大提升脚本开发速度。


6. 批量执行自动化用例并统计 结局

6.1 执行所有 AI 生成的用例(举例)

假设你已把用例脚本存为 test_ai_api.py,在命令行运行:

pytest test_ai_api.py -- xfail=3 --disable-warnings -q

6.2 在 Notebook 中可视化 结局

如果用例执行 结局已收集到 DataFrame,可直接画图:

import tplotlib.pyplot as plt result_df = pd.read_csv("ai_testcase_batch.csv") # 假设有 status 字段 # 这里演示构造数据 result_df["status"] = ["PASS", "FAIL", "PASS"] pass_count = result_df["status"].value_counts().get("PASS", 0) fail_count = result_df["status"].value_counts().get("FAIL", 0) plt.bar(["PASS", "FAIL"], [pass_count, fail_count], color=["green", "red"]) plt.title("AI自动化用例执行 结局统计") plt.ylabel("用例数") plt.show()

7. AI 辅助日志分析与异常定位

7.1 收集日志,AI 帮你归因

with open("error.log", "r") as f: log_content = f.read() # 让 AI 分析 prompt = f"请分析 下面内容测试日志,列出主要异常类型和可能 缘故: { log_content}" ysis = call_deepseek_model(prompt, x_tokens=600) print( ysis)

8. 多语言、多格式用例自动生成

8.1 一句话让 AI 生成多语言测试内容

prompt = "请用英文和法文各写一条针对搜索接口的边界条件测试用例,结构化输出" result = call_deepseek_model(prompt, client) print(result)


9. 团队协作与 智慧沉淀

9.1 Notebook+Git 管理团队测试资产

在 JupyterLab 页面点击【Terminal】,用如下命令初始化 Git 仓库:

git init git add . git commit -m "初始提交:AI测试用例与自动化脚本"

推送到远程仓库,团队成员可直接拉取、复现所有流程。

9.2 用 requirements.txt 或环境导出,确保依赖一致

在终端输入:

pip freeze > requirements.txt

任何人拿到 Notebook 和 requirements.txt,

pip install -r requirements.txt

即可一键复现环境。


10. 常见 难题与避坑指南

难题或场景 解决 技巧
API Key 泄漏风险 只用 getpass 或环境变量输入,绝不明文写在 Notebook
大模型调用频率限制 批量用例时加延时(如 time.sleep(1)),防止被限流
Notebook 卡死或崩溃 不要单元格批量生成超大数据,分批处理/分文件保存
AI 生成代码不符合预期 明确详细需求,补充“结构化输出”或“代码风格”等提示
团队环境不一致 用 requirements.txt/Conda 环境统一依赖

11. 进阶技巧与最佳 操作

用 Papermill 自动化批量 Notebook 运行,适合定时任务、回归测试。 用 JupyterLab 插件(如 Table of Contents、Variable Inspector)提升 Notebook 可读性和可维护性。 结合 JupyterHub 或 Binder 部署团队级 Notebook 服务,无需本地安装,随时协作。 用 AI 自动生成文档、报告、 智慧库,让测试经验沉淀下来。


拓展资料&行动建议

环境准备:确认 Python、JupyterLab、大模型 SDK 均装好。 API 配置安全:优先用 getpass 或环境变量。 用 Notebook 做到:AI 批量生成用例→自动化执行→一键分析 结局。 团队协作:所有 Notebook、脚本、数据、环境文件统一用 Git 和 requirements.txt 管理。 持续复盘:遇到 难题及时反馈优化 prompt,让 AI 成为你的生产力伙伴。


现在就打开 JupyterLab,照着 这篇文章小编将每一步去 操作,你会发现——AI + Jupyter,让测试工程师的效率和 创新力直线上升!

测试自动化不是梦,智能化时代已来临。 希望兄弟们成为团队最会玩的测试 AI 工程师!


补充资料

Jupyter 官方文档 Jupyter AI 项目 DeepSeek API 文档 Papermill 自动化 Notebook 运行


如需详细 Notebook 示例文件或遇到实际 难题,欢迎留言交流!