当前位置: 首页 > wzjs >正文

怎样做网站推广网站开发确认函

怎样做网站推广,网站开发确认函,网站做优化效果怎么样,wordpress ui框架在前面分块文章中,只对需求文档的分块策略进行了设计,主要是固定长度滑块进行分块。但在实际调试中发现,接口文档的分块会有所不同,如果采用与需求文档相同的方法,会导致接口内容切割到不同的块中,导致内容…

在前面分块文章中,只对需求文档的分块策略进行了设计,主要是固定长度+滑块进行分块。但在实际调试中发现,接口文档的分块会有所不同,如果采用与需求文档相同的方法,会导致接口内容切割到不同的块中,导致内容不完整,大模型返回的结果自然也不会完整。
下面详细来说明,在测试用例设计过程中,需求文档和接口文档是两类重要的输入来源。由于文档内容的长度和结构复杂性,直接处理文档可能导致信息丢失或模型生成结果不完整。本文将介绍如何为需求文档和接口文档选择合适的分块策略,重点实现针对接口文档(如 .xlsx.yml.json)的基于内容的分块方法,确保接口数据完整性。此外,还将说明如何选择日志文件的分块策略,并提供基于常用设计方法的提示词模板,帮助测试工程师快速生成高覆盖率的测试用例。


1. 需求文档与接口文档的分块差异性

1.1 需求文档的特点

  • 多为自然语言描述:需求文档通常包含功能说明、业务流程、边界条件等,以段落或标题为主。
  • 上下文关联强:文档内容之间存在较强的逻辑关联,适合按固定长度或滑动窗口分块,保证上下文连续性。
  • 分块目标:避免文本过长导致模型输入超限,同时保留逻辑连贯性。

1.2 接口文档的特点

  • 结构化内容为主:接口文档以接口定义为核心,包含接口名称、请求方法、URL、参数、响应格式等。
  • 接口独立性强:每个接口的定义相对独立,适合基于内容分块。
  • 分块目标:确保接口定义完整,避免将接口数据拆分到不同的块中。

1.3 分块策略总结

文档类型分块策略理由
需求文档固定长度分块 + 滑动窗口分块适合长文本,保留上下文逻辑,适合自然语言描述的需求文档。
接口文档基于内容分块接口独立性强,分块时保证接口定义完整。
日志文件固定长度分块日志通常为时间序列数据,按固定长度分块便于处理和分析。

2. 接口文档的基于内容分块实现

接口文档可能以不同格式(如 .xlsx.yml.json)提供,因此需要针对各类文档设计专属的分块方法,以保证接口定义的完整性。

2.1 分块目标

  • 保证每个接口的定义不被拆分到不同的块中。
  • 分块后每个块的大小尽可能接近模型的输入限制。

2.2 实现代码

2.2.1 处理 .xlsx 接口文档

.xlsx 文档通常包含表格形式的接口定义(包含列:接口名称、请求方法、URL、参数等)。以下代码实现基于内容分块:

import pandas as pddef chunk_xlsx(file_path, max_chunk_size=1000):"""将 .xlsx 接口文档按接口定义分块,确保接口数据完整。参数:- file_path (str): .xlsx 文件路径- max_chunk_size (int): 每个分块的最大字符数返回:- list: 分块后的接口定义列表"""df = pd.read_excel(file_path)chunks = []current_chunk = ""current_size = 0for _, row in df.iterrows():row_content = row.to_json(force_ascii=False)  # 将行内容转换为 JSON 字符串row_size = len(row_content)if current_size + row_size > max_chunk_size:chunks.append(current_chunk)current_chunk = row_contentcurrent_size = row_sizeelse:current_chunk += "\n" + row_contentcurrent_size += row_sizeif current_chunk:chunks.append(current_chunk)return chunksif __name__ == '__main__':file_path = '接口文档.xlsx'chunk_result = chunk_xlsx(file_path)for chunk_ in chunk_result:print(chunk_)

示例excel接口文档如下图所示:

在这里插入图片描述

基于内容分块,可以在最大限度情况下,保证接口数据的完整性。运行效果如下图所示:
在这里插入图片描述


2.2.2 处理 .yml 接口文档

.yml 文档通常以缩进格式定义接口,以下代码按接口的根级块进行分割:

import yamldef chunk_yaml(file_path, max_chunk_size=1000):"""将 .yml 接口文档按接口定义分块,确保接口数据完整。参数:- file_path (str): .yml 文件路径- max_chunk_size (int): 每个分块的最大字符数返回:- list: 分块后的接口定义列表"""with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)chunks = []current_chunk = ""current_size = 0if isinstance(data, dict):for key, value in data.items():interface_content = yaml.dump({key: value})  # 将单个接口块转为字符串interface_size = len(interface_content)if current_size + interface_size > max_chunk_size:chunks.append(current_chunk)current_chunk = interface_contentcurrent_size = interface_sizeelse:current_chunk += "\n" + interface_contentcurrent_size += interface_sizeelif isinstance(data, list):for data_ in data:for key, value in data_.items():interface_content = yaml.dump({key: value}, allow_unicode=True)  # 将单个接口块转为字符串interface_size = len(interface_content)if current_size + interface_size > max_chunk_size:chunks.append(current_chunk)current_chunk = interface_contentcurrent_size = interface_sizeelse:current_chunk += "\n" + interface_contentcurrent_size += interface_sizeif current_chunk:chunks.append(current_chunk)return chunksif __name__ == '__main__':chunk_list = chunk_yaml('test_file.yml')for chunk in chunk_list:print(chunk)print('------------------')

yml文件示例:

在这里插入图片描述
根据内容分块的结果存在接口数据被切割在不同块中,仍需优化:
在这里插入图片描述


2.2.3 处理 .json 接口文档

对于 .json 接口文档,通常为接口定义的数组,可以按每个接口对象分块:

import jsondef chunk_json(file_path, max_chunk_size=1000):"""将 .json 接口文档按接口定义分块,确保接口数据完整。参数:- file_path (str): .json 文件路径- max_chunk_size (int): 每个分块的最大字符数返回:- list: 分块后的接口定义列表"""with open(file_path, 'r', encoding='utf-8') as file:data = json.load(file)chunks = []current_chunk = ""current_size = 0for interface in data:interface_content = json.dumps(interface, indent=2, ensure_ascii=False)interface_size = len(interface_content)if current_size + interface_size > max_chunk_size:chunks.append(current_chunk)current_chunk = interface_contentcurrent_size = interface_sizeelse:current_chunk += "\n" + interface_contentcurrent_size += interface_sizeif current_chunk:chunks.append(current_chunk)return chunksif __name__ == '__main__':file_path = 'test345.json'chunk_list = chunk_json(file_path)for chunk_ in chunk_list:print('---------------------')print(chunk_)

json文件示例如下:
在这里插入图片描述
基于内容分块的结果如下,可以较好的将接口内容保留完整。

在这里插入图片描述


3. 日志文件的分块策略

日志文件通常是时间序列数据,适合使用 固定长度分块 策略。以下是实现代码:

def chunk_logs(file_path, lines_per_chunk=100):"""将日志文件按行进行固定长度分块。参数:- file_path (str): 日志文件路径- lines_per_chunk (int): 每个分块的行数返回:- list: 分块后的日志内容列表"""chunks = []current_chunk = []with open(file_path, 'r', encoding='utf-8') as file:for line in file:current_chunk.append(line.strip())if len(current_chunk) >= lines_per_chunk:chunks.append("\n".join(current_chunk))current_chunk = []if current_chunk:chunks.append("\n".join(current_chunk))return chunks

4. 提示词模板:基于设计方法的接口用例生成

为了设计高覆盖率的接口测试用例,以下是基于常用设计方法的提示词模板:

你是一名资深接口测试工程师,擅长通过多种测试设计方法生成高质量的接口测试用例。  
请根据提供的接口文档设计测试用例,要求如下:  1. **正交分析法**:  
- 使用正交表生成参数组合,覆盖所有交互组合。  2. **边界值分析**:  
- 针对接口参数,测试极值(最小值、最大值、略大于/小于边界值)。  3. **等价类划分**:  
- 将参数划分为有效类和无效类,覆盖每个等价类。  4. **状态转换法**:  
- 测试接口的状态变化,包括合法和非法状态转换。  5. **输出要求**:  
- 格式:JSON  
- 字段:`case_id`, `case_name`, `priority`, `pre_condition`, `steps`, `expected_result`, `test_data`, `test_type`  
- 提供至少 5 个测试用例,覆盖正常情况、异常情况和边界情况。  

5. 总结

  1. 需求文档与接口文档的分块差异

    • 需求文档适合固定长度分块和滑动窗口分块,保证逻辑连贯性。
    • 接口文档适合基于内容分块,确保接口定义完整。
  2. 实现代码

    • 提供了 .xlsx.yml.json 接口文档的基于内容分块代码。
    • 日志文件采用固定长度分块,便于时间序列分析。
  3. 高覆盖率提示词

    • 基于正交分析法、边界值分析等常用方法设计测试用例,确保覆盖率高。

通过本文的策略和代码,测试工程师可以更高效地处理长文档内容,设计出高质量的接口测试用例。基于分块策略的优化,将对Deepseek API+Python 测试用例一键生成与导出小工具进行优化。希望可以取得较好的效果~加油

http://www.dtcms.com/wzjs/547870.html

相关文章:

  • 在线做头像的网站手机网站排名怎么做
  • 怎么在百度上做公司网站免费设计软件下载
  • 佛山seo网站推广网站策划方案目标
  • 如何网站托管手机网站免费建设排行
  • 做采集网站的方法做app网站公司名称
  • 广东中山网站建设什么网络游戏比较好玩
  • 杭州网站制作建设php网站代做是什么意思
  • 怎样做网站呢wordpress插件收录
  • 网站开发实训报告金华企业网站建设公司
  • 专做奢侈品品牌的网站甘肃网站建设专家
  • wordpress 汉化模版枫树seo
  • 网站搭建本地环境线上推广计划
  • 关于网站建设的建议征集公司网站开发的工作内容
  • 如何注销网站备案号农产品网站建设策划书范文
  • 商丘市有没有做网站百度收录网站但首页快照不更新
  • 保定市建设施工许可证查询网站柯桥建设局网站首页
  • 最专业的网站建设推广wordpress接入微信登录
  • 企业网站建设需要哪些步骤网站建设的基本步奏
  • 手机网站判断跳转代码怎么搭建个人网站
  • 网站建设什么因素最重要如何做中英文切换的双语网站
  • 盐城企业网站建设长沙网站优化方案
  • 网站建设的经济效益网页设计建站
  • 国外网站排名 top100黑龙江做网站的公司
  • iis 网站启动不了中国城乡住房和建设部网站首页
  • 花都网站建设哪家好网络运营专业的有关大学
  • .net 导航网站模板wordpress文章字体插件
  • 做IP授权的一般看什么网站wordpress 欢迎插件
  • 怀化建设企业网站上海网站建设排名
  • 营销型网站需要注意免费空间访问
  • 重庆营销型网站如何做kindle电子书下载网站