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

AIGC(生成式AI)试用 32 -- AI做软件程序测试 3

    总结之前的AI做程序测试过程,试图优化提问方式,整合完成的AI程序测试提问,探索更多可能的AI测试
    AIGC(生成式AI)试用 30 -- AI做软件程序测试 1
    AIGC(生成式AI)试用 31 -- AI做软件程序测试 2

  • 总结

    - 条理化、简单化
       需求描述的越条理、每个句子越简短,AI所产出的回复结果越准确
    - 层次化、渐进式,人与AI和谐共生
      层次化、渐进式的提问似乎能够让AI做出更准确、有效的反馈 -- 所以一股脑的将大量需求提交AI并不可取,Agent应当分阶段的喂养
    - 强化异常分析和描述
      异常数据、场景、用例描述不足;正常的需求功能分析、数据准务、用例描述较为详细
    - 关于AI工具
      * 不同工具配合使用 + 深度思考 + 联网搜索;人、AI、其他工具,人机共生 
      * 二次封装,生成特定行业、特定业务的Agent
  • 整合AI程序测试提问过程,传给AI智能体,对比并评价结果

    - 需求
    - AI 提问
      > 需求测试
      > 功能点(功能测试大纲)
      > 列举测试数据
      > 测试用例

    - 整体程序测试输出结果说明
      > 需求测试
         * 同一问题,重复提问,均会对需求有新的分析、补充
         * 回复结果的描述格式越来越规整
         * 当然提问也越来越条理,结果推进提问方式的改进
      > 功能点(功能测试大纲)
         * 功能点并未与需求测试点一一对应
         * 测试点描述对需求测试点的覆盖较小
      > 测试数据
         * 分类依据更明确
         * 异常数据描述不足
      > 测试用例
         * 测试用描述简单
         * 异常用例描述不足 
    软件需求
    读入txt文件,过滤文件有关年记录
        0)读入txt文件
        1)以“。”,中文句号,为界区分一句,最小统计单位
        2)年格式:YYYY,4位
        3)输出:YYYY:所在句子内容
        4)说明
              -  一句中包含多个年的,以“,”,中文逗号连接
              - 剔除句中的非文字内容:换行符,非正常的标号等
              - 按行输出过滤到的有关年记录
    AI提问
       根据上述需求,完成以下测试内容
    1. 需求测试
       1)使用列表形式对软件需求进行分解、陈述
       2)指出需求定义中描述不清晰之处
       3)补充未明确定义的隐式需求
    2. 输出以上需求所要实现的功能列表、功能点
       1)输出以上需求的测试项和测试点,不需要标注测试预期结果
       2)输出样例,测试项:文本输入,测试点:1)非txt文件;2)大于1M的文件
       3)输出格式,表格形式输出:第1列为测试项,第2列为测试点
    3. 输出以上需求中可能的输入数据
    4. 输出以上需求的测试用例
       1)输出样例,序号、测试项、测试目的、测试数据、测试步骤、预期结果
       2)输出格式,表格形式输出
文心一言DeepSeek

一、需求测试

1. 需求分解(列表形式)

#

需求分解项

说明

1

输入文件格式

必须为txt格式文件

2

句子分割规则

以中文句号"。"为分隔符

3

年份格式定义

严格匹配4位连续数字(YYYY格式),如"2025"

4

输出格式要求

每行输出格式为"YYYY:所在句子内容",多个年份用中文逗号连接

5

数据清洗规则

需剔除换行符、非正常标点符号(如●、※等)

6

异常处理要求

需处理空文件、非文本文件、超大文件等边界情况

2. 需求描述不清晰之处

年份匹配规则不明确:

是否允许年份与其他字符粘连(如"2025年"中的"2025"是否有效)

是否需要排除非独立年份(如"12025"中的"2025"子串)

非正常标号定义模糊:

未明确需要剔除的特殊符号范围(如★、◆等装饰符号是否需要处理)

输出顺序未定义:

是否需要按年份排序输出,还是保持原文句子顺序

性能要求缺失:

未说明对超大文件(如100MB+)的处理要求

3. 补充隐式需求

编码兼容性:

需支持UTF-8/GBK等常见中文编码格式

性能要求:

默认处理不超过10MB文件,需明确超限处理策略

边界条件:

空文件应返回空输出而非报错

完全不含年份的文件应返回空结果

特殊格式处理:

需自动转换全角数字(如"2025")为半角格式

二、功能列表与测试项

1. 功能列表

功能模块

功能点描述

文件读取

支持txt格式文件输入,自动检测编码

文本解析

按中文句号分割句子,处理换行符

年份匹配

精确匹配4位连续数字,支持全角转换

数据清洗

过滤非文本字符,保留中文标点

结果输出

按"YYYY:句子"格式输出,多年份合并

2. 测试项与测试点(表格)

测试项

测试点

文本输入

1. 非txt文件
2. 大于1M的文件
3. 空文件
4. 特殊编码文件(如GB2312)

句子分割

1. 含换行符的句子
2. 连续句号
3. 句号在引号内

年份匹配

1. 有效年份(2025)
2. 无效格式(25, 2025年)
3. 子串干扰(12025)

数据清洗

1. 特殊符号(★, ◆)
2. 英文标点
3. 混合数字(202A5)

结果输出

1. 多个年份合并
2. 空结果输出
3. 特殊字符转义

三、可能的输入数据

  1. 正常数据:

    • 包含多个年份的连续文本(如:"2020年发生了疫情。2023年经济复苏。2025年预计...")

    • 混合标点符号的文本(如:"这是2025年!?;测试。")

  2. 边界数据:

    • 仅含单个年份的文本

    • 完全不含年份的文本

    • 超大文本文件(10MB+)

  3. 异常数据:

    • 二进制文件(如.exe)

    • 损坏的txt文件

    • 包含特殊编码的文本(如UTF-16)

四、测试用例(表格)

序号

测试项

测试目的

测试数据

测试步骤

预期结果

1

文本输入

验证非txt文件处理

输入.jpg图片文件

尝试读取文件

返回错误提示或拒绝处理

2

年份匹配

验证精确匹配规则

"2025, 2025年, 202A5"

运行年份检测

仅识别"2025"

3

数据清洗

验证特殊符号过滤

"这是★测试◆数据"

执行清洗操作

输出"这是测试数据"

4

结果输出

验证多年份合并规则

"2025年A事件。2026年B事件。"

运行处理并输出

"2025:2025年A事件。2026:2026年B事件。"

5

性能测试

验证大文件处理能力

生成10MB随机文本(含年份)

运行处理并计时

5秒内完成处理

五、测试样例说明

  1. 非txt文件测试

    • 测试目的:验证系统对非法文件类型的容错能力

    • 测试步骤:尝试读取.docx/.xlsx等非文本文件

    • 预期结果:应返回明确错误提示而非崩溃

  2. 特殊编码测试

    • 测试目的:验证编码兼容性

    • 测试数据:使用GB2312编码的txt文件

    • 预期结果:能正确解析中文内容

  3. 边界年份测试

    • 测试数据:"1999年,2000年,2100年"

    • 预期结果:仅识别"2000"为有效年份(根据需求定义)

### 根据需求输出如下测试内容:---

### **1. 需求测试**
#### 1.1 需求分解(列表形式)
| 序号 | 需求描述                                                                 |
|------|--------------------------------------------------------------------------|
| 0    | 读取`.txt`文件                                                          |
| 1    | 以中文句号“。”切分句子,作为最小统计单位                                |
| 2    | 识别句子中的四位数年份(格式`YYYY`)                                    |
| 3    | 输出格式:`YYYY: 句子内容`                                              |
| 4    | 补充说明:<br>- 一句含多个年份时,用中文逗号“,”连接年份<br>- 清洗句子中的非文字内容(换行符、异常符号) |

#### 1.2 需求不清晰之处
1. **年份格式**:未明确是否允许非纯数字(如“2023年”中的“年”字是否需要处理)。
2. **非文字内容**:未定义“非正常标号”的具体范围(如英文符号、特殊字符)。
3. **年份去重**:同一句子中重复的年份是否需要合并。
4. **编码要求**:未指定输入文件的编码格式(如UTF-8、GBK)。
5. **性能要求**:未说明大文件(如1GB)的处理能力。

#### 1.3 补充隐式需求
1. 年份应为纯数字(`YYYY`),忽略包含非数字的“年份”(如“二〇二三”)。
2. 清洗后的句子仅保留中文、数字、中文标点(句号、逗号)。
3. 同一句子中多个年份按出现顺序连接,无需去重。
4. 文件编码默认为UTF-8,支持其他编码需报错。
5. 输出结果按句子在原文件中的顺序排列。

### **2. 功能列表与测试点**
#### 2.1 测试项与测试点(表格形式)
| 测试项         | 测试点                                                                 |
|----------------|----------------------------------------------------------------------|
| 文件输入       | 1) 非`.txt`文件;2) 空文件;3) 超过1MB的文件                          |
| 句子分割       | 1) 多句号分割;2) 无句号的长文本;3) 句号后无内容                     |
| 年份识别       | 1) 有效四位数年份;2) 无效年份(如三位数、含字母);3) 混合格式年份   |
| 句子清洗       | 1) 去除换行符;2) 去除英文标点;3) 保留中文标点                       |
| 输出格式       | 1) 单一年份句子;2) 多年份句子;3) 无年份句子      

                  |

#### 2.2 样例(表格补充)
| 测试项         | 测试点                                                                 |
|----------------|----------------------------------------------------------------------|
| 文本输入       | 1) 上传`.doc`文件;2) 上传10MB的`.txt`文件                            |

### **3. 可能的输入数据**
| 类型       | 示例                                                                 |
|------------|----------------------------------------------------------------------|
| 有效输入   | `2023年冬奥会在北京举办。`                                           |
| 无效输入   | `年份为23或二〇二三。`                                               |
| 边界输入   | `句子无句号且包含2024和2025`                                         |
| 特殊符号   | `2023★春节\\n期间,2024年计划启动。`                                 |

### **4. 测试用例**
#### 4.1 样例用例(表格形式)
| 序号 | 测试项     | 测试目的                   | 测试数据                          | 测试步骤                         | 预期结果                         |
|------|------------|---------------------------|-----------------------------------|----------------------------------|----------------------------------|
| 1    | 文件输入   | 验证非`.txt`文件处理       | 上传`test.doc`                   | 1. 选择文件<br>2. 点击解析       | 提示“仅支持.txt文件”             |
| 2    | 年份识别   | 验证四位数年份提取         | `计划在2023和2024年完成。`       | 解析文件并输出                   | `2023,2024: 计划在2023和2024年完成` |

#### 4.2 完整用例(表格补充)
| 序号 | 测试项     | 测试目的                   | 测试数据                          | 测试步骤                         | 预期结果                         |
|------|------------|---------------------------|-----------------------------------|----------------------------------|----------------------------------|
| 3    | 句子清洗   | 验证特殊符号过滤           | `2023★春节\\n期间,2024年计划。` | 解析并清洗句子                   | `2023,2024: 春节期间,2024年计划` |
| 4    | 输出格式   | 验证无年份句子跳过         | `该项目暂无明确时间。`            | 解析文件并输出                   | 无输出                           |

---

### **说明**
- **输入数据**需覆盖有效、无效、边界值场景。
- **测试用例**需按功能点优先级排序(如文件输入>年份识别>句子清洗)。

  • 历次AI提问及结果对比

 

http://www.xdnf.cn/news/2519.html

相关文章:

  • git提交规范记录,常见的提交类型及模板、示例
  • 【音视频】SDL简介
  • 算法题(135):唯一的雪花
  • 大数据系列 | 日志数据采集工具Logstash的架构分析及应用
  • 微信小程序导航栏
  • C++STL(九) :bitset的介绍与使用
  • MCP介绍与使用
  • 第二部分:网页的妆容 —— CSS(上)
  • OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理
  • 神经网络预测评估机制:损失函数详解
  • adb devices 报权限错误
  • 文件缓冲区(IO与文件 ·III)(linux/C)
  • 使用 malloc 函数模拟开辟一个 3x5 的整型二维数组
  • 基于QT(C++)实现(GUI)旅行查询与模拟系统
  • Python3 (13)循环语句
  • Java SE(3)——程序逻辑控制,输入输出
  • MySQL的锁(InnoDB)【学习笔记】
  • PlatformIO 入门学习笔记(二):开发环境介绍
  • Matlab算例运行
  • MCU ADC参考电压变化怎么办?
  • JS 中call、apply 和 bind使用方法和场景
  • 犬面部检测数据集VOC+YOLO格式987张1类别
  • ST-LINK/V2调试仿真器的接口定义
  • 计算机组成原理系列3--存储系统
  • 【QT】QT多线程
  • PMO 阶段性工作成果报告
  • 【C++QT】Layout 布局管理控件详解
  • STM32标准库和HAL库SPI发送数据的区别-即SPI_I2S_SendData()和HAL_SPI_Transmit()互换
  • 2025系统架构师---事件驱动架构
  • 开源|上海AILab:自动驾驶仿真平台LimSim Series,兼容端到端/知识驱动/模块化技术路线