整合分块请求大模型返回的测试用例及小工具显示bug修复

在之前的分块发送需求数据给大模型进行测试用例生成时,由于数据结构的改变,需要对分块的回复进行整合,正确的整合是保障系统稳定性和功能正确性的核心。随着测试需求的复杂化,这对测试工程师提出了更高的整合和管理要求。本文将为初学者详细介绍如何利用 Python 整合分块请求大模型返回的测试用例数据,并通过逻辑清晰的代码实现高效汇总,帮助你快速上手大模型生成的测试用例处理。


背景问题:分块测试用例数据的整合难点

在实际工作中,大型测试用例数据可能由于接口限制、网络传输或系统设计的原因以分块形式返回。例如:

  1. 每次请求返回部分测试用例数据。
  2. 数据块之间可能存在重复或不连续的序号。
  3. 测试用例需要按照特定逻辑(如序号顺序)重新排列。

如何正确地提取、整合并排序这些分块数据是一项挑战。特别是对于大模型生成的测试用例,结构化数据的处理显得尤为重要。


解决方案:Python 整合测试用例数据

下面是一段 Python 代码,它能够高效提取多个分块中的测试用例数据,并按照序号顺序整合成一个完整的 JSON 数据结构。实际分块后的返回数据如下所示,一般可能是json数据结构之后又会夹杂一些思考过程的数据,通过re进行正则匹配可能是一个比较好的解决办法,具体实现代码如下所示:

代码实现
import json
import re

str1 = """
多次请求后的汇总数据: #```json
[
  {
    "case_id": "TC_001",
    "case_name": "验证有效用户ID获取用户信息功能",
    "priority": "High",
    "pre_condition": "用户ID 123存在于系统中",
    "steps": [
      "发送GET请求到/users/123",
      "检查响应状态码是否为200",
      "验证响应体包含id=123和name=John"
    ],
    "expected_result": "返回正确的用户信息且数据结构完整",
    "test_data": {
      "user_id": 123
    },
    "test_type": "Functional"
  }]
# ```
该测试套件设计包含以下特点:
1. **多维覆盖**:涵盖功能、数据验证、安全、错误处理等多个测试类型
2. **边界处理**:包含参数类型校验、字符串长度边界等场景
3. **安全防护**:验证身份认证机制的有效性
4. **异常处理**:覆盖必填参数缺失、非法参数类型等异常场景
5. **数据驱动**:使用具体参数值验证业务规则
6. **可扩展性**:每个用例独立可执行,支持后续添加更多测试场景
7. **结果可验证**:每个步骤都包含明确的验证点
建议执行顺序按照优先级排序,先验证核心功能(High优先级),再覆盖其他场景。性能测试用例需要单独设计压测方案,建议使用工具进行并发测试。 # ```json
[
    {
        "case_id": "TC_001",
        "case_name": "验证使用有效商品ID删除商品时返回204并确认删除成功",
        "priority": "High",
        "pre_condition": "商品ID 789存在且用户已获得授权",
        "steps": [
            "发送DELETE请求到/products/789",
            "检查响应状态码是否为204",
            "发送GET请求到/products/789",
            "检查GET请求响应状态码是否为404"
        ],
        "expected_result": "DELETE请求返回204且后续GET请求确认商品不存在",
        "test_data": {
            "id": 789
        },
        "test_type": "Functional"
    }
]
# ```
"""


def extract_json_objects(text):
    """
    获取回复中的json字符串并进行整合
    """
    json_objects = []
    matches = re.findall(r'```json\s*([\s\S]*?)```', text, re.DOTALL)
    for match in matches:
        tr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python测试之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值