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

如何注册国外网站seo解释

如何注册国外网站,seo解释,豆瓣 wordpress,附近广告制作店在前面分块文章中,只对需求文档的分块策略进行了设计,主要是固定长度滑块进行分块。但在实际调试中发现,接口文档的分块会有所不同,如果采用与需求文档相同的方法,会导致接口内容切割到不同的块中,导致内容…

在前面分块文章中,只对需求文档的分块策略进行了设计,主要是固定长度+滑块进行分块。但在实际调试中发现,接口文档的分块会有所不同,如果采用与需求文档相同的方法,会导致接口内容切割到不同的块中,导致内容不完整,大模型返回的结果自然也不会完整。
下面详细来说明,在测试用例设计过程中,需求文档和接口文档是两类重要的输入来源。由于文档内容的长度和结构复杂性,直接处理文档可能导致信息丢失或模型生成结果不完整。本文将介绍如何为需求文档和接口文档选择合适的分块策略,重点实现针对接口文档(如 .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/287214.html

相关文章:

  • 做废铝的关注哪个网站好bt最佳磁力搜索引擎
  • php网站广告管理系统百度首页推广
  • 如何知道自己网站租用的服务器去大连seo网站推广
  • 宁陵做网站的公司宁波seo快速优化平台
  • 网站如何做线下推广app推广拉新渠道
  • 保定网站seo技术云南网络推广
  • 工业信息化部网站备查询百度普通下载
  • 襄樊市网站建设公司2023新闻摘抄大全
  • 网络营销模式的有形收益包括免费seo刷排名
  • wordpress网站设计推广普通话内容
  • 网站怎样做推广计划爱链网中可以进行链接买卖
  • 东莞网站建设兼职产品推广怎么做
  • 装饰公司做网站宣传的是个好处网页设计制作网站教程
  • 替人做赌彩网站被判刑宁波seo在线优化方案
  • 市场营销公司排名天津seo外包团队
  • 网站建设论文基础摘要360公司官网首页
  • 网站风格介绍域名查询138ip
  • 建设个直播网站要多少钱网站推广和优化的原因
  • 做衣服视频有些什么网站河南靠谱seo电话
  • 无锡做网站哪个公司好2023网站seo
  • 中国工商注册网官网入口安卓优化大师官网
  • 深圳外贸商城网站建设seo是怎么优化推广的
  • 手机wap网站特效百度关键词seo优化
  • 涟水做网站事件营销成功案例
  • java项目网站开发搜索引擎排名2022
  • 住房和城乡建设部干部学院网站电脑学校培训
  • 深圳网站建设网络推广在线网页制作系统搭建
  • 为什么在百度搜不到我的网站广州头条新闻最新
  • 南昌做网站建设公司电商平台运营
  • 如何做360网站的排名申请网站怎样申请